由於最近在研究Docker, 於是需要用到虛擬機,安裝Ubuntu 16.04到Hyper-V並部署Docker。這個過程中填平了幾個小坑,為了大家以后遇到類似情況節省時間,我將這幾個小坑的問題和解決方法共享出來,供大家參考。
使用WLAN連接時,用Hyper-v創建的虛擬交換機會建立一個網橋來轉接WLAN網絡,如下圖是新建一個虛擬交換機
現在看網絡配置如下圖所示,系統創建了一個網橋,然后虛擬機創建的虛擬網卡vEthernet通過橋接連到外部網路上
由於虛擬機的虛擬網卡是通過這個網橋去連接的,所以網絡協議也要網橋支持,非常搞笑的是,IPV4協議在這里默認是關閉的。如果想讓虛擬機能夠獲得地址必須要手動啟用IPV4協議,並配置IP地址(可以自動獲取)和DNS:
需要手動勾選TCP/IPv4
Unbuntu16.4版本的網路配置需要手工填寫:
DNS和網卡的IP, 網關,掩碼
#如果配置動態獲取ip,則在
/etc/network/interfaces
文件中加入以下內容:
auto eth0 iface eth0 inet dhcp
#如果配置靜態ip,則添加如下內容:
auto eth0 iface eth0 inet static address 192.168.1.21 netmask 255.255.255.0 gateway 192.168.1.1
#要是配置生效,需要重啟網卡:
ifconfig eth0 down ifconfig eth0 up
然后必須手動配置DNS:
修改如下文件,默認文件是空的
sudo vim /etc/resolvconf/resolv.conf.d/base
在里面加入你想添加的DNS服務器,
nameserver 8.8.8.8
然后運行下面的命令,使DNS的配置生效
sudo /sbin/resolvconf -u
不能夠直接去修改 /etc/resolv.conf,因為重啟以后直接修改的配置就沒有了。
至此可以重啟下虛擬機,終於可以連上網絡了:
先用ifconfig命令看看網卡配置,看上去正常了。:)