这几天要在centous 5.5系统上调试网桥内核,工控机主板有7个网口,安装完系统后,我找啊找啊,找能通的网口,不断的ifdown ifup 网络适配器,终于把哪个是那个口搞清楚了,NND,重新编译了一个内核,全变了,生气啊。没法,重新定位吧,累,不知道什么时候他又会改变。没法,只好想办法解决了。
查了半天资料,终于决定使用udev来进行网口顺序的绑定了。因为udev采用比较弹性的而有效的方式管理/dev,并可以将网络接口配置为你想要的命名方式。
利用udev来改变网口顺序和名字,需要修改的文件和用到的命令如下:
需要注明的是,我使用的是e1000e网卡驱动,即intel express pci 千兆网卡。
1. 使用udevinfo -ap /sys/class/net/eth0 来获取网卡再内核中的使用的驱动模块名称,硬件ID,MAC地址等。
2. 修改/etc/udev/rules.d/60-net.rules,再文件后追加,格式为
DRIVER=="e1000e", ID=="0000:09:00.0", NAME="lan0"
当然,不用pci_bus ID,也可以使用mac地址来改变,把ID那部分,改为SYSFS{address}=="00:1a:64:22:04:83"
3. 修改/etc/modprobe.conf,把其中的alias eth0 e1000e改为alias lan0 e1000e;
4. mv /etc/sysconfig/network-script/下的ifcfg-eth0为ifcfg-lan0 并修改里面的内容,改变名字eth0->lan0,去掉HWADDR那行;
以上四步要对多个网口做同样的工作;
5. 再服务中去掉kuzu这个服务,这个是自动探测硬件改变的;
6. 停掉网络服务, service network stop;
7. 从系统模块中,删除e10000e模块,rmmod e1000e;
8. 执行start_udev;
9. 执行service network start
经过以上9步,新的网络口顺序终于成功了。