在 CentOS 中,防火墙通常使用 firewalld(CentOS 7 及以后)。下面按常见场景说明配置方法。
systemctl status firewalld
# 或
firewall-cmd --state
systemctl start firewalld
systemctl stop firewalld
systemctl enable firewalld
systemctl disable firewalld
# 临时生效
firewall-cmd --add-port=80/tcp
# 永久生效
firewall-cmd --add-port=80/tcp --permanent
# 重新加载
firewall-cmd --reload
firewall-cmd --remove-port=80/tcp --permanent
firewall-cmd --reload
firewall-cmd --add-service=http --permanent
firewall-cmd --reload
查看支持的服务:
firewall-cmd --get-services
firewall-cmd --permanent --add-rich-rule='
rule family="ipv4"
source address="192.168.1.100"
port protocol="tcp" port="22" accept'
firewall-cmd --reload
firewall-cmd --permanent --add-rich-rule='
rule family="ipv4"
source address="192.168.1.200" reject'
firewall-cmd --reload
firewall-cmd --list-all
firewall-cmd --list-ports
firewall-cmd --list-rich-rules
如果是 CentOS 6:
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
service iptables save
service iptables restart
--permanent 才永久生效--reload如果你有具体需求(比如只允许内网、限制端口范围、Docker 环境),可以告诉我,我可以给你更精确的配置。