2013年11月22日 星期五

pfsense與traffic shaper

由於最近m0n0wall一直當機,導致使用上會頻頻中斷,於是找了一下發現大家都推薦pfsense,於是就研究了一下想把m0n0wall升級,當然設定都還是移植過來。pfsense的硬體要求較高,使用空間也較大,另外啟動的時間比起m0n0wall相對長了許多,因此有些設定做了些修正。設定上並沒有甚麼不同,甚至防火牆的規則也比m0n0wall親切許多,預設就是開啟,不會再發生像我當初設定時怎麼設就是上不了網的情形。另外當機情形的確是減少了許多,功能上多了許多功能,而這次我新針對traffic shaper做了設定,由於內建的wizard可說是相當的簡略,所以列出以下需要注意的地方。我使用的是pfsense 2.1。


  • HFSC與CBQ都是可以將流量做分配,且在流量閒置時將效率最大化,而在需要時再分配回來,其中CBQ無法設定上限,HFSC則可以在分配比例之外設定一個上限值與保證流量。
  • 以HFSC來說有三個參數
    • uppertime:就是上面提到的上限值
    • realtime:保證最低流量
    • linkshare:這個值與bandwidth同義且會取代掉bandwidth的值
    • 另外之下的參數
      • m1,d:這邊是指burst的上限及時間,也就是說可以限制在連線建立的開始d時間(單位ms)內使流量上限提升至m1的值
      • m2:主要是看這個值,也就是最後的限制值
  • CBQ則是比較簡單,如果要將空餘頻寬分配出去則需勾選borrow選項
  • queue limit我是都設500,比較不會有drop的問題(設太小的話可能達不到設定的流量)
  • priority為1-7,同一階層不可重複
  • 另外需要注意的是firewall的設置,在建立好queue之後我們需要在firewall裡設置相對應queue的條件
    • 主要設置是在floating分頁,可以分為port,ip,protocol幾類來限定
    • 另外也需要在相對應的interface設定如wan,lan,pptp vpn
    • 如要定義上傳則設定在source(對pfsense來說為對client傳送來所以為source),下載則設定在destination
    • lan分頁則是上傳設在destination下載設在source反過來
    • 由於資料實在不是很齊,有人說不能設定VPN或是NAT之後的流量,不過我實測之後都是可以的
  • 最後TBR size,也是很重要的一環,一開始沒設想說用預設值結果導致HFSC無法處理大於35Mb的流量(會變成1:1)而失去動態分配的效果,後來嘗試之後設了12500這個值,最後圓滿達成任務


參考資料
http://www.mobile01.com/topicdetail.php?f=300&t=251395
https://forum.pfsense.org/index.php?topic=11986.0
http://forum.pfsense.org/index.php?topic=33950.0
http://forum.pfsense.org/index.php?topic=52377.0
http://forum.pfsense.org/index.php?topic=4800.0
http://www.hammerweb.com/blog/2011/09/traffic-shaper-in-pfsense-2-0/
http://forum.pfsense.org/index.php?topic=59577.0
https://calomel.org/pf_hfsc.html
http://forum.pfsense.org/index.php?topic=61106.0
http://www.openbsd.org/faq/pf/queueing.html#altq
http://manpages.ubuntu.com/manpages/precise/man7/tc-hfsc.7.html
http://forum.pfsense.org/index.php?topic=15516.0
http://blog.roodo.com/shishimaru/archives/9378463.html

沒有留言:

張貼留言