Wednesday, March 11, 2020

如何讓Virtualbox下的虛擬機器透過實際無線網卡取得IP? (透通模式)

先稍微提一下會想這樣做的原因是因為愈來愈多的laptop已經不提供Etherenet port,尤其是一些比較強調輕量級的laptop,所以如果不買USB or USB Type-C轉Ethernet port的話,基本上只能透過wireless interface去連接網路。

對於一般的user來說這沒什麼大不了,所謂人人家裡都有wifi(沒有的話快去買一台Ruckus AP),但就算真的沒有wifi好了,user也可以透過手機開熱點讓laptop來連上網路。

但是對於我們這些常常需要跑VM的engineer來說是有一點困擾,因為預設上就算你設定好虛擬機器的網卡bridge到實際的wireless NIC,你還是拿不到IP address.... (至少我遇到的狀況是這樣),當然這時候可以透過NAT mode讓虛擬機器的網卡可以連上網路,但是有時候透通模式才是我們需要的。

怎麼解決呢?其實非常簡單,就是把你真實wireless NIC的MAC address設定到虛擬機器的MAC address就好了,以下我用VirtualBox在Ubuntu 18.04.4 LTS來演練一下:

Step1. 取得真實wireless NIC的MAC address:


Step2. 開啟VirtualBox -> 選擇虛擬機器 -> Settings -> Network -> Advanced -> MAC address

以上填入Step1列出的MAC address.

Step3. 開機或重新啟動虛擬機器

看到了嗎? 虛擬機器內的網卡已經透過實體的wireless NIC取得IP address並且可以連上Internet.

再來用實體機器來ping一下虛擬機器:


可以開始快樂的使用了,這個小技巧希望對大家有幫助。

2 comments:

Sam said...

你的區網 DHCP 是不是只認 MAC?
主機板 與 VM 都使用同樣的 IP/MAC,資料會如何流動呢?不會亂套嗎!

total death zine said...

Thank you for sharingg