我有以下场景:一台主机(OS X)和一台客户机(Ubuntu)。客户机通过 Virtual Box 运行,网络配置设置为“桥接适配器”。两台机器都有一个主机名,主机为 host.local,客户机为 guest.local。它们可以使用主机名相互通信,例如ping host.local
。
我想使用客户机作为网站的开发服务器。网站将位于主机上,客户机可以使用共享文件夹访问。我已将 Apache 配置为使用虚拟文档根目录,这将使网站在 site.guest.local 上可用。但是,这需要我在主机文件中设置 site.guest.local、site2.guest.local 等,指向客户机的 IP。
我不想依赖于客户机的 IP 地址,因为计算机可能会连接到不同的网络,并且不时使用不同的 IP 地址。
我一直在摆弄本地 DNS 服务器,特别是 DNSMasq,尝试创建 CNAME 记录等,但我找不到实现这一点的正确方法。
简而言之,我想创建一个指向 guest.local 的本地别名。
答案1
我使用 vagrant 来管理 VirtualBox VM。它们都设置为仅主机网络、静态 IP 和 /etc/hosts 中的条目。确保 VirtualBox 的仅主机网络设置为 NAT(VirtualBox / 首选项 / 网络)。
客人可以访问外部(假设其网络配置正确),并且虚拟接口由NAT转换,因此您可以选择自己的IP。
这可能没有帮助,但是这是我的 Vagrantfile 中的一行:
config.vm.network :hostonly, "10.11.12.13", :auto_config => true
如果客户机的 IP 与网络上的另一个设备发生冲突,请更新仅主机适配器(VirtualBox / 首选项 / 网络)的 IP 地址和虚拟机中的静态 IP。