Ping通LXC容器

时间:2016-06-14 09:03:16

标签: iptables lxc

我正在处理LXC,iptables和路线,此时我甚至不确定我在做什么。为简单起见,iptables中的每个策略都设置为ACCEPT,并且在每个主机或容器的sysctl.conf中将转发设置为1。

我的目标是能够从其主机外部通过LXC容器传递ping请求。让我澄清一下:

假设我有一个客户端C,他想要ping服务器S,但我之间有一个网关G,而G中有一个LXC容器L.

C(eth0 192.168.0.3/24)< ---> (eth0 192.168.0.2/24)G(eth1 192.168.1.3/24)< ---> (eth0 192.168.1.4/24)S

然后,在G里面我们会:

(eth0 192.168.0.2/24)< ---> (virbr0 10.0.0.2/24)L(virbr1 10.0.1.3/24)< ---> (eth1 192.168.1.3/24)

所以基本上,我想从C中ping S,但是请求必须通过L(并因此通过G),使用iptables和route来传输。

希望你能帮助我!

1 个答案:

答案 0 :(得分:0)

你能分享你这样做的理由吗?这是监测吗?通过NAT进行路由是不必要的错综复杂的。

我建议建立一个桥接网络,而不是NAT-ed网络,其中:

  1. virbr0eth0
  2. 桥接
  3. virbr1已桥接eth1
  4. 这样,您的LXC主机可以使用192.168.0.x192.168.1.x的IP地址(即与eth0eth1位于同一子网中)。

    完成后,使用LXC主机作为路由器,在服务器和客户端中创建路由条目。基本上L取代G

    我们将192.168.0.10192.168.1.10分配给L。路由网络将如下所示:

    C (192.168.0.3) <--> (192.168.0.10) L (192.168.1.10) <--> S (192.168.1.4)

    在发布完整答案之前,请告诉我这是否适合您。这是相当多的配置。