连接到在 VMware Player 上运行的 CentOS httpd 服务器?

连接到在 VMware Player 上运行的 CentOS httpd 服务器?

我在 VMWare Player 上运行了 32 位 CentOS 5.5 的虚拟 LAMP 机器。它托管在运行桥接网络连接的 Win 7 64 位机器上。客户操作系统上一切正常,因为我可以导航到http://本地主机并获取 CentOS Apache 2 测试页面。但是,我无法通过客户操作系统的 IP 地址从主机操作系统上的浏览器访问 Web 服务器,而这正是设置此项的初衷。我也可以成功地从主机 ping 通客户机(客户操作系统上没有防火墙)。

CentOS 的映像文件从此处下载(仅使用了第 1 部分,共 2 部分):

http://virtual-machine.org/vmware-image-centos-55-i386-download

那么这是 Apache 配置中的异常还是 VMWare Player 中我缺少某些隐藏设置?

答案1

我最近遇到了这个问题,结果发现是防火墙的问题。默认的 iptables 会阻止所有传入端口(ssh 除外)。

如果你不熟悉 iptables,下面是它的介绍:http://wiki.centos.org/HowTos/Network/IPTables

并且您需要确保至少允许端口 80 传入。

答案2

这是一个防火墙问题,因此如果您想快速修复它,请iptables通过以下命令暂时停止:

service iptables stop

然后通过在主机浏览器中运行 apache 进行检查。

您还可以将端口 80 和 443 添加到iptables

-A RH-Firewall-1-INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT

在提交并重新启动服务之前执行此操作。这样您就可以保持防火墙运行并允许从外部对其进行 ping。

答案3

此防火墙问题可以通过 webmin 轻松修复。

只需打开

http://{YOUR-SERVER-IP:10000/

然后导航到网络 → Linux 防火墙。然后您应该添加规则或编辑预定义规则之一(例如 22 端口的规则)并保存。最后单击应用配置按钮。

相关内容