下午无事,研究了下IPTABLES对端口进行限速。一次成功!
原理:
每秒对特定端口进行速度控制,比如每秒超过10个的数据包直接DROP,从而限制特定端口的速度
语句案例:
-
这条语句是对转发到1.1.1.1的数据进行限制 iptables -A FORWARD -m limit -d 1.1.1.1 --limit 30/s --limit-burst 10 -j ACCEPT
-
这条语句是删除到1.1.1.1的转发,也就删除了端口限速 iptables -A FORWARD -d 1.1.1.1 -j DROP
首先当然是vi /etc/sysctl.conf文件,修改net.ipv4.ip_forward=0一行,改0改为1
然后service iptables stop
接着输入上面的语句,意思是对转发去1.1.1.1的的数据包,每秒超过30个的数据包(1个数据包是1.5KB,所以这里的速度大约是每秒45KB)进行丢弃,后面burst 10的意思应该是另外每秒最多给到10个包的突发。
service iptables save之后service iptables restart就可以了
NOTE:此方法仅实测成功用于端口转发的案例,单纯端口限速该语句并不能作用。
编写:Tami
转载请注明本地址