作業系統 - 打造家用防火牆的需求 by pfSense (四) 限流限速篇 - 電腦

前往內容


打造家用防火牆的需求 by pfSense (四) 限流限速篇

打造家用防火牆的需求 by pfSense (一) 簡介篇
打造家用防火牆的需求 by pfSense (二) 硬體和安裝篇
打造家用防火牆的需求 by pfSense (三) 基本設定篇

每當多人使用的網路環境,有人跑P2P又不知節制給它跑全速的時候
就可以聽到各個房間的哀號聲音不斷,這個時候道德勸說沒用的時候
都是幹聲連連,然後氣得想辦法去拔網路線,常常聽到外宿的抱怨
房東都是摳錢的,也不可能花個接近萬買台流量控制的IP分享器,
這個時候.............pfSense發揮的時刻來臨了


首先限流的概念要稍微說明一下,限流你必須先建立幾條不同的大小水管
例如一條大水管叫做1號,這條水管的能耐是500Kb/s
再建立一條小水管叫做2號,這條水管的能耐是50Kb/s
之後我們就可以建立一些規則,來規定進出的規則
建立某些port只能走大水管,某些port只能走小水管
例如BT和eMule只能走小水管,兩個流量加起來就是不能塞爆小水管 50kb/s的限制
或是PC1號和PC2號走大水管,PC3號PC4號走小水管之類的限制
就可以達到限制流量的功能

當然除了限制流量,還可以控制優先權,例如你可以把P2P port網路的優先權
把他調到最低,把WWW和TELNET這兩個網路優先權給調到最高,
那麼防火牆在分配的時候就會以WWW和TELNET為優先,這樣即使P2P上傳
開到爆也沒關係,因為它的網路使用優先權遠低於WWW和TELNET
如果是一般IP分享器,大家使用權利一樣,P2P一開,sessions數爆增,這個時候
當然P2P開幾百個連線,而你只開一個WWW或是只上一個BBS,當然頻寬會
搶輸人家


那麼本篇的重點著重在於調整網路的優先權,讓你可以P2P上傳開到爆,要使用網路
的時候也不會變慢,當然如果你要限制P2P的上傳流速也是可以的

1. 開啟 Firewall -> Traffic Shaper


2. 進入Wizard


3. 先調整上下傳頻寬,Inside請設定LAN,Outside設定WAN,上傳下載請自行設定
例如 2M / 512K 那麼設定 Downbload / 2048 , Upload 512


4. 設定VoIP的優先權,這個不是Skype,所以可以不用理他設定直接Next


5. 重頭戲,把P2P的使用權給降到最低,記得把eMule和BT給打勾


6. 網路遊戲優先使用頻寬,有需要的人設定吧!


7. 接下來是一般性的網路使用,至少把MSN,HTTP,DNS的priority給調到最高吧!


8. 調高HTTP和DNS


9. 簡單的配置,到這邊就完成摟,按下Finish就開始運作了


10. 接下來我們需要一些細部的微調,Firewall -> Traffic Shaper


11. 剛剛的精靈並沒有為我們設定打BBS的優先權,外國人大概不打B
所以我們得手動去增加TELNET的優先權


12.新增一個rule,要準備新增TELNET的進來的優先權,
設定Target如圖所示,In和Out的Interface分別設定WAN和LAN


13.下半部設定請把Destination改為LAN subnet,port都改成TELNET
最下方的描述就改成"m_Other TELNET inbound"


14.接下來準備新增TELNET出去的優先權
設定Target如圖所示,In和Out的Interface分別設定LAN和WAN (跟進來的相反)
至於Source的地方請設定LAN subnet


15. 下方設定一樣把port改成TELNET,下方的描述是"m_Other TELNET Outbound"


16. 接下來請在眾多的Rules找到eDonkey和BT的選項,倘若你的ED和BT有改port請在這邊修改
我的BT改到14422了,所以我修改port到14422


17. 最後修改完,可以看到有telnet的in,out bound,接下來我們要去修改水管大小,選Queues


18. 這一步是要把P2P的上傳流量給固定住,上面設定P2P上傳已經不影響網路使用了
但是如果還是想把P2P的流量給控制住,就進行這一步


19. 如圖所示,填入300Kb把P2P的上傳控制在300Kb (K一定要大寫)


20. 最後Apply Changes就大功告成啦! 恭喜你已經有一套流量控管的防火牆系統


