在 CentOS 中,防火墙通常指的是 firewalld(CentOS 7 及以后默认)。下面按常见场景给你说明。
systemctl status firewalld
或
firewall-cmd --state
# 启动
systemctl start firewalld
# 停止
systemctl stop firewalld
# 开机自启
systemctl enable firewalld
# 关闭开机自启
systemctl disable firewalld
firewall-cmd --list-ports
firewall-cmd --list-services
firewall-cmd --reload
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
例如开放 HTTP:
firewall-cmd --add-service=http --permanent
firewall-cmd --reload
常见服务:
sshhttphttpsmysqlftp查看所有支持的服务:
firewall-cmd --get-services
例如只允许 192.168.1.100 访问 3306:
firewall-cmd --permanent --add-rich-rule='
rule family="ipv4"
source address="192.168.1.100"
port protocol="tcp" port="3306" accept'
firewall-cmd --reload
firewall-cmd --permanent --add-rich-rule='
rule family="ipv4"
source address="192.168.1.200" reject'
firewall-cmd --reload
如果你是 CentOS 6:
service iptables status
vi /etc/sysconfig/iptables
service iptables restart
✅ 开放 Web 服务:
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --reload
✅ 开放自定义端口(如 8080):
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload
如果你能告诉我:
我可以给你精准命令。