一步步教你用linux做能限速的路由器

得益於linux的開源和免費,越來越多的廠家用它來做防火牆和路由器,如海蜘蛛,飛魚星等,其實我們也可以用linux來打造一臺高性能的路由器.下面就以red hat爲例(其他版本大同少異)教大家做一臺能限速的路由.

   安裝linux如果是新手請安裝時安裝圖形桌面。

第一步:建立adsl連接,在系統設置——網絡設置處有。在圖形界面下很容易搞定。
第二步:打開IP轉發和僞裝(也就是路由與NAT)
1、作爲根用戶打開/etc/sysconfig/network文件,在文件增加以下一行:
GATEWAYDEV=PPP0    這句話的作用是設定默認路由,有時沒有也可
2、打開IP轉發功能:打開/etc/sysctl.conf文件,修改net.ipv4.ip_forward=0一行,改0改爲1
3、重啓系統
第三步,設置iptables防火牆,決定那些IP能通過linux主機上網。
下面以允許 192。168。0。0網段爲例:
1、打開終端在#字提示符下輸入以下命令:
iptables -t nat -I POSTROUTING -o ppp0 -j MASQUERADE   #這句意思是僞裝從pppo出去的IP 
iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT    #這句意思是轉發來自192。168。0。0網段的通訊
iptables -A FORWARD -d 192.168.0.0/24 -j ACCEPT    #這句意思是轉發到達192。168。0。0網段的通訊
iptables -A FORWARD -s ! 192.168.0.0/24 -j DROP   #這句意思是拒絕轉發非192.168.0.0網段的通訊。
2、保存以上防火牆規則,以保證重啓後還有效
 輸入下面命令
iptables-save > /etc/sysconfig/iptables
  
這樣,你的linux路由器應該就能跑起來了。
PS: 所有命令都要區分大小寫。

限速的實現:在linux中有專門限速的軟件--tc,但TC的語法新手難以掌握,我們可以在防火牆上通過限定某個IP或某段IP在一秒內通過的數據包的數量來限速。
下面以限制192。168。0。2這個IP的網速爲例說說。
在桌面環境下打開/etc/syscofngi/iptables 有沒有發現,剛纔的設定全記錄在這個文件裏,現在做的就在這個文件裏添加規則就得了。
1、先要找到filter
2、在filter下面一行增加以下兩行
-A FORWARD -m limit -d 192.168.0.2 --limit 30/sec -j ACCEPT  # 這句意思是限定每秒只轉發30個到達192。168。0。2的數據包(約每秒45KB 一個數據包是1.5KB)
-A FORWARD -d 192.168.0.2 -j DROP  #這句作用是超過限制的到達192.168.0.2的數據包不通過)

3、重啓系統,限速就實現了。
4、限制上傳速度也一樣,把上面兩條中的d 改爲s就得了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章