21. 最後來檢查一下是不是真的有限制住流量,Status -> Queues


22. 我在qPenaltyUp這條水管設定300Kb,所以他的上傳怎麼樣都不會大於300Kb




以上可以做到了P2P開到爆不影響上網打B,而且也可以至接限制P2P的上傳
那萬一不知道人家用的P2P port怎麼辦?或是類似utorrent可以選擇random port該怎麼辦?
那就把整個IP限速吧! 在pfSense 1.01 Release裡面,針對IP限速沒有精靈可以用
必須手動,就是建立兩條水管,一進一出,把水管大小固定,然後規定那個IP只能夠由
這兩個水管進出,就可以達到限流.........但是怎麼那麼麻煩,不用怕啦!

pfSense 1.0.1-SNAPSHOT-12-14-2006 這個版本已經支援用精靈來限制IP流速
你可以在這裡抓到並安裝,一樣解壓縮燒成光碟安裝,這個版本除了有支援限流的精靈外,也把miniupnpd給內建了(可以開啟uPnP的好工具)
不過尚未Release出來,或許有些許bug (我用一段時間,還沒什麼大問題就是了)


截至目前為止我想大家最需要的功能已經寫完摟,pfSense還有很多特異功能可以玩
像是IPSec、PPTP、miniupnpd、Dual LAN、load balancer、transparaent proxy
無線基地台、網頁認證功能.......等等.......好多好多...........
我想就針對大家提出需求討論再看看什麼功能可以寫吧!
想不到 pfSense 越改越好
QoS 已經把常見的通訊協定都內建好了
管理者只要調整頻寬限制, 真是不錯咧

早期玩 pfSense, 不支援 NAT loopback 部份有點困擾
不知新版的有解沒?
Attack-max wrote:
想不到 pfSens...(恕刪)


當然要支援loopback.........不然pfSense沒的架設Web
想寫個blog也會很麻煩的

不過這個其實就算不支援,pfSense也有DNS fordwarder可以用
forwarder到自己內部的IP就好了

(早期最手工的方式........就是去修改每一台電腦的lmhost....電腦一多就累人了)

大學踐如狗,碩士滿街走,博士才能抖抖手
kidz大您好,您示範的是使用Live CD!裝在CF卡上(CF to IDE),也就是用CF
來模擬硬碟,請問可以在另闢小單元,指導一下 Embedded 版本的安裝方式嗎?

辛苦您囉
jamesanna wrote:
kidz大您好,您示...(恕刪)


好吧! 其實我使用embedded的版本跑pfSense的時候,會卡住,
我還找不出原因,所以才暫時用LiveCD版本,這是逼不得已的

不過現在兩個禮拜前,pfSense已經修復了squid的package
所以現在已經可以在pfSense跑squid了

所以建議流量大的,特別是服務十台二十台以上的電腦的
就直接找一顆小硬碟2GB的來裝pfSense,直接裝LiveCD版和squid就會很好用啦!
大學踐如狗,碩士滿街走,博士才能抖抖手
kidz大你好...
最近想要架一台有QoS的分享器來用
剛好看到這個好的教學~太感動了QQ
不過我依照教學的步驟做,遇到了幾個問題...

就是設定
1. 開啟 Firewall -> Traffic Shaper
2. 進入Wizard
3. 先調整上下傳頻寬,Inside請設定LAN,Outside設定WAN,上傳下載請自行設定
到這裡,我是2M/512K所以我打2048跟512,然後按Next
然後又回到了步驟2的地方...然後按Next到步驟3...在輸入2048、512又回到步驟2...
沒辦法再進一步的設定...

嗯...不知道是不是版本的問題...
想要下載pfSense 1.0.1-SNAPSHOT-12-14-2006這個版本
無奈那個連結已經斷了...QQ

不知道如何解決...好想要有QoS功能...~"~
foxy有辦法用pfSense對付嗎?
kidz wrote:
好吧! 其實我使用...(恕刪)


embedded的版本只要抓回 embedded版本
把xxx.img的檔案用physdiskwrite這類的工具寫入CF卡

另外使用embedded的版本跑pfSense的時候,看畫面開機開到一半會卡住
其實這時候畫面已經導向serial port
只需要連上COM1 並且設定速率為9600
就可以看到熟悉的畫面了

1頁 (共2頁)

前往




此文章的引用連結