![建立本機主機名稱的別名](https://rvso.com/image/1345285/%E5%BB%BA%E7%AB%8B%E6%9C%AC%E6%A9%9F%E4%B8%BB%E6%A9%9F%E5%90%8D%E7%A8%B1%E7%9A%84%E5%88%A5%E5%90%8D.png)
我有以下場景:主機(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 虛擬機器。它們都使用僅主機網路、靜態 IP 和 /etc/hosts 中的項目進行設定。確保 VirtualBox 的僅主機網路設定為 NAT(VirtualBox / 首選項 / 網路)。
訪客能夠存取外部(假設其網路配置正確),並且虛擬介面是透過 NAT 轉換的,因此您可以選擇自己的 IP。
這可能沒有幫助,但這是我的 Vagrantfile 中的一行:
config.vm.network :hostonly, "10.11.12.13", :auto_config => true
如果來賓的 IP 與網路上的其他裝置發生衝突,請更新僅主機適配器的 IP 位址(VirtualBox / 首選項 / 網路)和虛擬機器中的靜態 IP。