Linux備份ifcfg-eth0文件導致的網絡故障問題
今天在給一臺操作系統為Oracle Linux Server release 5.7的服務器配置網絡時,遇到了備份ifcfg-eth0配置文件,導致網卡無法綁定IP地址的情況。覺得是個有意思的案例,特此記錄一下,以供學習參考,避免以后再犯同類錯誤。
在裝系統的時候沒有配置網絡,等到裝好系統后,從系統管理員那里了解了IP、子網掩碼、網關信息后,才開始配置網絡。在修改ifcfg-eth0網卡配置文件前,先備份一份配置文件,以免由于修改不當,導致無法還原到最初的配置。這也是事情的起因。
- [root@localhost ~]# cd /etc/sysconfig/network-scripts/
- [root@localhost network-scripts]# cp ifcfg-eth0 ifcfg-eth0_bak
- [root@localhost network-scripts]# more ifcfg-eth0_bak
- # Intel Corporation 82545EM Gigabit Ethernet Controller (Copper)
- DEVICE=eth0
- BOOTPROTO=dhcp
- HWADDR=00:50:56:92:56:05
- ONBOOT=yes
接下來添加IP地址、子網掩碼等,
- [root@localhost network-scripts]# vi ifcfg-eth0
- # Intel Corporation 82545EM Gigabit Ethernet Controller (Copper)
- DEVICE=eth0
- BOOTPROTO=static
- #BROADCAST=192.168.7.255
- HWADDR=00:50:56:92:56:05
- IPADDR=192.168.7.222
- NETMASK=255.255.255.0
- ONBOOT=yes
- TYPE=Ethernet
在配置文件 /etc/sysconfig/network下增添網關信息后,重啟網絡服務,結果如下所示:
- [root@localhost network-scripts]# more /etc/sysconfig/network
- NETWORKING=yes
- GATEWAY=192.168.7.1
- NETWORKING_IPV6=no
- HOSTNAME=localhost.localdomain
于是通過setup命令,進入圖形化配置界面,結果如下所示,由于備份文件名為ifcfg-eth0_bak,結果Linux系統將其視為另外一塊網卡的配置信息,結果導致無法為網卡綁定IP地址(因為該配置文件啥都沒有)。
- [root@localhost ~]# setup
于是將備份文件重命名為bak_ifcfg-eth0后,重啟網絡服務后,OK,網卡綁定了IP地址,網絡暢通了。
- [root@localhost network-scripts]# mv ifcfg-eth0_bak bak_ifcfg-eth0
- [root@localhost network-scripts]# service network restart
- Shutting down interface eth0: [ OK ]
- Shutting down loopback interface: [ OK ]
- Bringing up loopback interface: [ OK ]
- Bringing up interface eth0: [ OK ]
- [root@localhost network-scripts]#
同時我在網上也看到有網友遇到過類似問題:http://www.linuxfly.org/post/291/, Linux修改配置文件一定要千萬小心,有時候那怕是一個空格就會導致結果逆轉。