温馨提示×

ubuntu iptables怎样封ip

小樊
39
2026-09-19 02:30:10
栏目: 智能运维

在 Ubuntu 下使用 iptables 封禁 IP,常见做法如下:


一、封禁单个 IP(拒绝所有访问)

sudo iptables -A INPUT -s 1.2.3.4 -j DROP
  • -A INPUT:添加到 INPUT 链
  • -s 1.2.3.4:来源 IP
  • -j DROP:直接丢弃(不返回响应)

如果想返回拒绝信息(如端口不可达):

sudo iptables -A INPUT -s 1.2.3.4 -j REJECT

二、封禁某个 IP 访问指定端口

例如封禁 1.2.3.4 访问 22 端口(SSH):

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

三、封禁整个 IP 段(CIDR)

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

四、封禁出站 IP(禁止本机访问某 IP)

sudo iptables -A OUTPUT -d 1.2.3.4 -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 systemctl enable netfilter-persistent

八、Ubuntu 20.04+ 注意事项(ufw)

如果系统启用了 ufw,建议用:

sudo ufw deny from 1.2.3.4

否则 iptables 可能被 ufw 覆盖。


如果你有具体场景(如:封 IP、防爆破、Docker、NAT),我可以给你更精准的规则。

0 踩