• CentOS修改网卡名称


    一.问题说明

    测试环境中出现的小问题,因为虚拟机之间经常复制来复制去,导致网卡配置这块的不一致现象。

    配置文件的信息:

    [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都重启了,才生效的。 小知识,随笔记之。

  • 相关阅读:
    c++ 虚继承与继承的差异 (转)
    主题:PageRank解释
    (转)开源爬虫larbin分析
    Django随笔
    原生爬虫小Demo
    SVN
    Python的正则表达式与JSON
    类库 方法 模块等
    笔记
    自动补全Typeahead
  • 原文地址:https://www.cnblogs.com/iclk/p/4758442.html
Copyright © 2020-2023  润新知