我设置了一个基于alpine的openvpn客户端容器,它连接到openvpn服务器,不知道它在哪里。我的想法是,我想在这个vpn网络中访问服务器而不是来自openvpn的容器(我可以成功ping通),而是来自另一个服务器,例如curl或ping到该服务器。
我在docker中设置了一个基本桥,并且容器(openvpn客户端和我尝试启动curl的bash)都连接到它。
我想念一下吗?因为我无法访问任何服务器连接到vpn。
答案 0 :(得分:1)
ajankuv的第二个解决方案可能更好但是我在dperson / openvpn-client上找到的配置我能够从另一个容器成功到达openvpn网络。
docker openvpn client
docker run -it --privileged --name vpn --device /dev/net/tun <my_openvpn_image>
另一个容器使用--net = container:vpn
运行docker run --rm --net=container:vpn --device /dev/net/tun byrnedo/alpine-curl <server_in_vpn>
现在我想我可能错误配置了docker bridge
答案 1 :(得分:0)
具有vpn连接的Docker容器不会在整个主机上启用vpn,除非您将所有流量从主机路由到它。这可能是一些奇特的路由表,但id建议反对它。
最好让主机运行客户端,然后将流量从docker容器路由到它。这将更容易实现。
其他选择是使用vpn构建一个基本容器,然后在其中添加额外的服务,这本身就不好玩或推荐。