博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iptables 智能限速方案
阅读量:6281 次
发布时间:2019-06-22

本文共 1799 字,大约阅读时间需要 5 分钟。

网络分析与限速

网络现状:
允许所有的数据通信。网络可管理,需手动进行。租用的线路下载速度是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
本文转自holy2009 51CTO博客,原文链接:http://blog.51cto.com/holy2010/310790

转载地址:http://jeiva.baihongyu.com/

你可能感兴趣的文章
Redhat as5安装Mysql5.0.28
查看>>
通过TMG发布ActiveSync
查看>>
Web服务器的配置与管理(4) 配置访问权限和安全
查看>>
吉林出差所见、所闻、所感
查看>>
RHEL7修改root用户密码
查看>>
mysqldump导出 timestamp类型数据 时区偏差8小时
查看>>
我的友情链接
查看>>
中小型企业如ERP选型四大标准
查看>>
笔记——quota磁盘配额
查看>>
索引表批量数据装载
查看>>
@Value("#{}")与@Value("${}")的区别
查看>>
Zabbix邮件报警设置方法
查看>>
20145328 《信息安全系统设计基础》第6周学习总结
查看>>
C语言随笔_类型声明
查看>>
AIX或LINUX,通过华为存储V3上添加对应LUN组,分配存储资源
查看>>
监控mysql主从的脚本
查看>>
用phpmyadimn来连接管理多个数据库
查看>>
linux java 定时任务
查看>>
Linux守护进程(init.d和xinetd)
查看>>
bootstrap-进度条
查看>>