加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • 1、概述
    • 解决方法
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

如何将Linux的NIC 名称更改为 eth0 而不是 enps33 或 enp0s25,只要几秒钟

2023/02/22
1077
阅读需 8 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

1、概述

我们使用Linux系统,网卡名称通常都是eth0,但是有一些新的linux发行版,网卡名字 enps33 或 enp0s25。

peng@ubuntu:~$ ifconfig 
ens33     Link encap:Ethernet  HWaddr 00:0c:29:fd:4d:3a  
          inet addr:192.168.0.113  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::6abf:1256:56f4:c740/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2032 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1381 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2348705 (2.3 MB)  TX bytes:111240 (111.2 KB)

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:256 errors:0 dropped:0 overruns:0 frame:0
          TX packets:256 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:20758 (20.7 KB)  TX bytes:20758 (20.7 KB)

这主要是由于 systemd,大多数较新的发行版linux的NIC采用非标准名称命名。这给很多人带来了不方便,尤其是那些运维服务器的人。这意味着他们之前编写的很多配置文件都需要修改。

解决方法

下面教大家一个方法,只需几秒钟就可以解决这个问题,它适用于几乎所有 Linux 操作系统:Ubuntu、Linux Mint、CentOS、RHEL/Fedora、Debian等...、

第一步

使用管理员权限/etc/default/grub文件

peng@ubuntu:~$ sudo vim /etc/default/grub 

增加以下配置信息:

 14 GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0" 
    ubuntu修改截图如下:

    CentOS 8 的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="crashkernel=auto resume=UUID=bbed66de -8c71-44e3-aa82-da7830ccc98e net.ifnames=0 biosdevname=0" 
GRUB_DISABLE_RECOVERY="true" 
GRUB_ENABLE_BLSCFG=true

第二步:更新GRUB

    对于 Debian 的 Ubuntu/Mint:
sudo update-grub
    Centos/RHEL
sudo grub2-mkconfig -o /boot/grub2/grub.cfg

操作如下:

peng@ubuntu:~$ update-grub
grub-mkconfig: You must run this as root
peng@ubuntu:~$ sudo update-grub
Generating grub configuration file ...
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
Found linux image: /boot/vmlinuz-4.15.0-142-generic
Found initrd image: /boot/initrd.img-4.15.0-142-generic
Found linux image: /boot/vmlinuz-4.15.0-140-generic
Found initrd image: /boot/initrd.img-4.15.0-140-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
done

第三步,重启系统

重启系统后,就可以看到网卡名字变成了eth0

快来试一下吧!

相关推荐

电子产业图谱

公众号『一口Linux』号主彭老师,拥有15年嵌入式开发经验和培训经验。曾任职ZTE,某研究所,华清远见教学总监。拥有多篇网络协议相关专利和软件著作。精通计算机网络、Linux系统编程、ARM、Linux驱动、龙芯、物联网。原创内容基本从实际项目出发,保持原理+实践风格,适合Linux驱动新手入门和技术进阶。