PF 設定-頻寬控制

一般來說這種頻寬控管的rule都很像,先把水管大小訂出來,然後再配合firewall的rule,決定哪些packet要走哪條水管。例如下面就訂了兩條水管:

altq on $extdev cbq bandwidth 3Mb queue {def_ext, www_limit}
queue def_ext cbq(default)
queue www_limit bandwidth 300Kb cbq(red)

在$extdev上面先定一條3Mb的水管,下面再分了兩條水管:def_ext、www_limit,www_limit限流300Kb,def_ext沒有限制。altq支援兩種queue scheduler:CBQ和PRIQ,CBQ可以定頻寬寬度,PRIQ則是定封包的優先權。queue下面還可以再分多個queue,這邊只分了兩個queue。
From:
http://www.openbsd.org/faq/pf/queueing.html
http://blog.dhchen.com/2005/03/27/83

繼續閱讀 »

Please follow and like us:

PF相關指令

#pfctl -e //啟動 PF
#pfctl -d //停用 PF
#pfctl -f /etc/pf.conf //重新載入 pf.conf 設定檔
為了防止 pf 規則寫錯:
pfctl -f 的時候不忘加上 ;sleep 10; pfctl -d
#pfctl -nf /etc/pf.conf //檢查 PF 語法是否正確 (未載入)
#pfctl -Nf /etc/pf.conf //僅載入 NAT 的設定檔
#pfctl -Rf /etc/pf.conf //僅載入防火牆的過濾設定檔

繼續閱讀 »

Please follow and like us:

PF設定編寫

因 pf 是last match,..所以順序錯了,就連不上網了
Macro:定義網路介面
Tables:管理 IP List
Options:選項設定
Traffic Normalization:通訊正常化
Queueing:(ALTQ)定義頻寬控制的進出
Translation:(NAT)定義封包轉換
Packet Filtering:定義防火牆規則

繼續閱讀 »

Please follow and like us: