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