2023-09-09

openwrt通过iptables限制连接数,限制P2P下载

作者 万有引力

官方固件可以在线装的,这个包 iptables-mod-conntrack-extra
网页管理,软件包里装,或者 SSH里 opkg update
opkg install iptables-mod-conntrack-extra
iptables 命令里 connlimit-above 前面是 2个横杠
iptables -I FORWARD -p tcp -s XXX.XXX.XXX.XXX -m connlimit --connlimit-above 50 -j REJECT
在网上找了个代码:
iptables -I FORWARD -p tcp -s XXX.XXX.XXX.XXX -m connlimit –connlimit-above 50 -j REJECT

但是执行的时候出错:
iptables v1.8.7 (legacy): Couldn't load match `connlimit':No such file or directory

我用的是官方的 openwrt-21.02.3-x86-64-generic-ext4-combined 固件,请问 connlimit模块 怎么安装呢?
或者有现成的软件包可以安装吗?
https://www.right.com.cn/forum/thread-8240576-1-1.html

https://blog.awei.me/openwrt-iptables-p2p/

最近发现开网页卡的受不了。然后检查了流量,上行和下行的流量还有很多剩余,但就是很卡。

经过排查,发现是室友“爱奇艺”建立了很多连接。导致其他设备无法建立新的连接。

查询后,发现可以用iptables限制连接数。

具体使用如下:

1、限制局域网内每个用户的连接数为50 iptables -I FORWARD -p tcp -m connlimit –connlimit-above 50 -j REJECT 2、限制指定局域网用户XXX.XXX.XXX.XXX的连接数为50 (这里的XXX.XXX.XXX.XXX改成大家要限制的用户的IP) iptables -I FORWARD -p tcp -s XXX.XXX.XXX.XXX -m connlimit –connlimit-above 50 -j REJECT 这里举个例子,比如要限制192.168.1.2这个用户的连接数为50 iptables -I FORWARD -p tcp -s 192.168.1.2 -m connlimit –connlimit-above 50 -j REJECT 3、限制除用户XXX.XXX.XXX.XXX以外的IP连接数为50 (也就是除了XXX.XXX.XXX.XXX用户不限制其它的都限,这个好吧,可以给自己开特权^_^) iptables -I FORWARD -p tcp -s !XXX.XXX.XXX.XXX -m connlimit –connlimit-above 50 -j REJECT 这里也举个例子,比如要除了不限制192.168.1.2外,限制其它所有用户的连接数为50 iptables -I FORWARD -p tcp -s !192.168.1.2 -m connlimit –connlimit-above 50 -j REJECT
把命令写入/etc/firewall.user 然后重启就可以生效。一般家庭宽带。建议设置每个ip tcp100 udp200。