我正在运行 Xubuntu 20.10,全新安装。我研究过这个问题,但找不到正确的信息。
我有 2 个独立的 NIC,一个用于通过普通网络执行 DHCP,另一个只能由在此机器上运行的 VM 使用。
我想在 01-network-manager-all.yaml 中编辑 netplan 来实现这一点。例如,在 Windows 主机下,我通过进入网络连接、打开目标 NIC 的属性并取消选中除 virtualbox 之外的所有框来执行此操作。然后在 VM 设置中,我将该 nic 指向桥接连接。此 Guest VM 已在 Windows 主机上运行,我正在将其移植过来。我只需要正确设置新主机,它应该对 Guest 无缝。我以前能够做到这一点,但我不知道我是否做对了,那是几年前的事了。
希望这对我想要完成的任务足够清楚,现在介绍一下你可能需要的信息:
lspci | grep -i 'ethernet'
01:00.0 Ethernet controller: Broadcom Inc. and subsidiaries NetXtreme II BCM5709 Gigabit Ethernet (rev 20)
01:00.1 Ethernet controller: Broadcom Inc. and subsidiaries NetXtreme II BCM5709 Gigabit Ethernet (rev 20)
02:00.0 Ethernet controller: Broadcom Inc. and subsidiaries NetXtreme II BCM5709 Gigabit Ethernet (rev 20)
02:00.1 Ethernet controller: Broadcom Inc. and subsidiaries NetXtreme II BCM5709 Gigabit Ethernet (rev 20)
从这里可以看出 DHCP 是 02:00.0,而虚拟机的目标 NIC 是 01:00.0
ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eno1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether 84:2b:2b:66:0a:b3 brd ff:ff:ff:ff:ff:ff
altname enp1s0f0
3: eno2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether 84:2b:2b:66:0a:b5 brd ff:ff:ff:ff:ff:ff
altname enp1s0f1
4: eno3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 84:2b:2b:66:0a:b7 brd ff:ff:ff:ff:ff:ff
altname enp2s0f0
inet 192.168.2.20/24 brd 192.168.2.255 scope global dynamic noprefixroute eno3
valid_lft 83855sec preferred_lft 83855sec
inet6 fe80::ae20:f9fd:db35:3f95/64 scope link noprefixroute
valid_lft forever preferred_lft forever
5: eno4: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether 84:2b:2b:66:0a:b9 brd ff:ff:ff:ff:ff:ff
altname enp2s0f1
从此 eno1(altname enp1s0f0)是此设置的目标,而 eno3(altname enp2s0f0)已经按预期作为 DHCP 工作。
最后是当前的01-network-manager-all.yaml:(我确认这是正确的yaml)
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
我希望这些信息足够了。如果不清楚的话请告诉我。
答案1
我能够使用以下设置修复此问题。希望这能在未来帮助到其他人。
在 01-network-manager-all.yaml 中我将其从以下内容更改为:
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
对此:
#Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
ethernets:
eno1:
link-local: []
dhcp4: no
addresses: []
dhcp6: no
然后输入以下命令:
sudo netplan try
我确认它是有效的,然后执行以下操作:
sudo netplan apply