首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何不使用VPN镜像连接到docker中的VPN?

问如何不使用VPN镜像连接到docker中的VPN?
EN

Stack Overflow用户
提问于 2020-08-05 17:23:55
回答 2查看 5.7K关注 0票数 7

早上好!

我正在使用check point mobile连接到我的客户端VPN,并且我在docker中有两个容器: mysql和karaf,它们都共享我使用命令docker network create --subnet=vpnAddress mynet创建的网络。

我在运行容器时使用了命令--network=mynet。

直到这里一切正常,我可以通过putty ssh连接到karaf,安装kar和所有捆绑包都是ok的。

但是在调用服务时,我意识到容器没有连接到VPN,所以我使用VPN地址创建了一个网络。我需要连接到VPN才能调用服务。

我是连接到外部(外部码头)的VPN使用检查点移动,但我需要码头添加/连接到VPN。

我使用的是windows10(使用docker和linux容器),我试着去C:\ProgramData\DockerDesktop\tmp-d4w编辑文件host.docker.internal,把IP改成我的VPN地址,但是都没成功。

我搜索了很多,我看到人们在谈论诸如nordVpn或openVpn之类的docker vpn镜像,但我不能使用它。

有人告诉我需要将vpn网络添加到docker,但我在网络方面是新手,我不知道怎么做,而且我所做的都不起作用。

希望你能帮助我。谢谢!

编辑:在docker engine中,我添加了"bip": "vpnAddress/24",现在我意识到网桥现在使用VPN地址,尝试在karaf和mysql容器中使用--network=bridge,但现在karaf无法连接到mysql,但是如果我使用默认的docker create network mynet并使用该网络运行2容器,它可以工作,但用这种方式使用VPN就不行了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-08-14 21:27:16

我还没有在Windows上使用过Docker,但是快速浏览一下一些VPN容器就会发现,至少在*nix中,他们使用--device /dev/net/tun --cap-add=NET_ADMIN将VPN“设备”暴露给容器。然后,其他容器使用docker网络或链接来连接到此VPN容器-因此查看VPN容器是如何做的可能会有所帮助。

对Mac的一个建议似乎是这样的using extra_hosts:

代码语言:javascript
复制
extra_hosts:
  - "vpn.company.com:172.21.1.1"

你也许可以用这样的东西来破解它。(或将172.21.1.1 vpn.company.com物理添加到容器中的/etc/hosts中)。另外,检查Docker守护进程和主机之间的IP address conflicts。

Windows docs似乎建议他们不支持将网络接口作为“设备”,所以你可能需要创建一个非常具体的docker网络或修改主机网络设置,首先让Docker守护程序识别VPN网络。

有关示例,请参阅Configure Advanced Networking部分。我会先尝试创建一个与VPN设备相关联的网络,然后查看--subnet和--gateway之类的标志。

代码语言:javascript
复制
docker network create -d transparent \
    -o com.docker.network.windowsshim.interface="Ethernet 2" TransparentNet2

这将创建一个具有特定子网和网关的网络,然后在该网络上运行一个具有静态分配的IP的容器。

代码语言:javascript
复制
C:\> docker network create -d transparent \
    --subnet=10.123.174.0/23 \
    --gateway=10.123.174.1 MyTransparentNet

C:\> docker run -it --network=MyTransparentNet \
    --ip=10.123.174.105 windowsservercore cmd

祝好运!

票数 8
EN

Stack Overflow用户

发布于 2020-08-13 19:08:03

处理这些事情的最好方法是使用Linux容器,安装VPN并执行您想要的任何工作,然后将Linux容器推送到docker集线器来分担工作。不要忘记添加有关如何从Linux容器中检索工作(保存工作的位置)的文档。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63262145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档