centos网卡重命名


    在cento卡模块就是网卡的驱动程序,驱动程序是一种可以使计算机和设备通信的特殊程序,是硬件厂商根据操作系统编写的配置文件,是添加到操作系统中的一小块代码,其中包含有关硬件设备的信息,相当于硬件的接口,操作系统只能通过这个接口,才能控制硬件设备的工作,s网如若系统没有加载网卡模块,则无法识别硬件物理网卡。

    在centos6中查看系统所使用的网络驱动ethtool工具:

[root@centos6 ~]# 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
[root@centos6 ~]# modprobe -r e1000     #卸载网卡驱动后,ssh等断开
######################通过桌面终端查看验证###########################
[root@centos6 ~]# 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)
[root@centos6 net]# cd /lib/modules/2.6.32-696.el6.x86_64/kernel/drivers/net
[root@centos6 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
[root@centos6 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=***配置文件

    具体可参考如下实例:

[root@centos6  ~]# sed -i 's/eth0/eth-DB1/;s/eth1/eth-DB2/'  /etc/udev/rules.d/70-persistent-net.rules                                              #第一步:通过sed处理 文件名字更改  

root@centos6 ~]#  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"

[root@centos6  ~]#                                 #第二步:修改配置文件中的设备name

sed -i  's/eth0/eth-DB1/g' /etc/sysconfig/network-scripts/ifcfg-eth0

[root@centos6  ~]#                                 #第三步:修改配置文件中的设备name

sed -i 's/eth1/eth-DB2/g'  /etc/sysconfig/network-scripts/ifcfg-eth1

[root@centos6  ~]# modprobe -r e1000               #卸载驱动模块或重启机器

###############################通过桌面终端查看验证############################

[root@centos6  ~]# modprobe e1000                  #重新加载驱动模块

[root@centos6  ~]# ip a

1: lo:   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:   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:   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