Tia*_*ado 7 vpn containers docker
早上好!
我使用 check point mobile 连接到我的客户端 VPN,并且我在 docker 中有 2 个容器:mysql 和 karaf 都共享我使用命令创建的网络 docker network create --subnet=vpnAddress mynet
我--network=mynet在运行容器时使用了该命令。
直到这里一切正常,我可以通过 putty ssh 连接到 karaf,安装 kar 并且所有包都可以。
但是在调用服务时,我意识到容器没有连接到 VPN,即使我使用 VPN 地址创建了一个网络。我需要连接到 VPN 才能调用服务。
我使用检查点移动设备从外部(docker 外部)连接到 VPN,但我需要 docker 添加/连接到 VPN。
我使用 Windows 10(使用 docker 和 linux 容器),我也尝试去C:\ProgramData\DockerDesktop\tmp-d4w编辑文件host.docker.internal并将 IP 更改为我的 VPN 地址,但没有任何效果。
我搜索了很多,我看到人们谈论 docker vpn 图像,例如 nordVpn 或 openVpn,但我不能使用它。
有人告诉我,我需要将 vpn 网络添加到 docker,但我在网络方面是绿色的,我不知道该怎么做,而且我所做的没有奏效。
希望您能够帮助我。谢谢!
编辑:在docker引擎中我添加了"bip": "vpnAddress/24"
我现在意识到网桥现在使用VPN地址,尝试--network=bridge在karaf和mysql容器中使用,但现在karaf无法连接到mysql,但是如果我使用默认值docker create network mynet并使用它运行2个容器网络它可以工作,但这种方式的VPN没有运气。
我没有在 Windows 上使用 Docker,但快速浏览一些 VPN 容器表明,至少在 *nix 中,它们用于--device /dev/net/tun --cap-add=NET_ADMIN将 VPN“设备”暴露给容器。其他容器然后使用 docker 网络或链接来连接到这个 VPN 容器 - 因此查看 VPN 容器的工作方式可能会有所帮助。
Mac 的一项建议似乎是使用 extra_hosts ,如下所示:
extra_hosts:
- "vpn.company.com:172.21.1.1"
Run Code Online (Sandbox Code Playgroud)
你也许可以用类似的东西来破解它。(或物理添加172.21.1.1 vpn.company.com到/etc/hosts容器中)。此外,检查Docker 守护程序和主机之间的IP 地址冲突。
Windows 文档似乎暗示他们不支持将网络接口作为“设备”,因此您可能需要创建一个非常特定的 docker 网络或修改主机网络设置,首先是让 Docker 守护程序识别 VPN 网络。
有关示例,请参阅配置高级网络部分。我会先尝试创建一个与 VPN 设备关联的网络,然后查看像--subnet和 之类的 标志--gateway。
docker network create -d transparent \
-o com.docker.network.windowsshim.interface="Ethernet 2" TransparentNet2
Run Code Online (Sandbox Code Playgroud)
这将创建一个具有特定子网和网关的网络,然后在该网络上运行一个具有静态分配 IP 的容器。
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
Run Code Online (Sandbox Code Playgroud)
祝你好运!
| 归档时间: |
|
| 查看次数: |
4724 次 |
| 最近记录: |