温馨提示×

centos防火墙怎么放行

小樊
63
2026-09-27 00:52:48
栏目: 智能运维

在 CentOS 中,防火墙通常是 firewalld(CentOS 7 及以上)。下面按常见场景说明如何“放行”。


一、确认防火墙状态

systemctl status firewalld

如果没运行,可先启动:

systemctl start firewalld
systemctl enable firewalld

二、放行端口(最常用)

1️⃣ 放行 TCP 端口(如 80、443、3306)

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent

2️⃣ 放行 UDP 端口

firewall-cmd --add-port=53/udp --permanent

3️⃣ 重新加载防火墙

firewall-cmd --reload

4️⃣ 查看已放行端口

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

四、放行指定 IP(白名单)

允许某个 IP 访问所有端口

firewall-cmd --permanent --add-source=192.168.1.100
firewall-cmd --reload

只允许某 IP 访问某端口

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,老系统)

如果是 CentOS 6:

iptables -I INPUT -p tcp --dport 80 -j ACCEPT
service iptables save
service iptables restart

六、临时放行(重启失效)

不加 --permanent 就是临时:

firewall-cmd --add-port=8080/tcp

如果你能告诉我:

  • CentOS 版本
  • 要放行什么(端口 / IP / 服务)
  • 内网还是公网

我可以直接给你精确命令。

0 踩