【发布时间】:2018-05-11 13:15:59
【问题描述】:
我打算做的是让所有进入我的 http 服务器 (C2) 的流量都需要通过一个黑盒容器 (C1)。将C2的默认网关设为C1的eth1。
我尝试这样做,但找不到方法,因为即使我创建了一个新网络,也会创建一个新的网桥,并且两个容器不会直接连接。
这不可能吗?如果是,有谁知道如何实现?
【问题讨论】:
-
那些是虚拟网卡吗?在所有情况下,从技术上讲,您应该能够做到这一点:两个 C1/C2 之间的一个子网和一个到 eth1 IP 的默认网关。
-
是的,它都是虚拟的。但是当我使用 docker 创建子网时,它也会创建一个网桥
-
"它还创建了一个网桥" 网桥是透明设备,因此您基本上是直接连接连接到网桥的任何设备。以太网交换机是一座桥,虽然连接到交换机的设备是电气隔离的,但在数据链路层,它们是直接连接的,因为交换机对数据链路层是透明的。
-
不在网络级别,但在应用程序级别,您可以使 C1 成为反向代理服务器,将流量转发到 C2,因此外部世界只能看到 C1,除非通过 C1 路由,否则 C2 不可访问 ...要么自己动手,要么在 C1 中为这样的服务器使用 nginx 之类的东西......这种方法适用于跨平台
标签: docker networking containers virtualization