当前位置:首页 > CN2资讯 > 正文内容

使用IPTABLES限制IP上传下载速度,如何用iptables限速?iptables 限速

3天前CN2资讯


怎样使用IPTABLES限制IP上传下载速度,如何用iptables限速?我们先来看范例:

iptables限制某IP的上传速度为1000KB/秒(8Mbps,流入服务器带宽),即在此IP所在的服务器或VPS上wget的速度

iptables -A FORWARD -m limit -d 208.8.14.53 --limit 700/s --limit-burst 100 -j ACCEPT 

iptables -A FORWARD -d 208.8.14.53 -j DROP


取消iptables限速:

iptables -D FORWARD -m limit -d 208.8.14.53 --limit 700/s --limit-burst 100 -j ACCEPT 

iptables -D FORWARD -d 208.8.14.53 -j DROP

 

限制某IP的上传速度为2000KB/秒(16Mbps,流入服务器带宽),即在此IP所在的服务器或VPS上wget的速度

iptables -A FORWARD -m limit -d 208.8.14.53 --limit 1400/s --limit-burst 100 -j ACCEPT 

iptables -A FORWARD -d 208.8.14.53 -j DROP


取消限制:

iptables -D FORWARD -m limit -d 208.8.14.53 --limit 1400/s --limit-burst 100 -j ACCEPT 

iptables -D FORWARD -d 208.8.14.53 -j DROP

如果要限制某IP下载速度(即网友通过网页下载的带宽/速度)参考

iptables -A FORWARD -s 208.8.14.36 -m limit --limit 700/s -j ACCEPT

iptables -A FORWARD -s 208.8.14.36 -j DROP

双向限制:

iptables -A FORWARD -m limit -d 208.8.14.53 --limit 2400/s --limit-burst 100 -j ACCEPT 

iptables -A FORWARD -d 208.8.14.53 -j DROP

iptables -A FORWARD -m limit -s 208.8.14.53 --limit 2400/s --limit-burst 100 -j ACCEPT 

iptables -A FORWARD -s 208.8.14.53 -j DROP

 

Iptables 的limit匹配ctohome.com大致介绍

限制匹配数据包的频率或速率,看清楚了,它是用来限制匹配的数据包的频率和速率的.这里“limit”这个词经常给别人“限制”的误解, 其实准确说,应该是“按一定速率去匹配”,至于“限制”还是“放行”是后面 -j 动作来实现的,limit 仅仅是个 match 模块,他的功能是匹配,匹配方式是按一定速率.


iptables的limit模块,目标是ACCEPT.当你设置300/s时,它大约每3ms发出一个令牌,获得令牌的包可以发出去,没有获得令牌的包只能等待下一个令牌到来,这样不会造成一些包丢失,更不会造成所谓“断线”的. 


以下2条是对icmp的burst限制

iptables -A INPUT -p icmp -m limit --limit 1/sec --limit-burst 10 -j ACCEPT

iptables -A INPUT -p icmp -j DROP


第一条ipables的意思是限制ping包每一秒钟一个,10个后重新开始.


同时可以限制IP碎片,每秒钟只允许100个碎片,用来防止DoS攻击.

iptables -A INPUT -f -m limit --limit 100/sec --limit-burst 100 -j ACCEPT



下面ctohome.com详细的讲述一下iptables的limit模块的功能:



限制 ping (echo-request) 传入的速度

限制前, 可正常每 0.2 秒 ping 一次

ping your.linux.ip -i 0.2


限制每秒只接受一个 icmp echo-request 封包

iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s --limit-burst 1 -j ACCEPT

iptables -A INPUT -p icmp --icmp-type echo-request -j DROP


--limit 1/s 表示每秒一次; 1/m 则为每分钟一次

--limit-burst 表示允许触发 limit 限制的最大次数 (预设 5)


再以每 0.2 秒 ping 一次, 得到的响应是每秒一次

ping your.linux.ip -i 0.2


下面规则亦可达到每秒只接受一个 echo-request 封包

iptables -N pinglimit

iptables -A pinglimit -m limit --limit 1/s --limit-burst 1 -j ACCEPT

iptables -A pinglimit -j DROP

iptables -A INPUT -p icmp --icmp-type echo-request -j pinglimit

iptables限速原理解释:

iptables limit 参数

· 限制特定封包传入速度

· 限制特定端口口连入频率

· iptables Log 记录参数备忘

· 自定 Chain 使用备忘

· 防治 SYN-Flood 碎片攻击

