Linux網卡沒有eth0顯示ens33原因以及解決辦法


原因

首先說明下eth0與ens33的關系:

目前的主流網卡為使用以太網絡協定所開發出來的以太網卡 (Ethernet),因此我們 Linux 就稱呼這種網絡接口為 ethN (N 為數字)。 舉例來說,主機上面有一張以太網卡,因此主機的網絡接口就是 eth0 (第一張為 0 號開始)。新的 CentOS 7 開始對於網卡的編號有另一套規則,網卡的界面代號與網卡的來源有關,網卡名稱會是這樣分類的:
eno1 :代表由主板 BIOS 內置的網卡
ens1 :代表由主板 BIOS 內置的 PCI-E 界面的網卡
enp2s0 :代表 PCI-E 界面的獨立網卡,可能有多個插孔,因此會有 s0, s1... 的編號~
eth0 :如果上述的名稱都不適用,就回到原本的默認網卡編號

所以會有ens33這種網卡表現形式。

解決辦法

1.編輯網卡的配置文件

vi /etc/sysconfig/network-scripts/ifcfg-ens33 將里面的NAME和DEVICE項修改為eth0,ONBOOT需修改為yes

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33

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=eth0 # 修改ens33為eth0
UUID=2171c1b0-0e2a-498c-9b9b-0071d6597fe0
DEVICE=eth0 # 修改ens33為eth0
ONBOOT=yes  # 修改no為yes

2.重命名網卡配置文件

將ifcfg-ens33為ifcfg-eth0

[root@localhost ~]# cd /etc/sysconfig/network-scripts/  
[root@localhost network-scripts]# mv ifcfg-ens33 ifcfg-eth0  

3.編輯/etc/default/grub

加入“net.ifnames=0 biosdevname=0 ”到GRUBCMDLINELINUX變量

[root@localhost network-scripts]# vi /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="crashkernel=auto net.ifnames=0 biosdevname=0 spectre_v2=retpoline
 rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"GRUB_DISABLE_RECOVERY="true"

4.重新生成GRUB配置並更新內核參數

運行命令grub2-mkconfig -o /boot/grub2/grub.cfg 來重新生成GRUB配置並更新內核參數。

[root@localhost network-scripts]# grub2-mkconfig -o /boot/grub2/grub.cfg  
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-1127.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1127.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-ece52f273aa045ad8822b6197e4910d0
Found initrd image: /boot/initramfs-0-rescue-ece52f273aa045ad8822b6197e4910d0.img
done

5.重啟系統

[root@localhost network-scripts]# reboot

6. 檢驗配置

[root@localhost ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.182.130  netmask 255.255.255.0  broadcast 192.168.182.255
        inet6 fe80::4347:403c:4dc4:2f0c  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:18:b9:3f  txqueuelen 1000  (Ethernet)
        RX packets 60  bytes 6530 (6.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 76  bytes 11742 (11.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 48  bytes 4080 (3.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 48  bytes 4080 (3.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:41:2d:f8  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM