【发布时间】:2020-11-25 10:49:07
【问题描述】:
早上好!
我正在使用 check point mobile 连接到我的客户端 VPN,并且我在 docker 中有 2 个容器:mysql 和 karaf 都共享我使用命令 docker network create --subnet=vpnAddress mynet 创建的网络
我在运行容器时使用了命令--network=mynet。
直到这里一切正常,我可以通过 putty ssh 连接到 karaf,安装 kar 并且所有包都正常。
但是当调用服务时,我意识到容器没有连接到 VPN,即使我用 VPN 地址创建了一个网络。我需要连接到 VPN 才能调用服务。
我使用 check point mobile 从外部(docker 外部)连接到 VPN,但我需要 docker 来添加/连接到 VPN。
我使用的是 Windows 10(使用带有 linux 容器的 docker),我尝试转到 C:\ProgramData\DockerDesktop\tmp-d4w 并编辑文件 host.docker.internal 并将 IP 更改为我的 VPN 地址,但没有任何效果。
我搜索了很多,看到有人在谈论 docker vpn 镜像,例如 nordVpn 或 openVpn,但我无法使用。
我被告知我需要将 vpn 网络添加到 docker,但我在网络上是绿色的,我不知道该怎么做,而且我所做的没有用。
希望你能帮助我。谢谢!
编辑:在 docker 引擎中,我添加了 "bip": "vpnAddress/24"
我现在意识到网桥现在使用VPN地址,尝试在karaf和mysql容器中--network=bridge,但现在karaf无法连接到mysql,但如果我使用默认docker create network mynet并使用该网络运行2容器可以,但是用这种方式使用 VPN 就不行了。
【问题讨论】:
-
你应该在运行带有-p标志的容器时声明VPN端口。
-
@anlgrses 我刚试过。做了一个 netstat -a 并从 vpn 连接中看到了 ipv4 地址,我向 karaf 容器添加了 2 个端口,一个说“正在侦听”,一个说“已建立”。即便如此,也没有运气:(
-
使用 VPN 容器真的不行吗?使用一个 VPN 容器并与您需要的容器共享网络非常简单和安全(否则您需要为您的容器设置 NET_ADMIN 功能)。您可能已在 Windows 上的 VPN 中连接,但 Docker 可能在 Hyper-V 上的 VM 中运行,因此它不会从您的 Windows 设置继承默认网关
-
@GustavoKawamoto 我想,但我没有证书,并被告知我可以不用它。
标签: docker containers vpn