配置网络管理器仅向虚拟机公开

配置网络管理器仅向虚拟机公开

我正在运行 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

相关内容