Linux防火墙放行端口方法_firewalld实战说明【教程】

9次阅读

Linux 用 firewalld 放行端口需三步:确认服务运行(systemctl status/start/enable firewalld)、添加永久规则(–permanent 指定端口及协议)、重载配置(–reload);临时规则重启失效,不重载则不生效。

Linux 防火墙放行端口方法_firewalld 实战说明【教程】

Linux 用 firewalld 放行 端口 ,核心就三步:确认服务运行、添加永久规则、重载配置。不加--permanent 只是临时生效,重启就丢;不执行--reload,规则压根不启用。

确认 firewalld 已启动并处于活跃状态

firewalld 默认可能未启用,先检查是否运行:

  • systemctl status firewalld —— 看输出中是否有 active (running)
  • 若未运行,执行:systemctl start firewalld 启动服务
  • 设为开机自启:systemctl enable firewalld
  • 查看当前生效区域(通常是public):firewall-cmd --get-active-zones

放行单个或多个端口(TCP/UDP)

按实际协议指定,避免只写端口号却漏掉 /tcp/udp

  • 开放 80 端口(TCP):firewall-cmd --zone=public --add-port=80/tcp --permanent
  • 开放 53 端口(UDP):firewall-cmd --zone=public --add-port=53/udp --permanent
  • 批量开放端口范围(如 9000–9010):firewall-cmd --zone=public --add-port=9000-9010/tcp --permanent
  • 同时开放多个不连续端口:firewall-cmd --zone=public --add-port=22/tcp --add-port=443/tcp --add-port=8080/tcp --permanent

限制访问来源:仅允许特定 IP 或网段连指定端口

比全放开更安全,适用于数据库、管理后台等敏感服务:

  • 只允许 192.168.1.100 访问 2375 端口:firewall-cmd --permanent --add-rich-rule='rule family="ipv4"source address="192.168.1.100"port port="2375"protocol="tcp"accept'
  • 只允许 10.0.0.0/8 网段访问 8000–8080 端口:firewall-cmd --permanent --add-rich-rule='rule family="ipv4"source address="10.0.0.0/8"port port="8000-8080"protocol="tcp"accept'
  • 删除上述某条规则,把 add-rich-rule 换成remove-rich-rule,其余内容完全一致即可

验证、重载与排错

每改完规则必须重载,否则不生效;验证要分层次:

  • 重载配置:firewall-cmd --reload(必须执行)
  • 查看当前已放行的端口:firewall-cmd --zone=public --list-ports
  • 检查某端口是否在规则中:firewall-cmd --query-port=8080/tcp(返回 yesno
  • 查看完整规则(含服务、端口、富规则):firewall-cmd --list-all
  • 如果端口仍不通,检查是否被 iptables 干扰:systemctl stop iptables(firewalld 和 iptables 不能共存生效)
星耀云
版权声明:本站原创文章,由 星耀云 2025-12-28发表,共计1463字。
转载说明:转载本网站任何内容,请按照转载方式正确书写本站原文地址。本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。
text=ZqhQzanResources