1

我使用 pptp 客户端设置 docker 以连接到 pptp 服务器,然后是http://cyan.ly/blog/multiple-vpn-docker-2015

但是,当我尝试运行多个 docker 容器时,我的 pptp 失败了。只有一个 docker 容器可以连接到 pptp 服务器。看来他们不能共享同一个设备?

任何帮助,将不胜感激。

4

1 回答 1

0

点对点隧道协议 (PPTP) 流量由源 IP 地址和 GRE 标头中的呼叫 ID 字段唯一标识。当多个客户端连接到公共网络地址转换 (NAT) 后面的同一 VPN 端点时,它们都具有相同的源 IP 地址。由于不同的 VPN 客户端彼此不知道,它们可能会选择相同的 Call ID 字段,这会禁止多个连接,因为 VPN 端点无法区分各种连接。

当我使用参数--net=host运行我的 Docker 容器时,只有一个容器正在连接

docker run -it --net=bridge --cap-add=NET_ADMIN --device=/dev/ppp --privileged -v /dev:/dev -v /lib/modules:/lib/modules 1368917489 /bin/bash

但仔细观察后,我得出一个结论,应该使用参数--net=bridge运行容器

基本上,当我们使用网络设置bridge运行容器时,它将直接从 DHCP 获取 IP 地址,这将解决我们的问题。试试这个,你可以使用 Docker 容器建立数百个连接!

于 2018-03-12T10:56:48.850 回答