iptables 防火墙配置
# IP白名单 可以不受限制
-A INPUT -s 116.226.176.212 -p tcp -j ACCEPT
# 开放端口
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
# 80 端口 60s 内只能请求 4 次 名单存放在 BAD_HTTP_ACCESS 中
-A INPUT -p tcp --dport 80 --tcp-flags SYN,ACK SYN -m recent --name BAD_HTTP_ACCESS --rcheck --seconds 60 --hitcount 4 -j REJECT --reject-with tcp-reset
-A INPUT -p tcp --dport 80 --syn -m recent --name BAD_HTTP_ACCESS --set -j ACCEPT
同一 ip 在 60s 内只能做 4 次有效请求,超出则会被拒绝,限制的 ip 都存在
/proc/net/xt_recent/BAD_HTTP_ACCESS
中
默认限制的 ip 量可能只有 200 个,如下配置可将上限设为 1000000 个
echo options xt_recent ip_list_tot=1000000 ip_pkt_list_tot=200 > /etc/modprobe.d/modprobe.conf
sudo service iptables stop
sudo modprobe -r xt_recent
sudo modprobe xt_recent
sudo service iptables start