温馨提示×

centos防火墙开启有哪些步骤

小樊
46
2025-11-25 19:13:59
栏目: 智能运维

CentOS 防火墙开启步骤

一、适用于 CentOS 7 与 CentOS 8 的 firewalld 步骤

  • 查看状态:执行 firewall-cmd --statesystemctl status firewalld,确认为 not running 再继续。
  • 若提示被屏蔽:执行 systemctl unmask firewalld,解除屏蔽后再启动。
  • 启动防火墙:执行 systemctl start firewalld
  • 设置开机自启:执行 systemctl enable firewalld
  • 验证:再次执行 firewall-cmd --state,应返回 running
  • 说明:CentOS 7/8/Stream 8 默认使用 firewalld 管理防火墙服务。

二、开启后放行端口或服务

  • 放行单端口(示例:8080/TCP):
    执行 firewall-cmd --zone=public --add-port=8080/tcp --permanent,然后 firewall-cmd --reload 使配置生效。
  • 放行端口区间(示例:9002–9005/TCP):
    执行 firewall-cmd --zone=public --add-port=9002-9005/tcp --permanent,然后 firewall-cmd --reload
  • 放行常用服务(示例:http/https):
    执行 firewall-cmd --permanent --add-service=httpfirewall-cmd --permanent --add-service=https,然后 firewall-cmd --reload
  • 常用查询:
    查看已放行端口 firewall-cmd --list-ports;查看全部规则 firewall-cmd --list-all

三、CentOS 6 的 iptables 步骤(如仍在使用)

  • 即时开启:service iptables start
  • 重启后永久生效:chkconfig iptables on
  • 保存规则:/etc/rc.d/init.d/iptables save
  • 重启防火墙:/etc/init.d/iptables restart
  • 查看状态:/etc/init.d/iptables status
  • 开放端口示例(8080/TCP):
    执行 iptables -A INPUT -p tcp --dport 8080 -j ACCEPT,然后保存并重启。

四、常见问题与排查

  • 启动失败并提示 “Failed to start firewalld.service: Unit is masked.”:先执行 systemctl unmask firewalld 再启动。
  • 规则未生效:添加 –permanent 的规则后必须执行 firewall-cmd --reload 才会生效。
  • 云服务器场景:除系统防火墙外,还需在云平台安全组放行对应 端口/协议/源IP,否则仍可能无法访问。

0