我有两个虚拟接口,一个配置为 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 重路由端口访问客户机。但是,我仍然想了解出了什么问题以及如何使两个接口正常工作。