如何在 VirtualBox 上修复/设置从主机到访客的路由?

如何在 VirtualBox 上修复/设置从主机到访客的路由?

我正在使用 Debian Stretch 来运行 Debian Jessie 来宾。我为访客设置了 NAT 和仅主机适配器。当我尝试从主机对来宾执行 ping 操作时,我的 ping 操作会路由到我的无线 Internet 适配器而不是虚拟网络。

来自ifconfig -a仅虚拟主机网络:

vboxnet1: flags=4098<BROADCAST,MULTICAST>  mtu 1500
        inet 172.16.57.1  netmask 255.255.0.0  broadcast 172.16.255.255
        ether 0a:00:27:00:00:01  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

和我的无线适配器:

wlp4s1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.103  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::218:39ff:fe19:2edd  prefixlen 64  scopeid 0x20<link>
        ether 00:18:39:19:2e:dd  txqueuelen 1000  (Ethernet)
        RX packets 473074  bytes 138461228 (132.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 438482  bytes 389764274 (371.7 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

我的路由表:

$ netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 wlp4s1
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 wlp4s1

我希望有一些路由可以将netstat -rn相关流量引导到仅虚拟主机的 nextwork,但我没有看到这一点。

当我尝试从我的主机 ping 我的访客(海雀)时:

$ ping puffin
PING puffin (172.16.57.101) 56(84) bytes of data.
From 1-128-201-31.ftth.glasoperator.nl (31.201.128.1) icmp_seq=1 Packet filtered

我将访客的 IP 地址(在 eth1/仅主机适配器上)静态设置为 172.16.57.1​​01(并且已启动),并且在 vboxnet1(仅主机网络)上禁用 dhcp。

编辑:

我发现问题在于:

ip link
...
5: vboxnet1: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
    link/ether 0a:00:27:00:00:01 brd ff:ff:ff:ff:ff:ff

答案1

显然 VirtualBox 无法启动 vboxnet0/vboxnet1,我在启动时注意到了这一点:

$ ping -I vboxnet1 puffin
connect: Network is unreachable

问题可以通过以下方式找到

$ip link
(...)
5: vboxnet1: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
    link/ether 0a:00:27:00:00:01 brd ff:ff:ff:ff:ff:ff

以下修复了该问题:

sudo ip link up vboxnet1

现在我得到:

$ip link
(...)
5: vboxnet1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 0a:00:27:00:00:01 brd ff:ff:ff:ff:ff:ff

更多详细信息可以参见:

相关内容