1. 程式人生 > >Ubuntu中網路配置interfaces與介面網路配置NetworkManager

Ubuntu中網路配置interfaces與介面網路配置NetworkManager

【Server版本】

在Ubuntu Server版本中,因為只存有命令列模式,所以要想進行網路引數設定,只能通過修改 /etc/network/interfaces 。具體設定方法如下:

(1) Ubuntu Server 修改 IP地址

開啟 /etc/network/interfaces 

sudo vim /etc/network/interfaces

加入以下語句:

auto eth0

iface eth0 inet static

address xxx.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

改為如下內容:

searchlocaldomain #如果本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。

但如果修改了interfaces,又配置了network-manager(以下簡稱nm),你就會發現出現了一些莫名其妙的問題:

1,interfaces和 nm中的網路設定不一樣,系統實際的IP是哪個?

2,有時候莫名其妙的,介面右上角的網路連線圖示就丟失了。

3,明明在nm中配置了正確的網路設定,為什麼就上不了網呢?

其實,我們要知道 interfaces和 nm之間的關係,這些問題就不難解釋了。

首先,當系統內沒有第三方網路管理工具(比如nm)時,系統預設使用interfaces檔案內的引數進行網路配置。(就像Server版本一樣)

接著,當系統內安裝了 nm之後,nm預設接管了系統的網路配置,使用nm 自己的網路配置引數來進行配置。

但是,如果使用者在安裝nm之後(Desktop版本預設安裝了nm),自己手動修改了interfaces 檔案,那nm 就自動停止對系統網路的管理,系統改使用interfaces 檔案內的引數進行網路配置。

此時,再去修改nm 內的引數,不影響系統實際的網路配置。若要讓nm 內的配置生效,必須重新啟用nm 接管系統的網路配置。

 

 

現在知道了兩者之間的工作關係,再看上面的三個問題:

1,要看nm是否接管,如果沒有接管,系統實際的IP設定以interfaces 中的為準。反之,以nm 中的為準。

2,當nm 停止接管的時候,網路連線圖示就丟失了。

3,同樣是接管的問題。

如果使用者希望在Desktop版本中,直接使用interfaces 進行網路配置,那可以關閉network-manager:

/etc/init.d/network-manager stop

vi /etc/network/interfaces修改之後

確保/etc/NetworkManager/Network-manager.conf內的managed=false(系統預設是false,但是你更改過的話需要改這裡)

/etc/init.d/networking restart

如果希望能繼續使用nm 來進行網路配置,則需要進行如下操作:

sudo service network-manager stop # 停止 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)

## 將false 修改成true

sudo servicenetwork-manager start

 

 

 

 

來源: https://blog.csdn.net/jiangheng0535/article/details/10288745