在虚拟机 CentOS 7 上装了 Nginx,结果发现另一台电脑无法访问其默认页面,通过 telnet 192.168.1.88 80 监听发现是 http 80 端口被 CentOS 7 的防火墙 Firewalld(CentOS 6 的防火墙是 iptables)给阻止通信了。
接下来就讲下如何添加防火墙规则。
先查看防火墙是否开启的状态,以及开放端口的情况:
如下显示,services: dhcpv6-client ssh 表示 ssh 服务是放行的,而 ports: 这里为空,表示无端口号放行。
接下来通过以下命令开放http 80 端口:
命令末尾的--permanent表示用久有效,不加这句的话重启后刚才开放的端口就又失效了。
然后重启防火墙:
再次查看端口的开放情况:
就会发现 services: 里出现了 http 服务,ports:里也出现了 80 端口:
最后换另一台电脑重新访问虚拟机的IP地址,成功了~
延伸阅读:
Firewall 的 Zone 还能将不同的网络连接归类到不同的信任级别:
过滤规则解释如下:
更多参考资料如下: