我在 VirtualBox 上的 Ubuntu 16.04 桌面 64 位中遇到了一个问题,我无法通过使用 来找到网络接口ifconfig
。
$ ifconfig
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:160 errors:0 dropped:0 overruns:0 frame:0
TX packets:160 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:11840 (11.8 KB) TX bytes:11840 (11.8 KB)
但使用ifconfig -a
显示 enp0s3 (NAT) 和 enp0s8 (仅主机) 网络适配器。我已编辑 /etc/network/interfaces 并将 eth0 和 eth1 重命名为 enp0s3 和 enp0s8,从而解决了该问题。
auto lo
iface lo inet loopback
allow-hotplug enp0s3
iface enp0s3 inet dhcp
allow-hotplug enp0s8
iface enp0s8 inet dhcp
但是,如果我想将映像部署到 VMware 或 KVM 等其他地方,我仍然需要重命名适配器。我该如何实现自动化?
答案1
您可以禁用 PredictableNetwork 的使用,并通过使用以下方式猜测 eth 适配器的顺序
ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules
本页详细说明了如何以及为何使用这些名称 https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/