Ubuntu 12.04 服务器作为 VMWare 客户机:无法从主机 Ping 和访问 Apache

Ubuntu 12.04 服务器作为 VMWare 客户机:无法从主机 Ping 和访问 Apache

这可能只是我的 Ubuntu 设置中的一些配置,可能与 Vmware Workstation 无关,但我想提供所有信息。我有一个运行 Vmware Workstation 的 Win 7“主机”工作站,Ubuntu Server 作为“客户机”。VMware 网络是 Ubuntu VM 的 VMnet0(自动桥接)。客户操作系统从公司网络获取自己的 IP,并能够上网。客户操作系统也可以正常访问主机的网站。到目前为止一切顺利。

但是我需要能够在客户机中运行 LAMP 环境。我在客户机上安装了 Apache,并且在两个系统中都安装了

http://localhost and 
http://[hostnameofguest] 

Apache 网页在客户机的 Firefox 中显示正常。但在主机中输入 http://[hostnameofguest] 甚至 http://[GuestIPAddress] 都无法显示任何内容;ping GuestIPAddress 可以工作,但 ping hostnameofguest 无法在主机中工作。

这可能不是防火墙问题 - 我已经禁用它(我认为是使用 Firestarter),否则即使 ping 到客户 IP 也不起作用?/etc/hosts 看起来像:

127.0.0.1   localhost
127.0.1.1       customhostname

知道如何让 LAMP 环境正常工作吗?>

谢谢!

答案1

在 Win 7 主机上运行“nslookup hostnameofguest”以确保 dns 将 hostnameofguest 解析为正确的 ip 地址。

如果防火墙不是问题,那么您可能必须修改 Apache 配置以允许 http://[GuestIPAddress] 工作。

这可能不是防火墙问题——我已经禁用它了(我想是使用 Firestarter),否则即使 ping 到客户 IP 也不起作用?

可以配置防火墙来阻止 http 但允许 icmp(ping)工作。

答案2

根据您的情况,您可以修改 Windows 7(即您的主机操作系统)的主机文件。Windows 7 主机文件位于以下路径(文件名没有扩展名)。

C:\Windows\System32\drivers\etc\hosts

在编辑上述文件之前,请为虚拟机上的客户操作系统分配一个静态 IP。

不要改变任何其他内容除了在文件末尾添加以下行之外。

Your_VM_Guest-OS_host_name       Your_VM_Guest-OS_IP

保存并退出。现在打开命令提示符并输入以下命令来刷新旧 DNS 条目的缓存以确保安全。

ipconfig /flushdns

输入并关闭命令提示符。现在您应该能够使用其主机名打开托管在 VM 上的 HTTP 页面。

享受!!

编辑:

@Meengla 请检查 2 件事...首先,您的虚拟机网络适配器必须处于桥接模式。您可以通过右键单击 vmware 中的虚拟机然后选择“属性”来更改和检查它,请查看下面的屏幕截图。

在此处输入图片描述

  • 如果你想要的话仅在 LAN / Intranet 中工作,然后在物理防火墙或路由器中为该网站创建一个静态 DNS 条目。

  • 如果你想要的话在网上工作,然后使用您的域名提供商的网站/基于 Web 的应用程序将您的公共 IP 与注册域名对齐。然后您将必须在您的位置所在的物理防火墙/路由器中对您的公共 IP 和 VM 的私有 IP 进行 NAT。

请告诉我这是否解决了您的问题。

相关内容