背景
在虛擬機下運行操作系統,尤其是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
1、配置靜態IP地址:
# vim /etc/network/interfaces
原內容有如下4行:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
以上表示默認使用DHCP分配IP,修改爲如下:
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
#iface eth0 inet dhcp
iface eth0 inet static
nameserver 192.168.0.1
address 192.168.0.10
netmask 255.255.255.0
gateway 192.168.80.2
保存退出。
注意:只需要設置address(IP地址)、netmask(子網掩碼)、gateway(網關)這三項就OK,network和broadcast這兩項參數是可以不寫的。
2、手動設置DNS服務器:
# vim /etc/resolv.conf
添加如下內容(這點所有Linux發行版都通用):
nameserver 192.168.0.1
nameserver 8.8.8.8
保存退出。
注意:重啓Ubuntu後發現又不能上網了,問題出在/etc/resolv.conf。重啓後,此文件配置的dns又被自動修改爲默認值。所以需要永久性修改DNS。方法如下:
# vim /etc/resolvconf/resolv.conf.d/base
nameserver 192.168.0.1
nameserver 8.8.8.8
3、重啓networking服務使其生效:
# /etc/init.d/networking restart
這樣網絡配置就永久生效。