暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Linux:如何修改网卡名称

Nephilim 2024-09-23
199

Tips:一些记录,一些笔记



2024/09/23

MONDAY

A wise man removes inner dirt, clean up the impurity in the silver as craftsmen.

聪明的人时常清除内心的污垢,就如同工匠清理银矿中的杂质。



01

Linux的网卡名称


Linux操作系统有时候网卡名称很随意,比方说常见的:

  • eth0

  • ens192


有时候,我们并不希望它随机生成一个名称,而是希望将对应网卡的名称修改为更有意义的名称。


本文将介绍如何变更Linux的网卡名称。


02

新增虚拟网卡


为了演示,我的环境是虚拟机,首先,新增虚拟网卡:


新增前后,通过命令查看网卡状态的差别:

    [root@minio1 ~]# ip addr | grep -A1 qdisc
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    --
    2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:50:56:ac:48:20 brd ff:ff:ff:ff:ff:ff
    --
    3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 52:54:00:5c:41:0b brd ff:ff:ff:ff:ff:ff
    --
    4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
    link/ether 52:54:00:5c:41:0b brd ff:ff:ff:ff:ff:ff
    [root@minio1 ~]#
    [root@minio1 ~]# ip addr | grep -A1 qdisc
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    --
    2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:50:56:ac:48:20 brd ff:ff:ff:ff:ff:ff
    --
    3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 52:54:00:5c:41:0b brd ff:ff:ff:ff:ff:ff
    --
    4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
    link/ether 52:54:00:5c:41:0b brd ff:ff:ff:ff:ff:ff
    5: ens224: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:50:56:ac:1c:a5 brd ff:ff:ff:ff:ff:ff
    [root@minio1 ~]#

    可以看到,多了一个「ens224」的网卡,并且它的MAC地址是【00:50:56:ac:1c:a5】。


    03

    修改网卡名称

    首先,查看网卡的配置文件所在目录,确认当前状态:

      [root@minio1 ~]# ls -ltr etc/sysconfig/network-scripts/ | grep ifcfg
      -rw-r--r--. 1 root root 254 May 22 2020 ifcfg-lo
      -rw-r--r--. 1 root root 405 Sep 13 10:12 ifcfg-ens192
      [root@minio1 ~]#


      下面开始正式修改。


      通过「nmcli」查看目标网卡的UUID:

        [root@minio1 ~]# nmcli con show
        NAME UUID TYPE DEVICE
        ens192 609479c9-26b1-4529-a47c-b15906cea453 ethernet ens192
        Wired connection 1 054edbad-4775-3aaa-8e10-576ce261ccd8 ethernet ens224
        virbr0 7bfef163-022c-4e21-99e9-91b73533dc77 bridge virbr0
        [root@minio1 ~]#

        可以看到,第二排的网卡就是我们的目标网卡,它的UUID「054edbad-4775-3aaa-8e10-576ce261ccd8


        然后使用「nmcli」工具,通过UUID,将该网卡设置为你期望的「新名称」

          [root@minio1 ~]# nmcli con modify 054edbad-4775-3aaa-8e10-576ce261ccd8 connection.id eth1
          [root@minio1 ~]#
          [root@minio1 ~]# ls -ltr etc/sysconfig/network-scripts/ | grep ifcfg
          -rw-r--r--. 1 root root 254 May 22 2020 ifcfg-lo
          -rw-r--r--. 1 root root 405 Sep 13 10:12 ifcfg-ens192
          -rw-r--r-- 1 root root 317 Sep 23 19:36 ifcfg-eth1
          [root@minio1 ~]#
          [root@minio1 ~]# cat etc/sysconfig/network-scripts/ifcfg-eth1
          HWADDR=00:50:56:AC:1C:A5
          TYPE=Ethernet
          PROXY_METHOD=none
          BROWSER_ONLY=no
          BOOTPROTO=dhcp
          DEFROUTE=yes
          IPV4_FAILURE_FATAL=no
          IPV6INIT=yes
          IPV6_AUTOCONF=yes
          IPV6_DEFROUTE=yes
          IPV6_FAILURE_FATAL=no
          IPV6_ADDR_GEN_MODE=stable-privacy
          NAME=eth1
          UUID=054edbad-4775-3aaa-8e10-576ce261ccd8
          ONBOOT=yes
          AUTOCONNECT_PRIORITY=-999
          [root@minio1 ~]#

          通过配置文件的变化可以看到,新增了一个新的网卡名称的配置文件。


          最后,重新加载网络配置,使之生效:

            [root@minio1 ~]# nmcli con up eth1
            Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/5)
            [root@minio1 ~]#


            这个时候,通过「nmcli con show」可以看到修改后的效果:

              [root@minio1 ~]# nmcli con show
              NAME UUID TYPE DEVICE
              ens192 609479c9-26b1-4529-a47c-b15906cea453 ethernet ens192
              eth1 054edbad-4775-3aaa-8e10-576ce261ccd8 ethernet ens224
              virbr0 7bfef163-022c-4e21-99e9-91b73533dc77 bridge virbr0
              [root@minio1 ~]#


              但这样的修改,并没有完全达到我们期望的效果:

                [root@minio1 ~]# ifconfig | grep flags
                ens192: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
                ens224: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
                lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
                virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
                [root@minio1 ~]#
                [root@minio1 ~]# ip addr | grep -A1 qdisc
                1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
                link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
                --
                2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
                link/ether 00:50:56:ac:48:20 brd ff:ff:ff:ff:ff:ff
                --
                3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
                link/ether 52:54:00:5c:41:0b brd ff:ff:ff:ff:ff:ff
                --
                4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
                link/ether 52:54:00:5c:41:0b brd ff:ff:ff:ff:ff:ff
                5: ens224: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
                link/ether 00:50:56:ac:1c:a5 brd ff:ff:ff:ff:ff:ff
                [root@minio1 ~]#

                如上所示,直接查,可以看到网卡的「设备名称」并没有被改掉。


                原因是修改完成后,需要重启服务器。


                重启完成后,可以看到就全部改过来了:

                  [root@minio1 ~]# ifconfig | grep flags
                  ens192: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
                  eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
                  lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
                  virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
                  [root@minio1 ~]#
                  [root@minio1 ~]# ip addr | grep -A1 qdisc
                  1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
                  link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
                  --
                  2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
                  link/ether 00:50:56:ac:48:20 brd ff:ff:ff:ff:ff:ff
                  --
                  3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
                  link/ether 00:50:56:ac:1c:a5 brd ff:ff:ff:ff:ff:ff
                  --
                  4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
                  link/ether 52:54:00:5c:41:0b brd ff:ff:ff:ff:ff:ff
                  --
                  5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
                  link/ether 52:54:00:5c:41:0b brd ff:ff:ff:ff:ff:ff
                  [root@minio1 ~]#
                  [root@minio1 ~]# nmcli con show
                  NAME UUID TYPE DEVICE
                  ens192 609479c9-26b1-4529-a47c-b15906cea453 ethernet ens192
                  eth1 054edbad-4775-3aaa-8e10-576ce261ccd8 ethernet eth1
                  virbr0 e1485904-655f-42a0-afff-b6c5e914272a bridge virbr0
                  [root@minio1 ~]#



                  04

                  修改网卡的「设备名称」


                  另一种修改网卡的「设备名称」的方式,需要使用到上面步骤中生成的文件「ifcfg-eth1」

                    [root@minio1 ~]# cat etc/sysconfig/network-scripts/ifcfg-eth1 
                    HWADDR=00:50:56:AC:1C:A5
                    TYPE=Ethernet
                    PROXY_METHOD=none
                    BROWSER_ONLY=no
                    BOOTPROTO=dhcp
                    DEFROUTE=yes
                    IPV4_FAILURE_FATAL=no
                    IPV6INIT=yes
                    IPV6_AUTOCONF=yes
                    IPV6_DEFROUTE=yes
                    IPV6_FAILURE_FATAL=no
                    IPV6_ADDR_GEN_MODE=stable-privacy
                    NAME=eth1
                    DEVICE=eth1
                    UUID=054edbad-4775-3aaa-8e10-576ce261ccd8
                    ONBOOT=yes
                    AUTOCONNECT_PRIORITY=-999
                    [root@minio1 ~]#

                    注意,上面增加了「DEVICE=eth1


                    禁用网卡命名规则:

                    编辑「/etc/default/grub」:

                      [root@minio1 ~]# cat etc/default/grub
                      GRUB_TIMEOUT=5
                      GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' etc/system-release)"
                      GRUB_DEFAULT=saved
                      GRUB_DISABLE_SUBMENU=true
                      GRUB_TERMINAL_OUTPUT="console"
                      GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap net.ifnames=0 biosdevname=0 rhgb quiet"
                      GRUB_DISABLE_RECOVERY="true"
                      [root@minio1 ~]#

                      如上,在其中加入了【net.ifnames=0 biosdevname=0


                      然后,重新生成GRUB配置,并更新内核参数:

                        [root@minio1 ~]# grub2-mkconfig -o boot/grub2/grub.cfg 
                        Generating grub configuration file ...
                        Found linux image: /boot/vmlinuz-3.10.0-1160.el7.x86_64
                        Found initrd image: /boot/initramfs-3.10.0-1160.el7.x86_64.img
                        Found linux image: /boot/vmlinuz-0-rescue-d24a5bf248254b23ae843ae2553a8f04
                        Found initrd image: /boot/initramfs-0-rescue-d24a5bf248254b23ae843ae2553a8f04.img
                        done
                        [root@minio1 ~]#


                        接下来,修改UDEV文件:

                          [root@minio1 rules.d]# pwd
                          /etc/udev/rules.d
                          [root@minio1 rules.d]#
                          [root@minio1 rules.d]# cat 70-persistent-net.rules
                          SUBSYSTEM=="net",ACTION=="add",DRIVERS=="?",ATTR{address}"00:50:56:ac:1c:a5",ATTR{type}"1",KERNEL=="eth",NAME="eth1"
                          [root@minio1 rules.d]#

                          每一行记录对应一个网卡,有几块网卡写几行。


                          和前面的方法一样,也是重启后生效。






                          END




                          温馨提示



                          如果你喜欢本文,请分享到朋友圈,想要获得更多信息,请关注我。


                          文章转载自Nephilim,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                          评论