Centos 7 中网卡重命名及网乱序解决方案
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos 7 中网卡重命名及网乱序解决方案相关的知识,希望对你有一定的参考价值。
参考技术A从 /lib/udev/rules.d 可提取出网卡名称相关的配置文件:
60-net.rules
使用 /lib/udev/rename_device 这个程序,去查询 /etc/sysconfig/network-scripts/ 下所有以ifcfg-开头的文件
如果在 ifcfg-xx 中匹配到 HWADDR=xx:xx:xx:xx:xx:xx 参数的网卡接口
则选取 DEVICE=yyyy 中设置的名字作为网卡名称。
71-biosdevname.rules
如果系统中安装了 biosdevname ,且内核参数未指定 biosdevname=0 ,且上一步没有重命名网卡,则按照 biosdevname 的命名规范,从BIOS中取相关信息来命名网卡。
主要是取 SMBIOS 中的 type 9 (System Slot) 和 type 41 (OnboardDevices Extended Information)
不过要求 SMBIOS 的版本要高于2.6,且系统中要安装 biosdevname 程序。
75-net-description.rules
udev 通过检查网卡信息,填写如下这些 udev 的属性值
ID_NET_NAME_ONBOARD
ID_NET_NAME_SLOT
ID_NET_NAME_PATH
ID_NET_NAME_MAC
80-net-name-slot.rules
如果在 60-net.rules , 71-biosdevname.rules 这两条规则中没有重命名网卡,且内核未指定 net.ifnames=0 参数
则 udev 依次尝试使用以下属性值来命名网卡,如果这些属性值都没有,则网卡不会被重命名。
ID_NET_NAME_ONBOARD
ID_NET_NAME_SLOT
ID_NET_NAME_PATH
硬件:戴尔服务器
系统: Centos 7
千兆网卡:1,(4个接口)
万兆网卡:1(2个接口)
网卡 1 mac:00:0c:29:6e:8e:40
1 .网卡重命名测试
测试用例 :修改网卡1 的配置文件,步骤为添加文件 /etc/sysconfig/network-scripts/ifcfg-eth0
在上面的条件下,分别使用不同只的 biosdevname 和 net.ifnames ,然后重启查看网卡名称
测试结果 :
2. 网卡乱序测试
测试用例 :
测试结果
结论
在不修改 udev 规则的条件下, /etc/sysconfig/network-scripts/ 的 ifcfg-* 文件的优先最高。在 ifcfg-* 文件中将 DEVICE 和 mac 绑定后重命名网卡名称和避免网卡乱序。
centos 网卡重命名
centos网卡重命名
在cento卡模块就是网卡的驱动程序,驱动程序是一种可以使计算机和设备通信的特殊程序,是硬件厂商根据操作系统编写的配置文件,是添加到操作系统中的一小块代码,其中包含有关硬件设备的信息,相当于硬件的接口,操作系统只能通过这个接口,才能控制硬件设备的工作,s网如若系统没有加载网卡模块,则无法识别硬件物理网卡。
在centos6中查看系统所使用的网络驱动ethtool工具:
[[email protected] ~]# ethtool -i eth0 #查看网卡驱动 driver: e1000 version: 7.3.21-k8-NAPI firmware-version: bus-info: 0000:02:01.0 supports-statistics: yes supports-test: yes supports-eeprom-access: yes supports-register-dump: yes supports-priv-flags: no [[email protected] ~]# modprobe -r e1000 #卸载网卡驱动后,ssh等断开 ######################通过桌面终端查看验证########################### [[email protected] ~]# ifconfig #卸载网卡驱动后,只有环回口 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:60 errors:0 dropped:0 overruns:0 frame:0 TX packets:60 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:5280 (5.1 KiB) TX bytes:5280 (5.1 KiB) [[email protected] net]# cd /lib/modules/2.6.32-696.el6.x86_64/kernel/drivers/net [[email protected] net]# ll |grep e100 #查看相关驱动安装的位置 drwxr-xr-x. 2 root root 4096 Jul 14 10:39 e1000 drwxr-xr-x. 2 root root 4096 Jul 14 10:39 e1000e -rwxr--r--. 1 root root 66400 Mar 22 03:45 e100.ko [[email protected] net]# modprobe e1000 #装载系统网卡模块 |
在Linux系统之上一切皆文件,网卡的命名同样由相关配置文件组成,在centos6中网卡的启动识别文件/etc/udev/rules.d/70-persistent-net.rules,通过修改此配置文件即可实现网卡的重命名,具体可是将网卡重命名分为两步:
第一步:修改/etc/udev/rules.d/70-persistent-net.rules配置文件
第二步:修改/etc/sysconfig/network-scripts/ifcfg-eth*中的 DEVICE=***和NAME=***配置文件
具体可参考如下实例:
[[email protected] ~]# sed -i ‘s/eth0/eth-DB1/;s/eth1/eth-DB2/‘ /etc/udev/rules.d/70-persistent-net.rules #第一步:通过sed处理 文件名字更改 [email protected] ~]# cat /etc/udev/rules.d/70-persistent-net.rules # This file was automatically generated by the /lib/udev/write_net_rules # program, run by the persistent-net-generator.rules rules file. # You can modify it, as long as you keep each rule on a single # line, and change only the value of the NAME= key. # PCI device 0x8086:0x100f (e1000) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:ad:7b:c1", ATTR{type}=="1", KERNEL=="eth*", NAME="eth-DB1" # PCI device 0x8086:0x100f (e1000) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:ad:7b:cb", ATTR{type}=="1", KERNEL=="eth*", NAME="eth-DB2" [[email protected] ~]# #第二步:修改配置文件中的设备name sed -i ‘s/eth0/eth-DB1/g‘ /etc/sysconfig/network-scripts/ifcfg-eth0 [[email protected] ~]# #第三步:修改配置文件中的设备name sed -i ‘s/eth1/eth-DB2/g‘ /etc/sysconfig/network-scripts/ifcfg-eth1 [[email protected] ~]# modprobe -r e1000 #卸载驱动模块或重启机器 ###############################通过桌面终端查看验证############################ [[email protected] ~]# modprobe e1000 #重新加载驱动模块 [[email protected] ~]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 8: eth-DB1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 #验证说明配置文件已更改 link/ether 00:0c:29:ad:7b:c1 brd ff:ff:ff:ff:ff:ff inet 192.168.100.128/24 brd 192.168.100.255 scope global eth-DB1 inet6 fe80::20c:29ff:fead:7bc1/64 scope link valid_lft forever preferred_lft forever 9: eth-DB2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 #验证说明配置文件已更改 link/ether 00:0c:29:ad:7b:cb brd ff:ff:ff:ff:ff:ff inet 172.18.253.115/16 brd 172.18.255.255 scope global eth-DB2 inet6 fe80::20c:29ff:fead:7bcb/64 scope link valid_lft forever preferred_lft forever |
在centos7中,正常情况下网卡的命名过程如下:
第一步:
udev, 辅助工具程序/lib/udev/rename_device/usr/lib/udev/rules.d/60-net.rules
第二步:
biosdevname会根据/usr/lib/udev/rules.d/71-biosdevname.rules
第三步:
通过检测网络接口设备,根据/usr/lib/udev/rules.d/75-net-description
ID_NET_NAME_ONBOARD
ID_NET_NAME_SLOT
ID_NET_NAME_PATH
如若采用传统的网卡命名则采用如下方式:
1./etc/default/grub and add net.ifnames=0 biosdevname=0 to line GRUB_CMDLINE_LINUX,
2.grub2-mkconfig -o /boot/grub2/grub.cfg #修改开启启动引导文件,执行命令重新生效
3.vim /etc/sysconfig/network-scripts/ifcfg-eno1 #编辑配置网卡配置文件
......
NAME=eth0 #修改name和设备名称
DEVICE=eth0
4. mv /etc/sysconfig/network-scripts/ifcfg-eno1 /etc/sysconfig/network-scripts/ifcfg-eth0
5. shutdown -r now #修改网卡1和网卡2位eth0和eth1
本文出自 “11831715” 博客,请务必保留此出处http://11841715.blog.51cto.com/11831715/1958144
以上是关于Centos 7 中网卡重命名及网乱序解决方案的主要内容,如果未能解决你的问题,请参考以下文章