網絡配置的兩種方式
Ubuntu下修改網絡配置有兩種方式:圖形界面方式(network-manager)和修改/etc/network/interfaces
可是若是兩種方式的網絡設置不一樣,就會產生衝突,即:network-manager與/etc/network/interfaces文件衝突。
Server版本
在Ubuntu Server版本中,由於只存有命令行模式,因此要想進行網絡參數設置,只能經過修改配置文件 /etc/network/interfaces 。具體設置方法以下:
(1) Ubuntu Server 修改 IP地址
打開 /etc/network/interfaces:
sudo vim /etc/network/interfaces
加入如下語句:
auto eth0
iface eth0 inet static
addressxxx.xxx.xxx.xxx #IP地址
netmask xxx.xxx.xxx.xxx #子網掩碼
gateway xxx.xxx.xxx.xxx #網關
(2) Ubuntu Server 修改 DNS
打開 /etc/resolv.conf
sudo vim /etc/resolv.conf
改成以下內容:
search localdomain #若是本Server爲DNS服務器,能夠加上這一句,若是不是,能夠不加
nameserver 172.16.3.4 #但願修改爲的DNS
nameserver 172.16.3.3 #但願修改爲的DNS
(3) Ubuntu Server 重啓網絡
在rc.local里加入這個重啓網絡配置的命令:
sudo /etc/init.d/networking restart
Desktop版本
在Desktop版本中,除了能夠修改 /etc/network/interfaces 來進行配置之外;還能夠直接在network-manager中配置。經過interfaces 修改的方法參照Server版本。network-manager的配置和直觀,按照提示一步一步操做便可,以下圖。有興趣的朋友,能夠自行Google 或者Baidu。
network-manager和/etc/network/interfaces衝突
若是修改了interfaces ,又配置了network-manager(簡稱nm),你就會發現出現了一些莫名其妙的問題:
1:interfaces 和 nm 中的網絡設置不同,系統實際的IP是哪一個?
2:有時候莫名其妙的,界面右上角的網絡鏈接圖標就丟失了。
3:明明在nm中配置了正確的網絡設置,爲何就上不了網呢?
其實,咱們要知道 interfaces 和 nm 之間的關係,這些問題就不難解釋了。
network-manager和/etc/network/interfaces的關係
1:當系統內無第三方網絡管理工具(如 nm)時,系統默認使用 interfaces 文件內的參數進行網絡配置。
2:當系統內安裝了 nm 以後,nm 默認接管了系統的網絡配置,使用 nm 本身的網絡配置參數來進行配置。
3:但若用戶在安裝 nm 以後(Desktop版本默認安裝了nm),本身又手動修改了 interfaces 文件,
那 nm 就自動中止對系統網絡的管理,系統改使用 interfaces 文件內的參數進行網絡配置。
此時,再去修改 nm 內的參數,不影響系統實際的網絡配置。
若要讓 nm 內的配置生效,必須從新啓用nm 接管系統的網絡配置。
如今知道了二者之間的工做關係,再看上面的三個問題:
1:要看nm是否接管,若是沒有接管,系統實際的IP設置以 interfaces 中的爲準。反之,以 nm 中的爲準。
2:當 nm 中止接管的時候,網絡鏈接圖標就丟失了。
3:一樣是接管的問題。
若是用戶但願在Desktop版本中,直接使用 interfaces 進行網絡配置,那最好刪除 network-manager 。
network-manager從新接管
若是在出現上述問題以後,但願能繼續使用 nm 來進行網絡配置,則須要進行以下操做:
sudo service network-managerstop #中止 nm 服務
sudo rm/var/lib/NetworkManager/NetworkManager.state #移除 nm 的狀態文件
sudo gedit /etc/NetworkManager/nm-system-settings.conf #打開 nm 的配置文件
## 裏面有一行:managed=true
## 若是你手工改過 /etc/network/interfaces ,nm 會本身把這行改爲:managed=false
## 將 false 修改爲 true
sudo service network-manager start vim