小编Lea*_*Man的帖子

通过 docker openvpn 容器路由主机

我是网络新手,所以我是第一次尝试。我创建了一个连接到 VPN 服务器的 openvpn docker。在 docker 容器内运行wget -q -O - https://api.myip.com可确认 docker 的网络已正确连接到 VPN 并且 IP 属于 VPN 服务器。现在我想尝试通过docker容器路由主机流量,并在主机流量使用docker的VPN连接的容器外部实现相同的结果。我不太清楚如何从 docker 主机 <-> 容器关系中做到这一点,所以我想也许我可以利用 docker 中的端口映射功能,并在 docker 中建立一个 Web 代理来处理任何 http/https要求。

因此,我在同一个 docker 中建立了鱿鱼和 openvpn 服务器并公开了端口 3128(因为这是鱿鱼正在侦听的端口)。主机上的 wget 命令变为: wget -q -O - https://api.myip.com -e use_proxy=yes -e http_proxy=localhost:12345

但测试表明流量没有通过 docker 的 VPN 连接。相反,结果显示通信是通过主机的互联网连接进行的。

我使用以下 Docker run 命令运行容器:

docker run --rm --cap-add NET_ADMIN --device /dev/net/tun --name vpn -it --sysctl net.ipv6.conf.all.disable_ipv6=0 -p 12345:3128 vpn-image
Run Code Online (Sandbox Code Playgroud)

上面的做法有错吗?通过多个 docker vpn 连接路由主机流量的最佳方法是什么?

以下资源表明这是可能的,但提供了特定于其用例的解决方案。如果有一个像 wget 或 …

networking proxy openvpn testing docker

6
推荐指数
1
解决办法
2804
查看次数

标签 统计

docker ×1

networking ×1

openvpn ×1

proxy ×1

testing ×1