问题标签 [vpnkit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
53 浏览

docker - 如何在 Mac 上使用 vpnkit 和 minikube

关于这个主题有很多问题,但不是我所追求的具体信息。

主机操作系统是 Mac,最近由于许可变更不得不卸载 Docker Desktop。因此,我们改为使用 minikube,它与 VirtualBox 驱动程序一起工作得很好。

但理想情况下,我们希望使用 hyperkit 驱动程序,因为它比 virtualbox 需要更少的资源,并且(据说)更快。这一切都很好,直到我们连接到我们的 VPN(使用 cisco anyconnect),然后 minikube VM 内的所有出站网络都停止工作。例如

其他一切都很好,通过入口的入站网络都很好。maven-docker-plugin 正在愉快地使用 minikube docker 守护进程创建图像。只是没有出境。

所以我想我会尝试使用 VPNKit,因为我已经读过它旨在解决这个问题。但是找不到很多详细的文档,所以很挣扎。

我们尝试用最少的配置启动 VPNKit:

然后尝试启动 minikube,但失败:

在 vpnkit 日志中,我们看到:

所以有点暗示我开始 vpnkit 的方式不正确。玩过 IP args 以确保所有匹配,但无济于事。

我的猜测是--ethernet=patharg 不是正确的套接字类型。我也看到了,--vsock-path=path但指定这似乎不会像创建套接字文件那样--ethernet=path。我必须以其他方式创建它吗?

或者我需要处理其他配置选项。例如,我认为--gateway-forwards=path可以提供帮助,但找不到有关文件格式或内容的文档。

所以,我猜有两个主要问题:

  • 我们正在尝试的东西是否可能?这是正确的方法吗?还是比简单地运行vpnkit命令复杂得多?
  • 如果我们走在正确的轨道上,有没有人有这方面的经验,并且知道如何为 minikube+vpnkit+hyperkit 设置套接字?需要什么参数、配置或其他设置?

请注意:--hyperkit-vpnkit-sock=auto对我们来说不是一个选项,因为我们没有安装 docker,所以 docker 套接字文件不存在。

以防万一它是一个版本问题: