我正在尝试通过 ikev2(Ubuntu 主机)从 docker 容器内部连接到 VPN。
如果我尝试以下操作:
docker run -i -t --privileged --net host --entrypoint /bin/bash ikev
然后它执行 ipsec start 和 ipsec up vpn,连接没有问题。问题是这也会影响主机上的路由,所以我希望从网桥模式运行它,但如果我运行:
docker run -i -t --privileged --entrypoint /bin/bash ikev
我无法再连接到 vpn,基本上甚至无法再连接到 ikev2 vpn 服务器:
initiating IKE_SA vpn[1] to X.X.X.X
generating IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) N(HASH_ALG) N(REDIR_SUP) ]
sending packet: from Y.Y.Y.Y[500] to X.X.X.X[500] (454 bytes)
retransmit 1 of request with message ID 0
sending packet: from Y.Y.Y.Y[500] to X.X.X.X[500] (454 bytes)
retransmit 2 of request with message ID 0
[...]
我尝试使用 nmap 从两个容器中查明是否有东西被过滤了,但从--net host 和 bridge 中得到了相同的结果:
PROTOCOL STATE SERVICE
50 open|filtered esp
51 open|filtered ah
PORT STATE SERVICE
500/udp open isakmp
4500/udp open|filtered nat-t-ike
我应该从主机转发或做什么以便容器可以连接到 ikev2 服务器?