![使用 netstat 和 iptables 防止 dos 攻击的 linux 命令](https://linux22.com/image/851226/%E4%BD%BF%E7%94%A8%20netstat%20%E5%92%8C%20iptables%20%E9%98%B2%E6%AD%A2%20dos%20%E6%94%BB%E5%87%BB%E7%9A%84%20linux%20%E5%91%BD%E4%BB%A4.png)
我想删除每个 IP 上超过 200 个请求以防止 DDoS 攻击。这是我用来检测每个 IP 的请求数的命令:
netstat -alpn | grep :80 | awk '{print $5}' |awk -F: '{print $(NF-1)}' |sort | uniq -c | sort -nr
现在我想将所有发出超过 200 个请求的 IP 地址添加到 IPtables 中以删除输入和输出。
答案1
嗯,你无法阻止 DDoS,而且 200 个请求相当简单。
我认为你能做的最好的事情就是设定限制
sudo iptables -A INPUT -m limit --limit 50/minute --limit-burst 200 -j ACCEPT
sudo iptables -A INPUT -j REJECT
对于端口 80,使用
sudo iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m limit --limit 50/minute --limit-burst 200 -j ACCEPT
sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -m limit --limit 50/second --limit-burst 50 -j ACCEPT
sudo iptables -A INPUT -j REJECT
您应该能够调整您的服务器的限制。
看:http://blog.bodhizazen.com/linux/prevent-dos-with-iptables/