« 上一篇下一篇 »

Linux爱好者Fedora 28服务器上安装 LNMP 重启系统后web就无法访问

     Fedora 是一款非常流行且非常广泛的 Linux 发行版之一!它基于 Fedora Project(由红帽资助,旨在取代 Red Had Linux 在个人领域的应用),并由全球范围的社区志愿者和开发人员构建和维护。
      相比 Ubuntu、CentOS、RedHat 等发行版,Fedora 最大的特色是追求并吸纳最新的技术,一些前沿技术和最新版本的软件往往是 Fedora 第一个使用起来的,加上开发社区人气兴旺,Fedora 相比其他发行版对编程工作者或者热爱尝鲜的技术爱好者有着更大的魅力……

 

   刚安装完 LNMP 访问正常,重启 Fedora 28 系统之后,发现Web无法访问了,重启 LNMP 一切正常,所有服务都是运行状态,网上查了一下,怀疑是防火墙问题,关闭iptables,原来Fedora服务器版本里面的防火墙原来是firewall,关闭之后正常。

关闭firewall命令:

systemctl stop firewalld.service
#停止firewall

再次访问WEB服务,正常工作了。

Fedora28,无法使用iptables控制Linuxs的端口,而使用firewalld代替了原来的iptables。下面记录如何使用firewalld开放Linux端口:

开启端口

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

命令含义:

–zone #作用域

–add-port=80/tcp #添加端口,格式为:端口/通讯协议

–permanent #永久生效,没有此参数重启后失效

重启防火墙

firewall-cmd --reload

文中本是已增加了80端口只是没有进行重启,经过一次停用和启用,防火墙的设置生效。
 详细信息可以参考以下资料:

http://stackoverflow.com/questions/24729024/CentOS-7-open-firewall-port

https://access.RedHat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Security_Guide/sec-Using_Firewalls.html

如果还是不行只要卸载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