在容器中运行的Strongswan在LAN和GCE之间创buildVPN隧道?

我有一个运行strongSwan的CentOS 7 VM,它在我们的LAN和Google Compute Engine( Google Cloud VPN )之间build立了一个VPN隧道。 这使局域网上的本地机器可以由GCE实例访问,反之亦然。

我想在Docker容器中运行strongSwan,而不是资源耗尽的VM。 不过,我很确定我不能让容器知道我们的局域网,因此不会让GCE实例访问我们局域网上的机器(反之亦然) – 因为VPN隧道只能在容器的networking和Google的networking之间创build。

我是正确的还是可以以某种方式实现?

strongSwan在隧道模式下使用IPsec,(在Linux上)需要加载和使用几个内核模块 。 加载模块并对其进行configuration并不是您在普通容器内部可以执行的操作。 您可以通过使容器具有特权并使用“主机”模式networking来解决此问题,以便容器可以看到它创build的隧道( docker run --privileged --net=host ),但实际上这会禁用容器之间的隔离它是主机,所以它可能不是你想要的。