linux如何修改网卡名称?方法教程

发布时间:2019-09-22编辑:脚本学堂
本文介绍了linux系统中修改网卡名称的方法,修改 /etc/udev/rules.d/70-persistent-net.rules文件中的映射关系,需要的朋友参考下。

本节内容:
linux修改网卡名称

一、问题说明
因为虚拟机之间经常复制来复制去,导致网卡配置这块的不一致现象,因此考虑修改网卡名称。
 
配置文件的信息:
 

[root@ora10g network-scripts]# catifcfg-eth0
DEVICE="eth0"
NM_CONTROLLED="yes"
ONBOOT=yes
TYPE=Ethernet
BOOTPROTO=none
IPADDR=192.168.1.12
PREFIX=24
GATEWAY=192.168.1.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
NAME="System eth0"
UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03
HWADDR=08:00:27:BD:A6:ED
 
[root@ora10g network-scripts]# catifcfg-eth1
DEVICE="eth1"
NM_CONTROLLED="yes"
ONBOOT=yes
TYPE=Ethernet
BOOTPROTO=none
IPADDR=192.168.1.13
PREFIX=24
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth1"
UUID=9c92fad9-6ecb-3e6c-eb4d-8a47c6f50c04
HWADDR=08:00:27:6E:86:10

这里对应的是网卡名称是eth0和eth1.
 
但是如果使用ifconfig 命令查看:
 

[root@ora10g network-scripts]# ifconfig -a
eth2     Link encap:Ethernet  HWaddr08:00:27:BD:A6:ED
         inet addr:192.168.1.12 Bcast:192.168.1.255 Mask:255.255.255.0
         inet6 addr: fe80::a00:27ff:febd:a6ed/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST MTU:1500  Metric:1
         RX packets:187 errors:0 dropped:0 overruns:0 frame:0
         TX packets:59 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:16356 (15.9 KiB)  TXbytes:6116 (5.9 KiB)
 
eth3     Link encap:Ethernet  HWaddr08:00:27:6E:86:10
         inet addr:192.168.1.13 Bcast:192.168.1.255 Mask:255.255.255.0
         inet6 addr: fe80::a00:27ff:fe6e:8610/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:1357 errors:0 dropped:0 overruns:0 frame:0
         TX packets:1099 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:120604 (117.7 KiB)  TXbytes:115937 (113.2 KiB)
 
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:16436  Metric:1
         RX packets:8 errors:0 dropped:0 overruns:0 frame:0
         TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0
         RX bytes:480 (480.0 b)  TXbytes:480 (480.0 b)
 

这里的网卡名称是eth2和eth3.
 
二、解决方法
修改 /etc/udev/rules.d/70-persistent-net.rules文件中的映射关系即可。
 

--修改之前:
[root@ora10g network-scripts]# cat/etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated bythe /lib/udev/write_net_rules
# program, run by thepersistent-net-generator.rules rules file.
#
# You can modify it, as long as you keepeach rule on a single
# line, and change only the value of theNAME= key.
 
# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net",ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:d4:ab:67",ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
 
# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net",ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:af:2b:37",ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
 
# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net",ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:bd:a6:ed",ATTR{dev_id}=="0x0", ATTR{type}=="1",KERNEL=="eth*", NAME="eth2"
 
# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net",ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:6e:86:10",ATTR{dev_id}=="0x0", ATTR{type}=="1",KERNEL=="eth*", NAME="eth3"
 
--修改之后:
[root@ora10g network-scripts]# cat/etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated bythe /lib/udev/write_net_rules
# program, run by thepersistent-net-generator.rules rules file.
#
# You can modify it, as long as you keepeach rule on a single
# line, and change only the value of theNAME= key.
 
# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net",ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:6E:86:10",ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
 
# PCI device 0x8086:0x100e (e1000)
SUBSYSTEM=="net",ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:BD:A6:ED",ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
 

注意,此处mac地址要与ifcfg-eth0 保持一致。
 
然后重启下网卡和udev:
 

--ifdown 网卡:
ifdown eth0
ifdown eth1
 
--重启udev
/etc/init.d/udev-post stop;
/etc/init.d/udev-post start

--或使用:
service udev-post stop
service udev-post start
 

注意: 对与oracle linux 是udev-post, 而redhat 是udev。
 
--ifup:
 

ifup eth0
ifup eth1

注意,在测试中,这2个都没有效果,要把整个OS都重启了才生效。