我在 VirtualBox 下运行 ubuntu 服务器 18.04,它有 2 个网络适配器:NAT 网络 (enp0s3) 和主机专用适配器 (enp0s8)。我使用 NAT 访问互联网,使用主机专用适配器从主机进行 SSH 连接。我希望两个接口上的地址都是静态的。起初,我以为这是问题所在,但似乎不是。
network:
ethernets:
enp0s3:
addresses: [10.0.0.200/24,]
dhcp4: no
dhcp6: no
gateway4: 10.0.0.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
enp0s8:
addresses: [192.168.1.2/24,]
dhcp4: no
dhcp6: no
gateway4: 192.168.1.1
version: 2
这两个网关定义似乎相互冲突,但我不知道如何在没有网关定义的情况下使其工作。我尝试使用路由,结果是一样的。也许我使用它们的方式不对,因为它们似乎等同于只在那里有网关定义。起初,它似乎可以工作,我能够 ssh 进入机器并 ping google.com,但如果我关闭虚拟机,退出 vbox,然后重新启动一切,我发现我只能 ssh 进入虚拟机或 ping google,但不能同时进行,这取决于我对 netplan 计划所做的调整。我该如何使该配置工作?
$ VBoxManage natnetwork list
NAT Networks:
Name: natnet1
Network: 10.0.0.0/24
Gateway: 10.0.0.1
IPv6: No
Enabled: Yes
答案1
gateway4
指用于默认路由的路由器。通常您只应拥有其中之一。如果网关仅用于主机连接,则不应在 enp0s8 上列出网关。您可能根本不需要添加任何路由,因为到 192.168.1.0/24 的本地路由可能是您唯一需要的路由。