在 CentOS(7 以前使用 iptables) 中,可以通过 iptables 来禁止指定端口。下面按常见场景给你说明。
iptables -A INPUT -p tcp --dport 8080 -j DROP
iptables -A INPUT -p udp --dport 8080 -j DROP
iptables -A INPUT -p tcp --dport 8080 -j DROP
iptables -A INPUT -p udp --dport 8080 -j DROP
例如:禁止 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 前面
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
service iptables save
yum install -y iptables-services
systemctl enable iptables
systemctl start iptables
service iptables save
CentOS 7 默认使用 firewalld,不建议混用 iptables
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 |
如果你愿意,可以告诉我:
我可以帮你写 完整可用的一套规则。