在 Ubuntu 下使用 iptables 封锁 IP,常见做法如下:
sudo iptables -A INPUT -s 1.2.3.4 -j DROP
-A INPUT:添加到入站规则-s 1.2.3.4:来源 IP-j DROP:直接丢弃(不回应)如果想更“礼貌”一点(返回拒绝):
sudo iptables -A INPUT -s 1.2.3.4 -j REJECT
例如封锁 1.2.3.4 访问 22 端口:
sudo iptables -A INPUT -s 1.2.3.4 -p tcp --dport 22 -j DROP
sudo iptables -A INPUT -s 192.168.1.0/24 -j DROP
sudo iptables -A OUTPUT -d 1.2.3.4 -j DROP
sudo iptables -L -n -v
先查看规则编号:
sudo iptables -L INPUT --line-numbers
删除第 3 条规则:
sudo iptables -D INPUT 3
Ubuntu 默认 iptables 规则重启会丢失。
sudo apt install iptables-persistent
sudo netfilter-persistent save
sudo netfilter-persistent save
或使用:
sudo iptables-save > /etc/iptables/rules.v4
如果你系统启用了 ufw:
sudo ufw deny from 1.2.3.4
如果你愿意,可以告诉我:
我可以给你更精确的规则。