我认为标题很好地解释了我想要做的事情,但这里还有一些额外的信息:
在 VMWare Fusion 中运行的客户操作系统(Ubuntu)配置:我有 3 个由 Apache2 托管的虚拟站点,可以使用 Ubuntu 上的 /etc/hosts 中的以下几行来访问它们:
127.0.0.1 siteA.localhost
127.0.0.2 siteB.localhost
127.0.0.3 siteC.localhost
但是,我希望我的主机操作系统(OS X)也能够访问这些。
Ubuntu 的 IP 是 172.16.47.132。
当我在 OS X 浏览器中访问该 IP 时,它只会看到一个典型的“/ 索引”页面,没有可点击的文件夹,因此看起来我可以访问网络服务器,但无法访问网站。
我会非常感激任何帮助。提前致谢!
答案1
127.xxx 是本地主机 IP 号码,因此当您访问它们时,您最终会进入您自己的计算机(您的主机操作系统可能在其 Web 服务器上显示“/ 的索引”)
要从另一台主机访问 Web 服务器,您需要使用来宾的“真实”IP 号码(可能是 10.xxx 或 192.168.xx IP,因为它是本地 VM),而不是本地主机 IP。这也意味着您需要让 Apache 绑定到真实 IP,而不是其虚拟站点的本地主机 IP。
答案2
好的,我设法按照以下步骤解决了该问题:
打开
/etc/rc.local
为我想要创建的每个虚拟网卡添加一行,例如:
ifconfig eth0:1 192.168.0.2 netmask 255.255.255.0 broadcast 192.160.0.255
编辑 apache2 中的虚拟主机,以便监听新创建的虚拟 NIC。示例:
< VirtualHost 127.0.0.2:80 192.168.0.2:80 >
重新启动 Ubuntu,一切正常运行。
显然,Ubuntu 11.10 中存在一个错误,导致/etc/network/interfaces
文件中的条目无法正常工作,因此与该文件相关的方法对我来说不起作用。