我的互联网带宽很慢(1024 KBITS/S),需要 30 个用户共享。为了控制流量,我使用 iptables 设置了一个基本的代理服务器。使用 tcpdump 捕获的日志和数据包显示每个 IP 都有很多连接。因此,我想通过添加以下行来限制 http 连接:
% iptables -A INPUT -p tcp --syn --dport 80 -d !$SQUID_SERVER \
-m connlimit --connlimit-above 5 -j REJECT --reject-with tcp-reset
然后我用以下方法测试它:
% netstat -nt | cut -c 40- | cut -d: -f1 | sort | uniq -c | sort -n
这似乎不起作用:
3 10.2.13.32
3 10.2.13.91
4 10.2.13.37
5 31.13.72.55
**6** 90.84.59.72
**8** 10.2.13.249
1 108.160.161.158
1 199.7.52.72
1 208.53.158.108
**14** 10.2.13.80
**19** 10.2.13.79
2 178.255.83.1
答案1
你确定这些连接不是针对 Squid 的并且规则允许吗 -d !$SQUID_服务器?
最好粘贴完整的行。
答案2
抱歉回答迟了,我添加了“-d!$SQUID_SERVER”以允许来自代理服务器的请求。我的目标是限制每个 IP 或 MAC 地址加载的网站数量。
netstat -nt | grep ESTABLISHED | cut -c 40- | cut -d: -f1 | sort | uniq -c | sort -n
1 10.2.13.92
1 107.21.36.27
1 108.160.160.165
1 173.194.39.24
1 173.194.69.102
1 173.254.28.70
1 192.168.1.3
1 199.47.218.151
1 199.47.219.149
1 213.154.65.67
1 23.23.143.97
1 31.7.61.11
1 64.4.34.40
1 64.4.61.44
1 69.25.24.23
1 80.190.166.100
1 90.84.50.154
1 90.84.50.161
1 90.84.50.168
1 90.84.50.177
1 90.84.53.41
2 10.2.13.71
2 10.2.13.75
2 10.2.13.82
2 10.2.13.91
2 108.160.160.159
2 173.194.69.156
2 87.248.105.221
2 90.84.50.187
3 173.194.69.113
4 173.194.69.132
5 10.2.13.227
5 10.2.13.229
6 213.186.33.17
13 10.2.13.228
15 10.2.13.89
30 10.2.13.78