gpt4 book ai didi

networking - docker-machine:在某些 wifi 网络上,没有路由到默认 docker 机器(使用仅主机 vbox 网络)的主机

转载 作者:行者123 更新时间:2023-12-03 13:18:27 27 4
gpt4 key购买 nike

我在 OS X 上运行 docker-machine,它在我的家庭 wifi 网络(wifi-one)上运行良好。

在另一个 wifi 网络(wifi-two)上,我无法通过 docker-machine 或 ping 访问默认机器。我尝试删除所有 docker 和虚拟盒软件和缓存并在连接 wifi-2 时重新安装,但无济于事。

docker-machine 在虚拟盒中使用一个小型 vm,它使用仅主机的 vbox 网络 (vboxnet0) 在主机和 vm 之间进行通信。

在 wifi-one 上,我可以 ping 通 vboxnet0(192.168.99.1)的网关,也可以 ping 虚拟机(192.168.99.100)。在路由表中,我可以使用正确的接口(interface)查看到 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
...

在 wifi-2 上,我可以 ping vboxnet0 网关,但不能 ping 虚拟机。 Ping 报告请求超时,但 docker-machine 报告“没有到主机的路由”。路由表在连接到 wifi-2 时,会在 wifi 接口(interface) (en0) 上显示到 vboxnet0 主机专用网络的路由,而不是 vboxnet0 接口(interface)。同样好奇的是默认路由是到 vboxnet0 网关的路由,但路由表中没有 wifi 路由器的迹象。尽管如此,互联网连接在 wifi-2 上运行良好。
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

所以,我真的不知道问题出在哪里——路由器、mac os、虚拟机或 docker-machine。我怀疑路由器的配置有一些有趣的地方,但我不明白为什么 wifi 路由器与指向仅 virtualbox 主机网络的路由有任何关系。

编辑:通过 en0 手动删除到 192.168.99 的 en0 路由并运行 sudo route -nv add -net 192.168.99 -interface vboxnet0似乎确实在 wifi-2 上解决了这个问题。

但我想了解为什么会发生这种情况 - 为什么当我加入 wifi-two 时没有自动到 vboxnet0 的路由,我想找到比运行 route add 更好的解决方案当我在 wifi-2 上时。

最佳答案

我想到了。这有点愚蠢:

wifi two 的子网是 192.168.99。同一子网 docker 用于它为默认 VM 创建的仅主机网络。所以冲突导致了各种神秘的错误。

关于networking - docker-machine:在某些 wifi 网络上,没有路由到默认 docker 机器(使用仅主机 vbox 网络)的主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34982827/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com