Ubuntu Vmware虛擬機網絡配置(一)
2015-05-10 青島 張俊浩
之前多次遇到Ubuntu虛擬機無法連網問題,基本每次都是從網上百度配置流程,只記得修改好幾個網絡配置文件,再重啓網絡服務就好了,但每每下次遇到網絡問題,需要再次找資料輔助。原因一是對這幾配置文件的作用壓根不清楚,二是對Linux網絡驅動或者說TCP/IP協議棧不瞭解~
在這裏在整理Ubuntu虛擬機網絡配置流程和簡單的解析~
雖然同樣對網絡驅動這塊,或者說TCP/IP協議棧這塊不熟悉、不瞭解、陌生,但我們在Windows下似乎對電腦上網的配置流程駕輕就熟:首先電腦必須先有網絡硬件資源——網卡,其次網卡工作需要網卡驅動,再次網絡硬件設備和驅動正常的基本條件下,我們上網需要配置IP地址、子網掩碼、DNS(Domain Name System,域名系統,一般服務器都有DNS解析服務~)。
而上網的是始終是電腦,無論是在Windows還是Linux下,都遵循網絡的基本架構,無論是硬件設備還是軟件配置,換句話說都需要網卡、網卡驅動、IP/子網掩碼/DNS地址的配置~VMware虛擬機是通過軟件對電腦系統的模擬,同樣也遵循相應的架構~
所以我們對Ubuntu虛擬機一切的關於網絡配置流程都是在圍繞“網卡、網卡驅動、IP/子網掩碼/DNS地址的配置”進行,無論是配置VMware虛擬機還是配置Ubuntu虛擬機的相關網絡配置文件。通過類比Windows下的網絡配置,能讓我們迅速掌握和識記Linux(Ubuntu)下網絡相關的配置流程和相應配置文件的修改~
博客Ubuntu Vmware虛擬機網絡配置(一):解析Ubuntu虛擬機的網絡配置流程。
博客Ubuntu Vmware虛擬機網絡配置(二):對網絡配置中遇到的網絡相關術語進一步解析。
1、網卡配置
(1)VMware虛擬機選擇橋接(Bridged)模式(原則上選擇三種方式都可以上網,但橋接模式更有助於開發)
Vmware菜單欄->虛擬機->設置(Vmware菜單欄VM->settings->Network Adapter)
(2)查看網卡狀態
Vmware菜單欄->編輯->虛擬網絡編輯器(Vmware菜單欄Edit->Virtual Network Editor)~
要設置成以上Bridged模式,先關閉虛擬機,不關閉設置會提示只有虛擬機在power off狀態才能設置,選擇VMnet0,點擊左下角的“還原默認設置”(Restore Default),等一段時間虛擬機配置好虛擬網卡後選擇“橋接模式”(Bridged),橋接到(Bridged to)選擇自動(Automatic)或者自己現在主機的實際網卡名,然後點擊應用,確定。
2、網卡的IP、DNS地址配置,需要根據主機所在的網段來配置
(1)參考主機IP、DNS配置
進入主機Windows的DOS環境界面,(鍵盤上微軟圖標鍵+R鍵)run->cmd,在DOS環境下查看網絡配置的命令式ipconfig~
IP:192.168.10.15
子網掩碼(net mask):255.255.255.0
默認網關(gateway):192.168.10.254
(2)IP(DNS)配置文件 :/etc/network/interfaces(“etc”真正代表的是“etcetera”(附加物),包含了廣泛的系統配置文件,這些配置文件幾乎包含了系統配置的方方面面)
需要將Ubuntu虛擬接IP地址配成與主機同網段IP:192.168.10.XXX(這裏是88)
Netmask,gateway與主機相同
sudo vi /etc/network/interfaces
1 auto lo
2 iface lo inet loopback
3
4 auto eth0
5 iface eth0 inet static
6 address 192.168.10.88
7 network 192.168.10.0
8 netmask 255.255.255.0
9 broadcast 192.168.10.255
10 gateway 192.168.10.254
(3)DNS配置文件:/etc/resolv.conf(resolve:解決,解決方案,可是認爲DNSDomain Name System,域名系統是網絡地址識記、標識的解決方案~)
sudo vi /et/resolv.conf
Nameserver 192.168.10.254
(可以寫多個,作爲備用網關~)
3、重啓網絡服務
sudo /etc/init.d/networking restart
或者使用service腳本來調度,如:
service network(服務名) restart
sudo ifdown eth0 down(關閉網卡)
sudo ifup eth0 up (開啓網卡)
(init.d中‘d’:demon,精靈,守護進程)
4、驗證
驗證虛擬機和主機能不能ping通(橋接模式,需要主機在聯網狀態~)
ping 192.168.10.15(主機IP)
問題:Ubuntu虛擬機每次重啓後,/etc/resolv.conf裏面設置的nameserver就被清空或者被重置覆蓋。原因和解決方案:
resolv.conf文件中有以下文字說明:
#Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN(不要手動修改本文件,你的改動會被覆蓋重寫)
對於resolv.conf
1 /etc/resolv.conf 其實是一個Link
它其實指向的是 /run/resolvconf/resolv.conf
#ll /etc/resolv.conf
lrwxrwxrwx 1 root root 29 Oct 9 18:08 /etc/resolv.conf -> ../run/resolvconf/resolv.conf
2 Ubuntu 有一個 resolvconf 服務,如果重啓它,那麼 /etc/resolv.conf 的內容會被修改成默認的樣子
所以 不能直接修改 /etc/resolv.conf
3 如果想自己定義 nameserver,那麼有以下2個辦法:
A 在網卡的配置文件裏面加:
iface eth0 inet static
address 192.168.3.3
netmask 255.255.255.0
gateway 192.168.3.1
dns-nameservers 192.168.3.45 192.168.8.10
B 修改 resolvconf服務的配置文件: /etc/resolvconf/resolv.conf.d/base
echo "search test.com" >> /etc/resolvconf/resolv.conf.d/base
echo "nameserver 202.106.0.20" >> /etc/resolvconf/resolv.conf.d/base
有時候,需要添加tail文件,將DNS寫到tail裏邊,而有時,直接寫入base, 或者original即可.
這樣,在機器重啓或 resolvconf 服務重啓 都可以保證配置會寫到/etc/resolv.conf 裏面