一旦主机专用适配器接口启动,NAT 接口就会停止工作

一旦主机专用适配器接口启动,NAT 接口就会停止工作

我有两个虚拟接口,一个配置为 NAT,另一个配置为主机专用适配器。NAT 接口用于从虚拟机内部提供互联网访问(以提取 Docker 映像等),而主机专用适配器用于主机和任务之间的通信。

我的 /etc/network/interfaces 是

auto enp0s8
iface enp0s8 inet static
    address 193.168.56.101
    netmask 255.255.255.255
    broadcast 193.168.56.255
    gateway 193.168.56.1

auto enp0s3 
iface enp0s3 inet dhcp

我正在使用 Oracle VM VirtualBox Manager 5.2.18_Ubuntu。客户机是 Ubuntu Server 5.0.0-13-generic,主机是 Ubuntu Mate 4.18.0-18-generic。

只要主机专用接口 (enp0s8) 关闭,NAT 接口 (enp0s3) 就能正常工作。一旦我打开第二个接口(使用ifup),互联网就无法访问了。一旦我关闭第二个接口,互联网又可以正常访问了,但我需要两个接口同时工作。

当两个接口都启动后,虚拟机上的 ifconfig 会显示

enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.2.15  netmask 255.255.255.0  broadcast 10.0.2.255    

enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 193.168.56.101  netmask 255.255.255.255  broadcast 193.168.56.255    

机器怎么会将 10.0.2.15 与 193.168.53.101 混淆呢?

主机上的 ifconfig 显示

eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.43  netmask 255.255.255.0  broadcast 192.168.1.255

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0

vboxnet0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 193.168.56.1  netmask 255.255.255.0  broadcast 193.168.56.255

我所能做的就是将路由规则添加到 enp0s3,以便可以从主机的 localhost 重路由端口访问客户机。但是,我仍然想了解出了什么问题以及如何使两个接口正常工作。

相关内容