ifconfig -a 中没有列出“eth0”,只有 enp0s3 和 lo

ifconfig -a 中没有列出“eth0”,只有 enp0s3 和 lo

因此,我使用 VirtualBox 设置了我的 Ubuntu 机器,默认设置 - 简单的 ISO 映像启动。安装 Ubuntu 后,我继续测试多个程序,一切运行正常。我可以在我的主机和虚拟机中完全访问互联网,但是,我注意到即使使用以太网连接,我仍然没有 eth0 - 相反,我有 enp0s3,这很奇怪。

以下是“ifconfig -a”命令的结果:

enp0s3    Link encap:Ethernet  HWaddr 08:00:27:36:5f:f2  
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe36:5ff2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:484 errors:0 dropped:0 overruns:0 frame:0
          TX packets:370 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:294211 (294.2 KB)  TX bytes:44269 (44.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:274 errors:0 dropped:0 overruns:0 frame:0
          TX packets:274 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:24496 (24.4 KB)  TX bytes:24496 (24.4 KB)

发生这种情况的原因是什么?我怎样才能用 eth0 替换 enp0s3,并且不将“10.0.2.15”用作 inet addr,因为显然它不应该是那样。

答案1

在 v197 中我们引入了可预测的网络接口名称在 systemd/udev 中包含硬件信息,而不是对所用驱动程序的引用。支持以下名称:

  • 包含固件/BIOS 为板载设备提供的索引号的名称(例如eno1:)
  • 包含固件/BIOS 的名称提供的 PCI Express 热插拔插槽索引号(例如ens1:)
  • 包含硬件连接器的物理/地理位置的名称(例如enp2s0:)
  • 包含接口 MAC 地址的名称(例如enx78e7d1ea46da:)
  • 经典的、不可预测的内核原生 ethX 命名(例如eth0:)

因此,您在安装 15.10 时观察到的是 Ubuntu 演变的结果。

答案2

如果需要设置虚拟机的静态IP:

  1. 在 Oracle 的 Ubuntu VM 系统设置中将“网络适配器”更改为桥接模式。

  2. 启动 Ubuntu 虚拟机

  3. 类型ifconfig

  4. ifconfig 返回enp0s3lo因此,

  5. 键入sudo ifconfig enp0s3 192.168.0.111 netmask 255.255.255.0并将虚拟机的静态 IP 设置为 192.168.0.111。

相关内容