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的配置