温馨提示×

centos防火墙怎样放行服务

小樊
42
2026-10-26 09:28:55
栏目: 智能运维

在 CentOS 中,防火墙通常使用 firewalld(CentOS 7 及以后版本)。下面介绍几种常见的“放行服务”方式。


一、查看防火墙状态

systemctl status firewalld

若未运行,可启动:

systemctl start firewalld
systemctl enable firewalld

二、放行系统预定义服务(推荐)

firewalld 自带很多服务定义(如 ssh、http、https 等)。

1️⃣ 查看可用服务

firewall-cmd --get-services

2️⃣ 放行服务(以 http 为例)

firewall-cmd --add-service=http

✅ 以上为临时生效,重启失效。

3️⃣ 永久放行

firewall-cmd --add-service=http --permanent

4️⃣ 重新加载防火墙

firewall-cmd --reload

5️⃣ 查看已放行服务

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)放行(可选)

查看默认 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

七、CentOS 6(iptables,老系统)

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

如果你有具体服务名或端口(如 Nginx、Redis、自定义程序),可以告诉我,我给你精确命令。

0 踩