温馨提示×

ubuntu iptables怎样禁止端口

小樊
45
2026-09-19 02:27:11
栏目: 智能运维

在 Ubuntu 下使用 iptables 禁止(屏蔽)某个端口,通常是对 INPUT 链 做 DROP 或 REJECT。下面按常见场景说明。


一、禁止某个 TCP 端口(例如 8080)

sudo iptables -A INPUT -p tcp --dport 8080 -j DROP

或使用 REJECT(客户端会收到拒绝信息):

sudo iptables -A INPUT -p tcp --dport 8080 -j REJECT

二、禁止某个 UDP 端口(例如 53)

sudo iptables -A INPUT -p udp --dport 53 -j DROP

三、禁止某个 IP 访问指定端口

例如禁止 192.168.1.100 访问 22 端口:

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

四、禁止本机对外访问某个端口(OUTPUT)

例如禁止本机访问外部 80 端口:

sudo iptables -A OUTPUT -p tcp --dport 80 -j DROP

五、查看当前规则

sudo iptables -L -n -v

六、删除规则(很重要)

方法 1:按编号删除

先查看规则编号:

sudo iptables -L INPUT --line-numbers

删除第 3 条:

sudo iptables -D INPUT 3

方法 2:按原命令删除

例如原命令是:

iptables -A INPUT -p tcp --dport 8080 -j DROP

删除:

sudo iptables -D INPUT -p tcp --dport 8080 -j DROP

七、iptables 规则重启失效问题解决(Ubuntu)

iptables 规则默认重启会丢失,可以安装持久化工具:

sudo apt update
sudo apt install iptables-persistent

保存规则:

sudo netfilter-persistent save

开机自动加载:

sudo netfilter-persistent reload

八、推荐使用(Ubuntu 新版本)

Ubuntu 18.04+ 更推荐使用 ufw(更简单):

sudo ufw deny 8080/tcp

如果你有 具体端口 / 协议 / 内网还是公网 / Docker 环境,可以告诉我,我给你更精确的命令。

0 踩