在 CentOS 中,防火墙通常是 firewalld(CentOS 7 及以上)。下面按常见场景说明如何“放行”。
systemctl status firewalld
如果没运行,可先启动:
systemctl start firewalld
systemctl enable firewalld
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --add-port=53/udp --permanent
firewall-cmd --reload
firewall-cmd --list-ports
Firewalld 已内置常见服务:
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --add-service=ssh --permanent
firewall-cmd --reload
查看支持的服务:
firewall-cmd --get-services
firewall-cmd --permanent --add-source=192.168.1.100
firewall-cmd --reload
firewall-cmd --permanent --zone=public --add-rich-rule='
rule family="ipv4"
source address="192.168.1.100"
port protocol="tcp" port="3306" accept'
firewall-cmd --reload
如果是 CentOS 6:
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
service iptables save
service iptables restart
不加 --permanent 就是临时:
firewall-cmd --add-port=8080/tcp
如果你能告诉我:
我可以直接给你精确命令。