背景
在虛擬機下運行操作系統,尤其是Linux系統已經是非常常見的做法。有時你想在虛擬機下搭建一個(模擬)服務器來供主機訪問,比如搭建一個telnet/ssh。此時你會發現,每次啓動虛擬機,VMWare爲虛擬機系統分配一個動態IP,這樣每次去連接虛擬機的telnet時很不方便。如果設成靜態IP就好了。
VMnet8和NAT
如果你的虛擬機是以NAT方式連入互聯網的話,那麼虛擬機的IP地址非配,網關以及互聯網訪問權限均由VMWare提供的叫做VMnet8虛擬網卡所提供。所以一切和設置靜態IP有關的設置都可以從這裏找到。通VMnet8虛擬網卡,主機可以訪問虛擬機的IP,虛擬機可以連入主機的互聯網連接連入外網。
確認VMnet8虛擬網卡已啓用
在默認情況下,VMWare Workstation已經啓用VMnet8虛擬網卡,Windows 7下,通過進入 控制面板>網絡和Internet>網絡和共享中心>更改適配器設置 可以查看該虛擬網卡的狀態。如圖1-1所示。
圖1-1
得到可用IP範圍、網關和子網掩碼
在VMWare主界面,點擊Edit>Virtual Network Editor菜單進入虛擬網卡參數設置界面(圖1-2)。選擇VMnet8條目,點擊NAT Settings按鈕後可以看到我們的VMWare Workstation爲NAT連接的虛擬機設定的默認網關,此處爲192.168.91.2,以及子網掩碼,此處爲255.255.255.0, 如圖1-3所示。
圖1-2
圖1-3
點擊DHCP Settings按鈕,可以看到VMnet8爲虛擬機分配的可用的子網IP範圍,如圖1-4所示。
圖1-4
此處,我們的子網IP可用範圍爲192.168.91.128~192.168.91.254
OK,至此,所有我們需要的信息都已經獲取到,這裏彙總一下,
- 子網IP可用範圍:192.168.91.128~192.168.91.254
- 子網掩碼:255.255.255.0
- 網關: 192.168.91.2
下面開始進入Ubuntu虛擬機設置靜態IP。
在Ubuntu 12.04.1中設置靜態IP
1. 啓動虛擬機Ubuntu系統,打開終端,利用如下命令打開並編輯網絡接口配置文件:
sudo vi /etc/network/interfaces
2. 編輯文件如下:
auto lo iface lo inet loopback # Assgin static IP by eric on 26-SEP-2012 iface eth0 inet static address 192.168.91.200 #change to your static IP netmask 255.255.255.0 #change to your netmask gateway 192.168.91.2 #change to your getway #We must specify dns-nameserver here #in order to get internet access from host dns-nameservers 192.168.91.2 auto eth0
說明
address是你要分配給你虛擬機的靜態IP地址,可以從剛纔我們找到的可用的子網IP範圍中隨便選擇一個放在此處。
netmask是子網掩碼
gateway是網關
注意:在相對較早的版本中,你需要設置/etc下的resolv.conf文件,並加入nameserver,這樣纔可以連接互聯網。但在Ubuntu 12.04之後,已經不推薦這種方式了,因爲無論你想該配置文件中設置什麼值,重新啓動之後都會被還原爲初始狀態。推薦的做法是直接在interfaces配置文件中加入dns-nameserver <網關IP>這一行。
3. 重啓ubuntu的網卡
sudo /etc/init.d/networking restart 或者 sudo ifconfig eth0 down;sudo ifconfig eth0 up
4. ping測試互聯網連通性
ping www.baidu.com
如果ping有響應,那麼恭喜你,你已經成功將虛擬機設置爲靜態IP,並且也已連入互聯網。
轉自:http://www.cnblogs.com/objectorl/archive/2012/09/27/vmware-ubuntu-nat-static-ip-settings.html
注意:在ubuntu14.04環境下,進行第3步的時候發現 重啓了eth0,發現ifconfig之後 ,eth0的IP地址並沒有改變,此時發現重啓之後改變
ping www.baidu.com 出現ping:unknown host www.baidu.com
檢查一下:
1. 主機是否可以聯網
2. VMnet8網卡是否啓用
3. 虛擬機ubuntu的網卡服務是否已經重啓過了