centos7.6内部端口开放/自带防火墙关闭但端口无法外部访问
    文章作者:恒爱云[恒爱网络] 阅读次数:12 发布时间:2026-4-29

    今天遇到一个客户反馈的问题,宝塔面板连不上,进去检查发现内部端口启动正常。并且服务器自带的防火墙也是关闭状态。但是除了22端口,其余端口无法被外界访问


    先尝试修改了一下端口,不行,修复宝塔面板,还是不行。实在无解,只得查资料 ,发现还得是启动防火墙,好奇怪的问题。



    1、先开启防火墙 :systemctl start firewalld 

    2、放通端口:sudo firewall-cmd --zone=public --add-port=16092/tcp --permanent

    3、重新加载配置文件:firewall-cmd –reload


    暂时正常了。可是过了一会,用户又反馈说连不上了,再次查看防火墙状态  sudo firewall-cmd --state  结果显示又关闭了。问了客户说没关,应该是自动关闭的。


    查看防火墙日志  sudo journalctl -u firewalld

    发现警告信息:Apr 29 22:32:39 localhost.localdomain firewalld[2845]: WARNING: AllowZoneDrifting is enabled. This is considered an insecure configuration option. It will be removed in a future release. Please consider disabling it now.


    在 firewalld 的配置文件中,有一个特殊的参数 AllowZoneDrifting 

    在以前的版本中,firewalld 服务包含一个未记录的行为,称为"zone drifting"。RHEL 7.8 删除了此行为,因为它可能会对安全造成负面影响。因此,在使用这个行为配置 catch-all 或 fallback zone 的主机上,firewalld 会拒绝之前允许的连接。在这个版本中,重新添加了区 drifting 功能,但作为一个可配置的功能。现在,用户可以决定使用区 drifting 功能,也可以禁用它并使用防火墙进行安全设置。

    默认情况下,在 RHEL 7.9 中,/etc/firewalld/firewalld.conf 文件中的新 AllowZoneDrifting 参数设置为 yes。

    因此编辑防火墙的配置文件 vi  /etc/firewalld/firewalld.conf      

    将  AllowZoneDrifting =yes  改为  AllowZoneDrifting= no 

    然后保存。希望有效果。