限制 ping (echo-request) 传入的速度

限制前, 可正常每 0.2 秒 ping 一次

ping your.linux.ip -i 0.2

限制每秒只接受一个 icmp echo-request 封包

iptables -A INPUT -p icmp –icmp-type echo-request -m limit –limit 1/s –limit-burst 1 -j ACCEPT

iptables -A INPUT -p icmp –icmp-type echo-request -j DROP

–limit 1/s 表示每秒一次; 1/m 则为每分钟一次

–limit-burst 表示允许触发 limit 限制的最大次数 (预设 5)

再以每 0.2 秒 ping 一次, 得到的响应是每秒一次

ping your.linux.ip -i 0.2

限制 ssh 连入频率

建立自订 Chain, 限制 tcp 联机每分钟一次, 超过者触发 Log 记录 (记录在 /var/log/messages)

iptables -N ratelimit

iptables -A ratelimit -p tcp -m state –state ESTABLISHED,RELATED -j ACCEPT  

iptables -A ratelimit -p tcp –syn -m limit –limit 1/m –limit-burst 1 -j ACCEPT

iptables -A ratelimit -p tcp -j LOG –log-level “NOTICE” –log-prefix “[RATELIMIT]”

iptables -A ratelimit -p tcp -j DROP

引用自订 Chain, 限制 ssh (tcp port 22) 连入频率

iptables -A INPUT -p tcp –dport 22 -s 192.168.0.0/16 -j ACCEPT (特定 IP 来源不受限制)

iptables -A INPUT -p tcp –dport 22 -j ratelimit


sshd_config 设定备忘:

· LoginGraceTime 30 密码输入时限为 30 秒

· MaxAuthTries 2 最多只能输入 3 次密码

同理可证

iptables -N pinglimit

iptables -A pinglimit -m limit –limit 1/s –limit-burst 1 -j ACCEPT

iptables -A pinglimit -j DROP

iptables -A INPUT -p icmp –icmp-type echo-request -j pinglimit

亦可达到每秒只接受一个 echo-request 封包

补充: 清除自订 Chain

iptables -L -n –line-number

iptables -D INPUT n

iptables -F ratelimit

iptables -X ratelimit

防治 SYN-Flood 碎片攻击

iptables -N syn-flood

iptables -A syn-flood -m limit –limit 100/s –limit-burst 150 -j RETURN

iptables -A syn-flood -j DROP

iptables -I INPUT -j syn-flood

模拟攻击

wget http:///tools/200102/naptha-1.1.tgz

wget ftp://rpmfind.net/linux/freshrpms/redhat/7.0/libnet/libnet-1.0.1b-1.src.rpm

tar -zxf naptha-1.1.tgz

rpmbuild –recompile libnet-1.0.1b-1.src.rpm

