問題描述
使用KVM通過修改配置文件配置好網卡IP,使用命令行service network restart 重啟網絡服務失敗。
如圖:
使用圖形化管理工具配置IP,在系統界面右上角可以看到網卡狀態為未連接,配置好IP以后使用service network restart命令時報同樣的錯。
如圖:
如圖:

使用圖形化管理工具配置IP,在系統界面右上角可以看到網卡狀態為未連接,配置好IP以后使用service network restart命令時報同樣的錯。
如圖:

告警信息
使用ping命令查看路由是否通暢,系統提示“network is unreachable”。
處理過程
解決的方法很簡單,直接將NetworkManager服務關閉即可。步驟描述如下:
步驟 1 查看NetworkManager服務是否開啟。
因系統版本各異,NetworkManager服務的具體名稱可以用chkconfig --list查看。
如圖所示:
從圖中,可以發現NetworkManager服務已經開啟了。
步驟 2 禁用NetworkManager服務。
將當前激活的服務關閉,使用下面的命令:
service NetworkManager stop
使用下面的命令禁止服務自啟動。
chkconfig NetworkManager off
步驟 3 使用腳本方式配置IP地址。
步驟 1 查看NetworkManager服務是否開啟。
因系統版本各異,NetworkManager服務的具體名稱可以用chkconfig --list查看。
如圖所示:

從圖中,可以發現NetworkManager服務已經開啟了。
步驟 2 禁用NetworkManager服務。
將當前激活的服務關閉,使用下面的命令:
service NetworkManager stop
使用下面的命令禁止服務自啟動。
chkconfig NetworkManager off
步驟 3 使用腳本方式配置IP地址。
根因
使用/etc/network/interfaces腳本文件配置IP信息的時候,使用的是Network服務;使用圖形化界面配置IP地址的時候,使用的是NetworkManager服務。
Netwok服務和NetworkManager服務之間存在下面的關系:
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="dhcp"
HWADDR="00:1F:29:57:8B:A8"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
不同的系統中,NetworkManager服務的標志位不同。例如Ubuntu中是存放在配置文件/etc/NetworkManager/nm-system-settings.conf中,名稱為managed。
配置文件修改后,需要重啟NetworkManager服務。
本案例中,系統默認啟用了NetworkManager服務,詳細信息如下所示:
[root@localhost ~]# chkconfig|grep -i network
NetworkManager 0:off 1:off 2:on 3:on 4:on 5:on 6:off
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@localhost ~]#
此時再啟用Network服務時是不生效的。所以重啟Network服務會失敗。
Netwok服務和NetworkManager服務之間存在下面的關系:
- 當系統內無NetworkManager時,系統默認使用Netwok服務進行網絡配置。
- 當系統內啟用了NetworkManager之后,NetworkManager默認接管了系統的網絡配置。此時需要使用NetworkManager自己的網絡配置參數來進行配置。適用於桌面環境,例如使用筆記本等。
- 當Network-Manager發現/etc/network/interfaces被改動的時候,則關閉自己(顯示為未托管),除非NetworkManager的相關標志位設置成真。
- 當NetworkManager的相關標志位設置成真時,/etc/network/interfaces,則不生效。
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="dhcp"
HWADDR="00:1F:29:57:8B:A8"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
不同的系統中,NetworkManager服務的標志位不同。例如Ubuntu中是存放在配置文件/etc/NetworkManager/nm-system-settings.conf中,名稱為managed。
配置文件修改后,需要重啟NetworkManager服務。
本案例中,系統默認啟用了NetworkManager服務,詳細信息如下所示:
[root@localhost ~]# chkconfig|grep -i network
NetworkManager 0:off 1:off 2:on 3:on 4:on 5:on 6:off
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@localhost ~]#
此時再啟用Network服務時是不生效的。所以重啟Network服務會失敗。
建議與總結
從Red Hat 6開始,默認是開啟NetworkManager服務的,此時通過修改腳本的方式配置IP地址將無效。