温馨提示×

centos防火墙怎样配置

小樊
50
2026-10-11 17:26:05
栏目: 智能运维

在 CentOS 上,防火墙通常使用 firewalld(CentOS 7 及以上)。下面按常见场景说明配置方法。


一、基础操作(firewalld)

1. 查看防火墙状态

systemctl status firewalld
# 或
firewall-cmd --state

2. 启动 / 停止 / 开机自启

systemctl start firewalld
systemctl stop firewalld
systemctl enable firewalld
systemctl disable firewalld

二、端口与服务的开放

1. 开放端口(如 80、3306)

# 临时生效
firewall-cmd --add-port=80/tcp

# 永久生效
firewall-cmd --add-port=80/tcp --permanent

# 重新加载
firewall-cmd --reload

2. 开放服务(如 http、ssh)

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

3. 查看已开放端口 / 服务

firewall-cmd --list-ports
firewall-cmd --list-services

三、关闭端口 / 删除规则

firewall-cmd --remove-port=3306/tcp --permanent
firewall-cmd --reload

四、示例:允许外部访问 Web

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

五、指定 IP 访问(白名单)

firewall-cmd --permanent --add-rich-rule='
rule family="ipv4"
source address="192.168.1.100"
port protocol="tcp" port="22" accept'
firewall-cmd --reload

六、CentOS 6(iptables)

如果你是 CentOS 6,则用:

vi /etc/sysconfig/iptables
# 添加
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
service iptables restart

七、常见问题

  • 修改后不生效? 记得 --permanent + --reload
  • 云服务器? 还需在云厂商安全组放行端口
  • 测试端口:telnet IP 端口 或 nc

如果你有 具体需求(如:只开放某个IP、Docker端口、端口转发),可以告诉我,我给你具体命令。

0 踩