【问题标题】:How to tunnel to into the private network of my docker containers on Bluemix?如何在 Bluemix 上通过隧道进入我的 docker 容器的专用网络?
【发布时间】:2016-05-18 05:40:06
【问题描述】:

我有一些使用私有 IP 地址在 Bluemix 上运行的 docker 容器。我现在想从我的笔记本电脑(运行 linux)设置一个隧道来访问Bluemix 上的专用网络。

我首先创建了一个运行 ssh-server 的容器。使用ssh -D 我能够设置SOCKS5 代理连接。这适用于 Chrome,但并非所有应用程序都支持 SOCKS 代理。

(google-chrome --proxy-server=socks5://localhost:<tunnel port>)

所以我尝试用OpenVPN 服务器创建一个容器。不幸的是,这不适用于Bluemix,因为容器没有运行特权,因此无法创建 tun 设备。

Bluemix 也有一个 VPN 和一个安全网关服务,这听起来很有希望,但到目前为止我还不知道如何让它们工作。

有人知道是否有可能使私有 docker 网络在本地可用以及如何连接到该网络?

【问题讨论】:

标签: docker containers ibm-cloud tunnel private-network


【解决方案1】:

一般来说,容器应该用于实现可供外部应用程序使用的服务(API 服务、运行时、dbms 或类似的东西)。

据此,您可以实现的是在不同容器上为您提供的一组服务,以及作为 SSH 隧道网关的单个容器,使您的本地环境使用 SSH 连接到它并定义一组本地和远程SSH 端口转发,根据服务/端口和服务 IP 有不同的策略。

它应该适用于所有服务,并且您不必使用 socks 代理将请求转发到不同的主机:使用远程 SSH 转发您的 SSH 端点会将您的请求重定向到本地/私有局域网内的正确服务。 我发现本指南正确描述了如何使用本地和远程端口转发。

http://www.debianadmin.com/howto-use-ssh-local-and-remote-port-forwarding.html

关于 OpenVPN 解决方案,您已经知道在容器上使用需要特权模式的软件是不可能的,因为出于安全原因,它在 Bluemix 上是不允许的:如果您希望拥有这种解决方案,我强烈建议您在 Bluemix UK 区域的 VM 上使用 OpenVPN(仍处于测试阶段,但一旦 VM 服务成为 GA 服务,该架构预计将成为最终架构)

我认为这些选项是 Bluemix 上可用的选项,可以在不使用 @bill-wentworth 建议的 VPN 服务的情况下实现您所描述的目标

【讨论】:

  • 感谢您的信息。看起来我的开发用例并没有得到真正的支持。我正在英国地区尝试 VM 方法,但看起来也不是那么容易,因为 VM 的私有 IP 无法访问容器的私有 IP。 VPN 服务似乎需要一个可从 Internet 访问的 IPSec 网关,而我没有。所以直接使用它似乎是不可能的。但由于我的虚拟机也有一个公共 IP,因此可以在虚拟机上设置一个 IPSec 网关,然后使用 OpenVPN 使其可用。对于这样一个简单的用例来说非常复杂;-)
  • 容器网络和虚拟机网络由于基础设施的原因是不同的。所以你仍然需要设置一个具有公共 IP 的容器并将其连接到 OpenVpn VM。通过虚拟机上的 VPN 连接的三个不同且不同的专用网络,有点复杂:-)
猜你喜欢
  • 2018-11-18
  • 2020-02-08
  • 1970-01-01
  • 1970-01-01
  • 2021-05-22
  • 2015-10-08
  • 2017-01-22
  • 1970-01-01
  • 2020-07-13
相关资源
最近更新 更多