我在 VirtualBox 中有两个虚拟机,一个是 Ubuntu 16.04,另一个是 Android-x86 32 位。我已将它们都设置为位于同一内部网络上。
在 Android VM 中,我运行了以下命令(使用 Alt-F1):
android:~ # ifconfig eth0 192.168.1.1 netmask 255.255.255.0 up
我可以看到 IP 地址被设置了ifconfig
,并且界面是“UP BROADCAST RUNNING MULTICAST”。此外:
android:/ # ip route get 192.168.1.2
192.168.1.2 dev eth0 src 192.168.1.1 cache
这不起作用:
android:/ # ping 192.168.1.2
connect: Network is unreachable
但这确实:
android:/ # ping -I eth0 192.168.1.2
PING 192.168.1.2 (192.168.1.2) from 192.168.1.1 eth0: 56(84) bytes of data.
64 bytes from 192.168.1.2: ...
...
我从来没能从 Ubuntu VM (192.168.1.2) ping 过。它什么都没打印,而且显示终止时数据包丢失 100%。
知道为什么会发生这种情况吗?
编辑:我意识到如果我从 Android 内部使用终端仿真器,作为普通用户,命令ip route get 192.168.1.2
将返回RTNETLINK answers: Network is unreachable
。