剛遇到的坑,因為操作不當導致網絡中斷,于是手動配置了/etc/network/interfaces , 修復了系統之后發現ubuntu-desktop中的有線鏈接不見了,百度了一下說是networking服務和network-manger服務會起沖突。
======================
【Server版本】
在UbuntuServer版本中,因為只存有命令行模式,所以要想進行網絡參數設置,只能通過修改/etc/network/interfaces。具體設置方法如下:
(1) UbuntuServer?修改 IP地址
打開/etc/network/interfaces
sudo vim/etc/network/interfaces
加入以下語句:
auto eth0
iface eth0inet static
addressxxx.xxx.xxx.xxx #IP地址
netmaskxxx.xxx.xxx.xxx #子網掩碼
gatewayxxx.xxx.xxx.xxx #網關
(2) UbuntuServer?修改 DNS
打開/etc/resolv.conf
sudo vim/etc/resolv.conf
改為如下內容:
searchlocaldomain #如果本Server為DNS服務器,可以加上這一句,如果不是,可以不加
nameserver172.16.3.4 #希望修改成的DNS
nameserver172.16.3.3 #希望修改成的DNS
(3) UbuntuServer?最后一步,也是最重要的一步
在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?。
如果在出現上述問題之后,希望能繼續使用nm?來進行網絡配置,則需要進行如下操作:
sudo servicenetwork-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?修改成true
sudo servicenetwork-manager start
轉: 梧桐葉技術博客
Debian/Ubuntu的Network-Manager
?????? debian/ubuntu管理網絡連接的有兩個東西,圖形化的NetworkManager和文字的 ifup/ifdown,如果在 /etc/network/interfaces里設置了網卡信息,那么NetworkManager就不會接管該網卡,如果沒有設置NetworkManager默認是會接管網卡的. NetworkManager最方便的地方是個人電腦用無線連網的時候,因為文字界面的 iwlist wlan0 scan 并不是非常好用,而NetworkManger可以像windows那樣列出所有可用的wifi熱點,如果有中文亂碼的,也一樣可以連接,但如果你的機子是用來做服務器的,或者是在辦公室里使用,有固定的路由環境,一般來說,也會有固定的ip,因為這樣可以方便內網共享資源。總之不是個人用的,而且不用移來移去的話,最好是關掉這個NetworkManager,當然如果你經常帶著本子跑,想去咖啡館蹭網的話,就一定要打開這個NetworkManager,自動搜索無線非常方便了。
?? ?下面來說說這兩種情況:
1,使用NetworkManger來聯網,這個時候,如果使用了無線連接路由,而在/etc/network/interfaces里配置了有線連接的eth0的話,就會發生一個超級詭異的問題:可以訪問外網,但不能訪問內網,比如無線路由ip 192.168.0.1,ping該地址,會顯示有線網卡的ip地址無法ping通,而不是無線!證明在設置了有線eth0的時候,會優先采用,但奇怪的是,外網連接正常,所有我懷疑這可能是debian的一個bug。所以當使用 NetworkManager的時候,可以注釋掉所有/etc/network/interfaces 里的內容,僅僅保留本地回環網絡:
?? ??? ?auto lo
?? ??? ?iface lo inet loopback
?? ?這兩句。設置固定ip,可以在NetworkManager圖形界面里配置。
2,關閉NetworkManager,關閉命令:sudo /etc/init.d/network-manager stop 取消開機啟動:chkconfig network-manager off 重啟網絡:/etc/init.d/networking restart
?? ?修改 /etc/network/interfaces 文件,
?? ?系統配置部分:本地回環網絡。
?? ??? ?auto lo
?? ??? ?iface lo inet loopback
?? ?有線配置部分:
?? ??? ?auto eth0
?? ??? ?#iface eth0 inet dhcp # 如果你不想用固定ip的話,推薦用固定ip,這樣可以省去請求路由分配的時間
?? ??? ?iface eth0 inet static
?? ??? ?netmask 255.255.255.0
?? ??? ?gateway 192.168.0.1????? #gateway 0.0.0.0 # 撥號上網請把 gateway全部設置為0
?? ??? ?address 192.168.0.112
?? ?無線配置部分:
?? ??? ?auto wlan0
?? ??? ?iface wlan0 inet static
?? ??? ?netmask 255.255.255.0
?? ??? ?gateway 192.168.0.1
?? ??? ?address 192.168.0.113
?? ??? ?pre-up ip link set wlan0 up
?? ??? ?pre-up iwconfig wlan0 essid ssid
?? ??? ?wpa-ssid TP-Link # 這里的ssid為路由里設置的無線名稱
?? ??? ?wpa-psk 12345678 # 無線密碼
?? ?adsl撥號上網:
?? ??? ?auto dsl-provider
?? ??? ?iface dsl-provider inet ppp # dsl-provider 為之前配置好的撥號名稱
?? ??? ?provider dsl-provider
轉自:http://blog.csdn.net/anhuidelinger/article/details/17584299
=====================================
上面是從網上轉的博客,如果是想要解決問題的話沒有問題,但并沒有說到實質問題的根源。在我手動配置了/etc/networking/interfaces后去重啟 networking服務時會報錯:ubuntu RTNETLINK answers: File exists,錯誤顯示網絡設備文件已經創建了,也就是說兩個服務起沖突的原因是都會去創建網絡設備文件。