iptables 智能限速方案
生活随笔
收集整理的這篇文章主要介紹了
iptables 智能限速方案
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
網絡分析與限速<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 網絡現狀:允許所有的數據通信。網絡可管理,需手動進行。租用的線路下載速度是2M,上傳512K。 目的:達到網絡檢測的自動化,智能管理,保證網絡暢通無阻塞。 方法:根據IP地址進行數據包分析,通過腳本實現 要求:充分利用帶寬,對合理數據需要通過,不合理數據通信進行拒絕。 一:現在網絡存在以下弊端 P2P類軟件主要有: 下載類工具:迅雷,TT,Flashget, BT, 電騾,youtub……。 在線播放工具:PPLIVE ,PPS,沸點,酷我音樂盒,酷狗音樂……。 1.用戶下載過程若不用P2P下載,速度相對較慢。 網內若運行P2P下載軟件,沒有及時關閉,數據上傳功能會耗盡上傳帶寬,導致整個網絡速度變慢。 2.現在檢測網絡的方法是每天上班時間定時檢查四次,將網絡狀態發信到管理員信箱, 管理方法:發現網絡異常后,分析通信的數據,逐步篩選,一步步定位到通信量較大的IP,整個過程用時較長。 二:網絡管理常用的方法 1.對端口進行限制。 通過對端口進行封閉,來達到屏蔽P2P軟件的目的。 方法存在問題: 通過代理可繞過限制。 P2P軟件很多,需知道每個軟件所使用的端口號并逐個進行屏蔽。 P2P軟件越來越智能,可以自定義端口號,通過UPnp技術可以使用允許的端口進行上傳下載。 2.分析通信協議和數據包大小 通過對網絡進行查看,得到以下結論: 網絡變慢的原因大部分是由于P2P軟件在運行。 P2P軟件通信有一個共性:使用UDP協議,且每秒鐘發送的數據包都很大(每個數據包大小均超過100)每秒發送10個以上。 方案: 現在使用第二種方式,通過分析數據包協議和大小進行限制,對內網,校網間的通信進行允許策略。 針對對外網的通信,分析局域網用戶所使用的通信協議及單個數據包的大小。限制使用UDP協議的IP數據包大小為40。 保證: 為保證“限制腳本”的運行不會引起網絡故障(雖然之前已經分析過不會,為以防萬一)同時編寫了刪除“限制腳本”,恢復網絡正常運行的程序。 此限制有效的對P2P軟件進行的限制,不對IP進行限速,最大程度利用帶寬,根據P2P軟件的上傳數據包耗盡帶寬,進行包大小限制。 結論: 經檢測,達到的預期目的,內網,校網通信不受限制。可以都大程度利用帶寬。當有P2p軟件在運行時,不會造成網絡阻塞情況,達到了預期的目的。 腳本如下: #!/bin/bash
#limit network upload speed
for ((i=253;i>4;i--));
do
/sbin/iptables -I FORWARD -s 192.168.1.$i -j DROP
/sbin/iptables -I FORWARD -s 192.168.1.$i -m limit --limit 40/s -j ACCEPT
done /sbin/iptables -D FORWARD -s 192.168.1.40 -j DROP
/sbin/iptables -D FORWARD -s 192.168.1.40 -m limit --limit 40/s -j ACCEPT #accept inside network speed
/sbin/iptables -I FORWARD -d 192.168.1.0/24 -j ACCEPT
/sbin/iptables -I FORWARD -d 192.168.10.0/24 -j ACCEPT
/sbin/iptables -I FORWARD -d 192.168.3.0/24 -j ACCEPT
/sbin/iptables -I FORWARD -d 10.0.0.0/8 -j ACCEPT
/sbin/iptables -I FORWARD -d 210.32.0.0/20 -j ACCEPT
/sbin/iptables -I FORWARD -d 210.32.128.0/18 -j ACCEPT
/sbin/iptables -I FORWARD -d 222.205.0.0/17 -j ACCEPT
#limit network upload speed
for ((i=253;i>4;i--));
do
/sbin/iptables -I FORWARD -s 192.168.1.$i -j DROP
/sbin/iptables -I FORWARD -s 192.168.1.$i -m limit --limit 40/s -j ACCEPT
done /sbin/iptables -D FORWARD -s 192.168.1.40 -j DROP
/sbin/iptables -D FORWARD -s 192.168.1.40 -m limit --limit 40/s -j ACCEPT #accept inside network speed
/sbin/iptables -I FORWARD -d 192.168.1.0/24 -j ACCEPT
/sbin/iptables -I FORWARD -d 192.168.10.0/24 -j ACCEPT
/sbin/iptables -I FORWARD -d 192.168.3.0/24 -j ACCEPT
/sbin/iptables -I FORWARD -d 10.0.0.0/8 -j ACCEPT
/sbin/iptables -I FORWARD -d 210.32.0.0/20 -j ACCEPT
/sbin/iptables -I FORWARD -d 210.32.128.0/18 -j ACCEPT
/sbin/iptables -I FORWARD -d 222.205.0.0/17 -j ACCEPT
?
轉載于:https://blog.51cto.com/liguxk/155499
總結
以上是生活随笔為你收集整理的iptables 智能限速方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VB.NET循环体内的局部变量
- 下一篇: telnet与ssh的配置