Virtualbox 上的 Ubuntu Server 22.10 - 仅主机网络和 NAT 不能共存吗?

Virtualbox 上的 Ubuntu Server 22.10 - 仅主机网络和 NAT 不能共存吗?

我正在尝试创建一个 Virtualbox VM(运行 Ubuntu Server 22.10),它具有 NAT(用于互联网访问)和具有静态 IP 的仅主机适配器。似乎我只能让其中一个工作。理想情况下,我会使用和等自动化工具配置整个设置vagrantansible但目前我使用netplan它直接在 VM 中调试。

(我是网络新手,因此欢迎任何补充解释。)

如果我netplan apply仅进行 NAT 配置:

# This is the network config written by 'subiquity'
network:
  ethernets:
    enp0s3:
      dhcp4: true
  version: 2

我可以正常访问互联网。结果route -n如下:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.2.2        0.0.0.0         UG    100    0        0 enp0s3
10.0.2.0        0.0.0.0         255.255.255.0   U     100    0        0 enp0s3
10.0.2.2        0.0.0.0         255.255.255.255 UH    100    0        0 enp0s3
10.0.2.3        0.0.0.0         255.255.255.255 UH    100    0        0 enp0s3

如果我应用仅主机配置:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s8:
      addresses:
      - 192.168.56.11/24

我失去了互联网访问(ping -c 1 google.com导致Network is unreachable,以及其他命令,如curl somethingsudo apt update)。输出来自route -n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.2.0        0.0.0.0         255.255.255.0   U     100    0        0 enp0s3
192.168.56.0    0.0.0.0         255.255.255.0   U     0      0        0 enp0s8

我注意到了差异,但我无法以有用的方式解释它。

答案1

它们绝对可以!您必须配置这两个接口才能使它们工作。我可以帮你。首先,关闭你的虚拟机。然后,在虚拟机的 VirtualBox 设置部分中,确保适配器 1连接到 NAT。接下来,点击适配器2选项卡并将其设置为“仅主机适配器”。您可能已经到达了这一点。现在开始有趣的事情了!

启动虚拟机并登录。为了简化操作,无需输入 sudo每一个时间,执行sudo su然后cd /etc/netplan警告:以 root 身份执行任何操作都可能存在危险。请按照我的指示操作,一旦完成,请退出 root 身份。

这是所有魔法发生的地方。您将需要编辑 YAML 文件。就我而言,我必须编辑 00-installer-config.yaml 文件。下面是我如何配置我的虚拟机以同时运行 NAT 和仅主机:

# This is the network config written by 'subiquity'
network:
  version: 2
  ethernets:
    enp0s3: #This is your network adapter attached to NAT 
      dhcp4: true
      routes:
        - to: default
          via: 10.0.2.2
      nameservers:
        addresses: #Below I chose to use google as the DNS servers. You can choose other DNS servers if you'd like.
          - 8.8.8.8 
          - 8.8.4.4
    enp0s8: #This is your network adapter attached to Host-only
      dhcp4: no
      addresses:
        - 192.168.56.101/24 #This is the static IP.
      routes:
        - to: default
          via: 192.168.56.1 
      nameservers:
        addresses:
          - 192.168.1.200

修改文件后,你必须通过执行以下命令确保操作系统知道使用新配置netplan apply

现在退出root:root@machine-name:/etc/netplan# exit

现在您可以ping google.com同时通过互联网访问您的虚拟机一个静态 IP 地址!

繁荣!

相关内容