cp -r /var/tmp/libnet-buildroot/usr/* /usr/local/

cd naptha-1.1

make

./synsend your.linux.host.ip 80 local.host.eth0.ip 0.1

若成功抵挡, 不久后会出现 Can’t send packet!: Operation not permitted 的讯息

 

参考文章:http://www.ctohome.com/FuWuQi/b4/682.html

 

限速实例:


做限速 30M


[root@ip# iptables -nvL


Chain INPUT (policy ACCEPT 68254 packets, 5601K bytes)


 pkts bytes target     prot opt in     out     source               destination         


54014 2838K ACCEPT     all  --  *      *       10.248.0.0/16        0.0.0.0/0            limit: avg 500/sec burst 100


11727  626K DROP       all  --  *      *       10.248.0.0/16        0.0.0.0/0           


 


Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)


 pkts bytes target     prot opt in     out     source               destination         


 


Chain OUTPUT (policy ACCEPT 71217 packets, 273M bytes)


 pkts bytes target     prot opt in     out     source               destination         


69440  271M ACCEPT     all  --  *      *       0.0.0.0/0            10.248.0.0/16        limit: avg 500/sec burst 100


28013   96M DROP       all  --  *      *       0.0.0.0/0            10.248.0.0/16     


 


 


 iptables -A INPUT -s 10.248.0.0/16  -m limit --limit 500/s --limit-burst 100 -j ACCEPT


 iptables -A INPUT -s 10.248.0.0/16  -j DROP


 iptables -A OUTPUT -d 10.248.0.0/16  -m limit --limit 500/s --limit-burst 100 -j ACCEPT


 iptables -A OUTPUT -d 10.248.0.0/16  -j DROP


 


 


做测试 


 


[root@ip]# iperf3 -u -c 10.248.1.6  -b 30M -t 60


Connecting to host 10.248.1.6, port 5201


[  4] local 10.248.1.5 port 36025 connected to 10.248.1.6 port 5201


[ ID] Interval           Transfer     Bandwidth


[  4]   0.00-60.00  sec   225 MBytes  31.4 Mbits/sec


[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datagrams


[  4]   0.00-60.00  sec   225 MBytes  31.4 Mbits/sec  0.158 ms  44/28784 (0.15%)


[  4] Sent 28784 datagrams


 


 


[root@ip]# iperf3 -u -c 10.248.1.6  -b 35M -t 60


Connecting to host 10.248.1.6, port 5201


[  4] local 10.248.1.5 port 46370 connected to 10.248.1.6 port 5201


iperf3: error - unable to write to stream socket: Operation not permitted


 


[root@ipi# iperf3  -c 10.248.1.6   -t 60


Connecting to host 10.248.1.6, port 5201


[  4] local 10.248.1.5 port 47891 connected to 10.248.1.6 port 5201


[ ID] Interval           Transfer     Bandwidth       Retransmits


[  4]   0.00-60.48  sec   110 MBytes  15.3 Mbits/sec  20


[ ID] Interval           Transfer     Bandwidth       Retransmits


      Sent


[  4]   0.00-60.48  sec   110 MBytes  15.3 Mbits/sec  20


      Received


[  4]   0.00-60.48  sec   109 MBytes  15.2 Mbits/sec


 


 


    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/19359.html

    分享给朋友:

    “使用IPTABLES限制IP上传下载速度,如何用iptables限速?iptables 限速” 的相关文章

    中国电信CN2宽带价格表:为您解析最新资费与套餐选择

    在如今这个信息爆炸的时代,互联网已成为每个人生活中不可或缺的一部分。无论是工作、学习,还是娱乐、社交,高速稳定的网络连接都是必须的。对于许多用户来说,选择一家可靠的宽带运营商并挑选合适的套餐,是提升生活质量的重要一环。中国电信的CN2宽带,作为国内领先的宽带服务提供商之一,始终以高质量的网络体验和多...

    轻松玩转CN2网络:普通用户的最佳上网指南

    CN2网络是什么?它适合普通用户吗?在数字化时代,网络已经成为我们生活的一部分。无论是日常办公、娱乐还是学习,一个稳定、快速的网络连接都至关重要。而CN2网络,作为中国联通推出的一条高性价比国际网络线路,凭借其低延迟、高带宽的特点,迅速成为许多用户的首选。但对普通用户来说,CN2网络似乎仍然有些神秘...

    UCloud优:云计算服务平台的领先者与优势分析

    UCloud优的基本介绍 谈到UCloud,首先让我想起它成立的背景以及它是如何从一颗种子成长为今天的云计算巨头。UCloud,或者说优刻得科技股份有限公司,于当时顺应了数字化转型的浪潮。这是一个中立、安全的云计算服务平台,专注于为各行各业提供云服务。它的创立背景与各种市场需求紧密相连,尤其是企业对...

    甲骨文云免费申请详解:轻松获取免费云服务

    甲骨文云免费申请概述 当提到云服务的时候,甲骨文云绝对是一个值得关注的选项。甲骨文云(Oracle Cloud)是一项提供强大基础设施和服务的云计算平台,尤其在数据管理、分析和应用开发方面具有突出的优势。在这个日益数字化的时代,免费试用计划让用户能够亲自体验甲骨文云的强大功能,激起了很多人的好奇和兴...

    OVH 黑五促销活动详解:服务器折扣与购买指南

    OVH 黑五活动概述 在每年感恩节后的第一天,黑色星期五(Black Friday)成了一年中最大的购物盛事之一。它起源于美国,最初是零售商为了清理库存而设立的特价销售日。随着时间的推移,黑五的影响力逐渐扩展至全球,成为各种行业都参与的一次购物狂欢。对于消费者而言,这不仅是一次购物机会,更是寻找到心...

    银联卡购买:便捷与安全的消费体验

    在这个快速发展的支付时代,银联卡作为一种便捷的支付工具,已经逐渐渗透到我们的日常生活中。我常常发现自己在购物、旅行时,银联卡都能为我省去不少麻烦。通过这张小小的卡片,我可以轻松实现线上和线下消费,四处都能找到它的身影。 银联卡的发展背景十分丰富。自1994年银联成立以来,它不断扩大和完善自己的支付网...