最近发现开网页卡的受不了。然后检查了流量,上行和下行的流量还有很多剩余,但就是很卡。
经过排查,发现是室友“爱奇艺”建立了很多连接。导致其他设备无法建立新的连接。
查询后,发现可以用 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。