![使用 iptables 在容器之间转发数据包](https://linux22.com/image/158177/%E4%BD%BF%E7%94%A8%20iptables%20%E5%9C%A8%E5%AE%B9%E5%99%A8%E4%B9%8B%E9%97%B4%E8%BD%AC%E5%8F%91%E6%95%B0%E6%8D%AE%E5%8C%85.png)
我目前正在使用 OpenvSwitch 和 Docker 容器进行一些实验。我有一个简单的容器 A、B、C 设置,运行 Alpine 映像并添加了 iptables。所有 3 个容器都连接到我的主机上的单个 OVS。
我在 OVS 内部设置了一个流规则,以便容器 A 发送到容器 C 的每个数据包都必须经过 B。这包括 UDP、TCP、ICMP 数据包等。这些数据包似乎到达容器 B,但它们它们只是被丢弃在那里,而不会被转发回 OVS。我知道这是主机的正常行为,但是如何在容器之间启用数据包转发,以便从 A 到 C 的每个数据包首先由 B 检查,并在到达 C 之前发送回 OVS?我对 iptables 的了解有限,所以任何能指引我正确方向的东西都会受到赞赏。 :)