Hello! 欢迎来到小浪云!


Fedora 28 server web 无法访问之配置防火墙


avatar
小浪云 2025-01-18 19

Fedora 28 server web 无法访问之配置防火墙

本文介绍如何解决Fedora 28服务器Web服务无法访问的问题,主要原因是防火墙阻止了Web服务的访问。

临时关闭防火墙(仅供测试):

systemctl stop firewalld.service

如果Web服务恢复正常,则说明防火墙是问题所在。 接下来,我们将学习如何正确配置防火墙以允许Web服务访问。

Fedora 28 使用 firewalld 替代了传统的 iptables。 使用 firewalld 开放80端口:

firewall-cmd --zone=public --add-port=80/tcp --permanent

命令解释:

  • –zone=public: 指定作用域为公共区域。
  • –add-port=80/tcp: 添加80端口,协议为TCP。
  • –permanent: 使更改永久生效,重启后配置依然有效。

重启防火墙使配置生效:

firewall-cmd --reload

如果以上步骤仍然无法解决问题,可以尝试卸载 firewalld 并安装 iptables:

卸载firewalld:

yum remove firewalld

安装iptables:

yum install iptables-services

编辑iptables配置文件:

vi /etc/sysconfig/iptables

在默认的22端口规则之后添加以下两行,允许80和3306端口通过:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

重要提示: 将规则添加到22端口规则之后,而非配置文件末尾,避免防火墙启动失败。 正确的配置文件示例如下:

# Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT

重启iptables服务并使其开机启动:

systemctl restart iptables.service systemctl enable iptables.service

更多信息,请参考以下链接:

相关阅读