![ifconfig -a 中没有列出“eth0”,只有 enp0s3 和 lo](https://linux22.com/image/1131354/ifconfig%20-a%20%E4%B8%AD%E6%B2%A1%E6%9C%89%E5%88%97%E5%87%BA%E2%80%9Ceth0%E2%80%9D%EF%BC%8C%E5%8F%AA%E6%9C%89%20enp0s3%20%E5%92%8C%20lo.png)
因此,我使用 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:
在 Oracle 的 Ubuntu VM 系统设置中将“网络适配器”更改为桥接模式。
启动 Ubuntu 虚拟机
类型
ifconfig
ifconfig 返回
enp0s3
,lo
因此,键入
sudo ifconfig enp0s3 192.168.0.111 netmask 255.255.255.0
并将虚拟机的静态 IP 设置为 192.168.0.111。