温馨提示×

centosiptables如何禁止端口

小樊
36
2026-08-29 09:56:29
栏目: 智能运维

CentOS(7 以前使用 iptables) 中,可以通过 iptables 来禁止指定端口。下面按常见场景给你说明。


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

1️⃣ 禁止 TCP 端口

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

2️⃣ 禁止 UDP 端口

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

3️⃣ 同时禁止 TCP + UDP

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

二、禁止端口(但允许某个 IP)

例如:禁止 3306 端口,但允许 192.168.1.100

iptables -A INPUT -p tcp -s 192.168.1.100 --dport 3306 -j ACCEPT
iptables -A INPUT -p tcp --dport 3306 -j DROP

⚠️ 顺序很重要,ACCEPT 必须在 DROP 前面


三、禁止端口(仅对某个 IP)

iptables -A INPUT -p tcp -s 192.168.1.200 --dport 22 -j DROP

四、查看当前规则

iptables -L -n -v

查看指定表:

iptables -L INPUT -n --line-numbers

五、删除已添加的规则

按编号删除(推荐)

iptables -D INPUT 3

按内容删除

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

六、保存规则(否则重启失效)

CentOS 6 及以前

service iptables save

CentOS 7(使用 iptables-services)

yum install -y iptables-services
systemctl enable iptables
systemctl start iptables
service iptables save

七、CentOS 7 特别注意(firewalld)

CentOS 7 默认使用 firewalld不建议混用 iptables

使用 firewalld 禁止端口

firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --remove-port=8080/tcp --permanent
firewall-cmd --reload

八、常见端口示例

端口 用途
22 SSH
80 HTTP
443 HTTPS
3306 MySQL
6379 Redis

如果你愿意,可以告诉我:

  • ✅ CentOS 版本
  • ✅ 要禁止的端口
  • ✅ 是否允许某些 IP

我可以帮你写 完整可用的一套规则

0