Chinaunix首页 | 论坛 | 博客
  • 博客访问: 356198
  • 博文数量: 163
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 356
  • 用 户 组: 普通用户
  • 注册时间: 2016-07-01 14:18
文章分类

全部博文(163)

文章存档

2020年(4)

2019年(5)

2018年(4)

2017年(15)

2016年(11)

2015年(10)

2014年(4)

2013年(8)

2012年(13)

2011年(23)

2010年(2)

2009年(16)

2008年(20)

2007年(13)

2006年(12)

2005年(3)

分类: 系统运维

2014-02-06 14:48:30

http://blog.csdn.net/jiangheng0535/article/details/10288745

说明:大家都知道在etc下文件可以配置网络,而图形界面的ubuntu也可以控制网络,那他们2者有何联系呢?原来他们是2套不同的网络管理系统,有一定的协调机制,只能启用一个,详见下文,网上关于networkmanager的总结。

 

 

Linux延續 Unix風格,傳統上使用 /etc/network/interfaces(本文以 network/interfaces簡稱之)管理網路介面設定。不論那種 Linux散佈版本都支援這種設定方式, LPI檢定也是考這一招。而 Ubuntu近來在桌面環境下引進了另一套網路介面設定管理機制,即 。本文旨在說明 NetworkManager的使用要項。

Ubuntu Desktop edition (桌面版)才會安裝 NetworkManagerServer edition (伺服器版)並不會安裝 NetworkManager,仍然用傳統的 network/interfaces管理。兩種版本的網路設備管理策略並不相同,只有 Desktop edition的使用者才會用到 NetworkManagerNetworkManager network/interfaces兩種管理策略,基本上只能選擇一種使用。混用設定只會造成更多問題。

NetworkManager setting

NetworkManager的設定檔放在 /etc/NetworkManager/nm-system-settings.conf。它基本上只需要4行設定內容即可運作。*1*1這是 Debian/Ubuntu版本的組態內容。Fedora/RHEL使用不同的 plugins設定。

[main]

plugins=ifupdown,keyfile

 

[ifupdown]

managed=false

 

更改上述 NetworkManager的設定後,可以執行 sudo /etc/init.d/network-manager restart重新載入。*2*2 Ubuntu中,更改 network/interfaces的設定後,則可以執行 sudo /etc/init.d/networking restart重新載入設定。這兩套機制分別使用不同的管理指令。

按照的說法,當managed 設為 false時,NetworkManager會略過列在 network/interfaces內的網路設備。也就是說,如果我們把網路設定寫在 network/interfaces內的話,NetworkManager就不會去管理它。如下例,network/interfaces列出了 lo eth0這兩張網路介面的設定,故 NetworkManager就不會去管理 lo eth0這兩張網路介面。

# /etc/network/interfaces

auto lo

iface lo inet loopback

 

auto eth0

iface eth0 inet dhcp

 

如果主機上所有的網路介面設備都列在 network/interfaces設定的話,桌面上的 NetworkManager小圖示就會顯示紅色錯誤圖示,提示沒有設備可以管理 (No valid active connections found!)。這是正常的。

如果我們想由 NetworkManager管理 eth0的設定,那就要刪掉 network/interfaces內關於 eth0的設定內容。注意, network/interfaces內關於 lo的那兩行設定是必要的,請勿刪除。刪掉的話,系統將不具備 127.0.0.1 (localhost)的網路介面。

反之,如果我們將managed 設為 true時,NetworkManager會接管所有網路設備的設定,而忽略 network/interfaces的內容。

system-connections

基本上,NetworkManager會自動產生與更新 /etc/NetworkManager/system-connections下的網路卡資訊。如果你發現 NetworkManager不讓你手動修改網路連線,或是它更新網路設定之後無法正常連線時,可以試著手動刪除 /etc/NetworkManager/system-connections內的所有檔案,再重新開機(或重新啟動 NetworkManager)

sudo rm -rf /etc/NetworkManager/system-connections/*

sudo /etc/init.d/network-manager restart

 

70-persistent-net.rules

Debian/Ubuntu使用 udev管理硬體設備,也包括了網路卡。網路卡設備的內容會記錄在 /etc/udev/rules.d/70-persistent-net.rules。它也會影嚮 NetworkManager的運作。

當我們使用備份功能將系統複製到新的硬體上之後,會因為新網卡的 MAC address 70-persistent-net.rules內的 MAC address不相同,導致網路卡未被啟用、網路無法連線。此時,只需要刪除 70-persistent-net.rules,再重開機,讓系統重新產生 70-persistent-net.rules即可。

或者,手動編輯 70-persistent-net.rules,將 ATTR{address}=="..."的內容刪掉,再重開機。

·        Moving an Ubuntu Server install to another machine

·        http://www.debianhelp.co.uk/udev.htm

Ubuntu 9.10狀況

Ubuntu 9.10 NetworkManager存在一個 bug。當我們把所有網路設備都交由 network/interfaces設定時,NetworkManager會出現一個名稱叫 ifupdown的網路連線名稱,而且我們無法在 NetworkManager中編輯這個連線。不能編輯是正常現象,因為我們將這個網路卡的網路設定權交給了 interfaces。顯然 Ubuntu 9.10 NetworkManager在分析設定時有誤;在 Ubuntu 9.04中,NetworkManager不會出現 ifupdown這種名稱。

此時,我們有兩種處理方法。

1        如果我們就是想要用 network/interfaces設定網路,那就不用處理。

2        如果我們想改成用 NetworkManager設定網路。則按上述說明,將 network/interfaces中關於 eth0的設定項目全部刪除,把設定權交給 NetworkManager

阅读(4861) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~