我遇到的情況是在 Ubuntu 13.10 上面安裝 VMware Workstation,在上面安裝了 ESXi 5.5。ESXi 上面的網路是使用 NAT,但是在 ESXi 上面的 VM 卻沒辦法連外 。這邊記錄一下解決的過程,簡單的說: ESXi上的 vSwtich 需要開啟promiscuous mode,然後 ,normal user 需要有權限寫入 /dev/vmnet
Promiscuous 是什麼呢?
在一般的 swtich 設計之下,預設是流通的frame只收到收件者自己的。但是這在 Nested VM 上面會有一些問題,因為 Guest VM 上面的 Mac address 跟 ESXi VM Mac adddress 不同,所以除非 ESXi 能收到 Guest VM 的 frame,不然像是外部的 DHCP 等等協定就沒辦法跟裡面的 VM 互動。而開啟 Promiscuous mode 之後,VM 就會收到其它 interface 的 frame。ESXi 就可以把需要傳送給自己肚子裡面的 VM 按照 vSwitch 的設定轉送過去。而 Promiscuous mode 可以在 ESXi 裡面的 vSwitch/Port group 安全性設定找到。在 5.5.0 一共有三個設定:
Promiscuous mode …