背景:我刚刚找到一份系统管理员的工作,我的雇主很清楚我是这个领域的新手,所以他们派人给我介绍一下。她给我的第一个任务是安装 CentOS 的虚拟机。
我已经在虚拟机上设置了 CentOS,并且顺利安装了 Apache。当我尝试使用主机上的浏览器通过 IP 地址访问它时,它说响应时间太长(使用 Google Chrome)。
我已将虚拟机的网络适配器设置为桥接适配器,并且没有为此使用环回地址。我尝试使用
curl myipaddress
它可以很好地显示 HTML。我尝试 ping VM 的 IP 地址,它回复正常。
我尝试排除 iptables。当我尝试停止它时,我得到了以下结果:
Failed to stop iptables.service: Unit iptables.service not loaded.
进一步检查后发现,iptables 尚未安装。
我尝试使用以下命令检查服务状态
sudo service httpd status
而且它显然运行良好。
我基本上保留了默认设置,所以我不确定我忽略了什么。这看起来像是配置错误,但我不确定到底是什么。
答案1
我猜你需要通过firewalld(Centos 7中的默认防火墙)打开端口。
您可以尝试一下,仅用于测试:
firewall-cmd --permanent --add-port=80/tcp
要查看您拥有哪些活动区域,您可以使用:
firewall-cmd --get-active-zones
然后,可以打开一个端口(即用于 http 的 tcp 80),假设是区域“公共”:
firewall-cmd --permanent --zone=public --add-port=80/tcp
重新加载firewalld:
firewall-cmd --reload
选项 permanent 使规则永久生效,即使服务或服务器重新启动也是如此。您需要以 root 身份运行命令或使用 sudo。