网卡不叫eth0,而叫ens33、ens160、eno1 or enp0s*?

为什么不一样?
接触过6系列系列和早期Debian系列的用户都知道,他们采用的默认网卡名称为eth0,远比ens33看起来舒服,毕竟计算机领域很多东西都是从0开始计数的。很多朋友好奇为什么RedHat/CentOS 7的网卡名字叫做ens33,既不是0开始也不是传统的eth开头,eth很好理解嘛,ethernet的缩写。

RedHat/CentOS 7系列采用dmidecode采集命名访问,采用了硬件相关信息,可以实现网卡名字永久唯一化。

然而并不是所有7系列操作系统默认命名方式都是ens33,比如阿里云采用的时KVM技术

[root@localhost network-scripts]# ls
ifcfg-eth0

VirtualBox则是enp0s3

[root@localhost network-scripts]# ls
ifcfg-enp0s3

这里写一下扩展知识内容:

en标识ethernet
o:主板板载网卡,集成是的设备索引号
p:独立网卡,PCI网卡
s:热插拔网卡,USB之类的扩展槽索引号
nnn(数字):MAC地址+主板信息计算得出唯一序列
到底哪儿不一样?
其实eth0是内核的命名风格,现在更多地设备以虚拟化的方式运行,同时同一个局域网之间通信方式再基础网络设施的基础上,通过软件定义网络等技术,提供虚拟的路由器和交换机来实现内部网络的隔离和转发策略。比如公有云中提供的VPC网络。

现在vmware中选择CentOS8安装的系统默认叫ens160,也有网友反应他的设备上叫做ens32,其实这都跟你选取的系统版本有关。

不同系统 ,vmware做了相应的工作,提供不同版本的网卡设备,以支持系统的一些新特性。

# CentOS8,ens160
lshw -class network # 截取部分内容
  *-network                 
       description: Ethernet interface
       product: VMXNET3 Ethernet Controller
       vendor: VMware
       physical id: 0
       bus info: pci@0000:03:00.0
       logical name: ens160
       version: 01
       serial: 00:0c:29:**:**:a0
       size: 10Gbit/s
       capacity: 10Gbit/s
       width: 32 bits
       clock: 33MHz
       capabilities: pm pciexpress msi msix bus_master cap_list rom ethernet physical logical tp 1000bt-fd 10000bt-fd

相比ens33,典型的如支持万兆网口

# CentOS7,ens33
lshw -class network
  *-network                 
       description: Ethernet interface
       product: 82545EM Gigabit Ethernet Controller (Copper)
       vendor: Intel Corporation
       physical id: 1
       bus info: pci@0000:02:01.0
       logical name: ens33
       version: 01
       serial: 00:0c:29:**:**:ed
       size: 1Gbit/s
       capacity: 1Gbit/s
       width: 64 bits
       clock: 66MHz
       capabilities: bus_master cap_list rom ethernet physical logical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation

同时使用的资源也不一样,提供不同的中断向量

aliyun ECS

lshw -class network
  *-network                 
       description: Ethernet controller
       product: Virtio network device
       vendor: Red Hat, Inc.
       physical id: 3
       bus info: pci@0000:00:03.0
       version: 00
       width: 32 bits
       clock: 33MHz
       capabilities: msix bus_master cap_list rom
       configuration: driver=virtio-pci latency=0
       resources: irq:10 ioport:c060(size=32) memory:febd1000-febd1fff memory:feb80000-febbffff
针对网卡提供的功能,可以使用ethtool进行设置。
ethtool ens33 # 查看当前硬件设置
ethtool -h # 其中%d和%x对应使用十进制和十六进制数作为参数

你可能感兴趣的:(网卡不叫eth0,而叫ens33、ens160、eno1 or enp0s*?)