温馨提示×

ubuntu iptables怎么屏蔽ip

小樊
56
2026-10-01 01:37:58
栏目: 智能运维

在 Ubuntu 下使用 iptables 屏蔽(封禁)某个 IP,常见做法如下:


一、临时屏蔽单个 IP(重启后失效)

1. 屏蔽所有来自某个 IP 的访问

sudo iptables -A INPUT -s 1.2.3.4 -j DROP

2. 仅屏蔽某个端口(如 22 端口)

sudo iptables -A INPUT -s 1.2.3.4 -p tcp --dport 22 -j DROP

3. 屏蔽某 IP 访问本机所有端口(更严格)

sudo iptables -A INPUT -s 1.2.3.4 -j REJECT

DROP 和 REJECT 区别:

  • DROP:直接丢弃,对方无响应
  • REJECT:明确拒绝并返回错误

二、屏蔽一段 IP(CIDR)

sudo iptables -A INPUT -s 192.168.1.0/24 -j DROP

三、查看当前规则

sudo iptables -L -n -v

四、删除已添加的屏蔽规则

方法 1:按规则号删除

sudo iptables -L INPUT --line-numbers
sudo iptables -D INPUT 3

方法 2:按原命令删除

sudo iptables -D INPUT -s 1.2.3.4 -j DROP

五、让规则开机生效(非常重要)

iptables 默认重启后会丢失,需要持久化:

Ubuntu(使用 netfilter-persistent)

sudo apt install iptables-persistent
sudo netfilter-persistent save
sudo netfilter-persistent reload

规则会保存到:

/etc/iptables/rules.v4

六、示例:封禁恶意 IP

sudo iptables -A INPUT -s 45.66.77.88 -j DROP
sudo netfilter-persistent save

如果你需要:

  • 只封 IPv6
  • 使用 ufw(更简单)
  • 自动封禁暴力破解 IP(fail2ban)

可以继续告诉我你的使用场景。

0 踩