环境rhel 4,5
1.修改/etc/modprobe.conf中的alias修改成自己想要的名字,比如说lan
2.mv /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg- lan
3.修改ifcfg-lan中的Device为lan
4.移除model
#modprobe -r eth0
5.再把model加进来
#modprobe lan
6.重启网络。
搞定
在实际操作中,在虚拟机中试验不成功,因为我的虚拟机是ghost过来的,可能是这个原因吧。因为ghost
过来的MAC地址都和主机是一样的。关于如何更改MAC见我的另一篇文章。
上面的方法实际上是有些问题的。
新的内核管理设备是用udev管理的。
获取设备的属性
# udevinfo -a -p /sys/class/net/eth0
looking at device '/class/net/eth0':
KERNEL=="eth0"
SUBSYSTEM=="net"
SYSFS{weight}=="64"
SYSFS{tx_queue_len}=="1000"
SYSFS{flags}=="0x1003"
SYSFS{mtu}=="1500"
SYSFS{operstate}=="unknown"
SYSFS{dormant}=="0"
SYSFS{carrier}=="1"
SYSFS{broadcast}=="ff:ff:ff:ff:ff:ff"
SYSFS{address}=="00:11:5b:d1:0e:f8"
SYSFS{link_mode}=="0"
SYSFS{type}=="1"
SYSFS{features}=="0x29"
SYSFS{ifindex}=="12"
SYSFS{iflink}=="12"
SYSFS{addr_len}=="6"
......
在/etc/udev/rules.d/下创建新的规则文件10-my.rules
SUBSYSTEM=="net",SYSFS{address}=="00:11:5b:d1:0e:f8",NAME="lan0"
※ 注意:在udev规则文件中必须使用小写的16进制MAC地址,udev无法识别大写的MAC地址(或直接以udevinfo 的输出为准)。
另外,不建议使用系统核心会使用的设备名称,例如: eth0、eth1,等等。可改用“lan”或者“wlan”
编写设备文件
激活网卡时,系统会使用if-up 脚本读取/etc/sysconfig/network-scripts/下的ifcfg-xxx 配置文件,因此,需编写该配置文件。
从系统创建的ifcfg-eth0 拷贝为ifcfg-lan0:
# cd /etc/sysconfig/network-scripts/
# cp ifcfg-eth0 ifcfg-lan0之类的名字。
修改里面的DEVICE
# Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+
DEVICE=lan0
BOOTPROTO=none
BROADCAST=192.168.228.255
HWADDR=00:11:5B:D1:0E:F8
IPADDR=192.168.228.161
NETMASK=255.255.255.0
NETWORK=192.168.228.0
ONBOOT=yes
GATEWAY=192.168.228.153
TYPE=Ethernet
记得把旧的配置文件移除(切记)
停止网络服务并重新加载驱动模块
# service network stop
# lsmod|grep 8139
8139too 28928 0
8139cp 26368 0
mii 9216 2 8139too,8139cp
# rmmod 8139cp
# rmmod 8139too
重启udev
# start_udev
# service network start
阅读(1921) | 评论(0) | 转发(0) |