Redhat在RHEL 6(Redhat Enterprise Linux),上搞了一个 Network manger 服务(同样也影响对应的CentOs 版本)
据说是为了方便管理无线Wifi,也许它对普通桌面用户有一些用处,
但是对于极度依赖网络、经常进行远程管理的系统管理员来说,这东西就是一个灾难。
1
安装操作系统时,自动生成的网卡配置文件,
/etc/sysconfig/network-scripts/ifcfg-eth0
里面有如下的参数:
NM_CONTROLLED=yes
说明 Network manger服务缺省情况下是启动的,
#chkconfig --list | grep NetworkManager
NetworkManager 0:off 1:off 2:on 3:on 4:on 5:on 6:off
#service NetworkManager status
NetworkManager (pid 1634) is running...
当系统管理员按以前的习惯,在远程连接的终端上,修改 ifcfg-eth0文件时,网络可能立即中断,导致远程连接死机,无法进行任何操作。管理员只能到机房去(如果幸运,离机房比较近的话),到服务器的Console终端进行修改。
这是因为NM_CONTROLLED是network manger的参数,它是实时生效的,修改后无需要重启网络服务(或网卡),
如果NM_CONTROLLED=yes,当你修改ifcfg-ethx的文件内容时,如果内容不完全正确,有很大概率导致网络中断。
2
对于服务器、工作站、集群、虚拟机来说,一般都要把 NetworkManager 服务关掉:
#service NetworkManager status
NetworkManager (pid 1634) is running...
#service NetworkManager stop
Stopping NetworkManager daemon: [ OK ]
#chkconfig NetworkManager off
#chkconfig --list | grep NetworkManager
NetworkManager 0:off 1:off 2:off 3:off 4:off 5:off 6:off
同时,修改 /etc/sysconfig/network-scripts/ifcfg-eth0 等文件:
NM_CONTROLLED=no
Linux网卡配置文件详解:
DEVICE=eth0 #指出设备名称
NM_CONTROLLED=yes #network mamager的参数,实时生效,不需要重启
ONBOOT=yes #设置为yes,开机自动启用网络连接
IPADDR=192.168.21.129 #IP地址
BOOTPROTO=none #设置为none禁止DHCP,设置为static启用静态IP地址,设置为dhcp开启DHCP服务
NETMASK=255.255.255.0 #子网掩码
DNS1=8.8.8.8 #第一个dns服务器
TYPE=Ethernet #网络类型为:Ethernet
GATEWAY=192.168.21.2 #设置网关
DNS2=8.8.4.4 #第二个dns服务器
IPV6INIT=no #禁止IPV6
USERCTL=no #是否允许非root用户控制该设备,设置为no,只能用root用户更改
HWADDR=00:0C:29:2C:E1:0F #网卡的Mac地址
PREFIX=24
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
NAME="System eth0" #定义设备名称