在 CentOS 中,防火墙通常使用 firewalld(CentOS 7 及以后版本)。下面介绍几种常见的“放行服务”方式。
systemctl status firewalld
若未运行,可启动:
systemctl start firewalld
systemctl enable firewalld
firewalld 自带很多服务定义(如 ssh、http、https 等)。
firewall-cmd --get-services
firewall-cmd --add-service=http
✅ 以上为临时生效,重启失效。
firewall-cmd --add-service=http --permanent
firewall-cmd --reload
firewall-cmd --list-services
例如放行 TCP 8080:
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload
查看端口:
firewall-cmd --list-ports
firewall-cmd --add-port=9000-9100/tcp --permanent
firewall-cmd --reload
查看默认 zone:
firewall-cmd --get-default-zone
指定 zone 放行:
firewall-cmd --zone=public --add-service=https --permanent
# 放行 SSH
firewall-cmd --add-service=ssh --permanent
# 放行 MySQL
firewall-cmd --add-port=3306/tcp --permanent
# 放行 Docker 相关端口
firewall-cmd --add-port=2375/tcp --permanent
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
service iptables save
service iptables restart
如果你有具体服务名或端口(如 Nginx、Redis、自定义程序),可以告诉我,我给你精确命令。