ada*_*dev 5 networking routing virtualbox docker docker-machine
我在OS X上运行docker-machine,它在我的家庭wifi网络(wifi-one)上工作得很好.
在另一个wifi网络(WIFI-二),我无法访问默认的机器,无论是通过搬运工机或坪.我已经尝试删除所有的docker和虚拟盒软件和缓存,并在连接wifi-two时重新安装,但无济于事.
docker-machine在虚拟盒中使用一个小vm,它使用仅主机的vbox网络(vboxnet0)在主机和vm之间进行通信.
在wifi-one上,我可以将网关ping到vboxnet0(192.168.99.1),我可以ping vm(192.168.99.100).在路由表中,我可以使用正确的界面查看到vm的路由:
Internet:
Destination Gateway Flags Refs Use Netif Expire
default dlinkrouter UGSc 60 2 en0
...
dlinkrouter c0:a0:bb:xx:xx:xx UHLWIir 66 155 en0 1180
192.168.99 link#10 UC 2 0 vboxnet
192.168.99.100 8:0:27:db:16:21 UHLWIi 2 42 vboxnet 1109
...
Run Code Online (Sandbox Code Playgroud)
在wifi-two上,我可以ping vboxnet0网关,但不能ping vm.Ping报告请求超时,但是docker-machine报告"没有到主机的路由".路由表连接到wifi-two时,显示到wifi接口(en0)上vboxnet0仅主机网络的路由,而不是vboxnet0接口.同样好奇的是默认路由是到vboxnet0网关的路由,但路由表中没有wifi路由器的标志.尽管如此,互联网连接在wifi-two上运行良好.
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 192.168.99.1 UGSc 46 0 en0
...
192.168.99 link#4 UCS 9 0 en0
192.168.99.1/32 link#4 UCS 2 0 en0
192.168.99.1 dc:9f:db:2b:89:39 UHLWIir 46 61 en0 1197
192.168.99.100 link#4 UHLWIi 1 3 en0
Run Code Online (Sandbox Code Playgroud)
所以,我真的不知道问题在哪里 - 路由器,mac os,虚拟盒或docker-machine.我怀疑路由器的配置有一些有趣的东西,但我不明白为什么wifi路由器与到虚拟机主机专用网络的路由有任何关系.
编辑:通过en0手动删除到192.168.99的en0路由并且运行sudo route -nv add -net 192.168.99 -interface vboxnet0似乎在wifi-two上解决了这个问题.
但是我想知道为什么会发生这种情况 - 为什么当我加入wifi-two时,没有自动路由到vboxnet0,我想找到一个更好的解决方案,而不是route add在我使用wifi-two时运行.
| 归档时间: |
|
| 查看次数: |
1431 次 |
| 最近记录: |