在Fedora 28 server系统中安装成功Lnmp后web访问是正常的,然后重新启动Fedora 28系统后就发现web无法正常访问了,重新启动 lnmp 一切正常,所有服务都是运行状态,网上查了一下资料,初步怀疑是系统防火墙问题,关闭了iptables,原来Fedora服务器版本里面的防火墙原来是firewall,关闭之后正常,以下为解决方案。
关闭firewall命令: systemctl stop firewalld.service #停止firewall 再次访问web服务,正常工作了。
在Fedora 28系统里无法使用iptables控制Linux的端口,而使用firewalld代替了原来的iptables。下面记录如何使用firewalld开放Linux端口: 1.开启端口 firewall-cmd --zone=public --add-port=80/tcp --permanent 命令含义: –zone #作用域 –add-port=80/tcp #添加端口,格式为:端口/通讯协议 –permanent #永久生效,没有此参数重启后失效 2.重启防火墙 firewall-cmd --reload 文中本是已增加了80端口只是没有进行重启,经过一次停用和启用,防火墙的设置生效。
如果还是不行只要卸载firewall,安装iptables就可以了。 yum remove firewall
安装 iptables: yum install iptables-services 编辑配置文件: 运行:vi /etc/sysconfig/iptables 添加下面两行: -A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT(允许80端口通过防火墙) -A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT(允许3306端口通过防火墙)
特别提示:很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败,正确的应该是添加到默认的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
重启服务: systemctl restart iptables.service
跟随系统启动: systemctl enable iptables.service
相关主题 |