我正在尝试使用 docker 模拟生产网络。
我有两个码头工人桥,bridge1
和bridge2
.
我想在它们之间放置另一个 docker 容器作为router gateway
。
不确定以下命令,想这样做:
Router: (172.17.0.2)
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables -I FORWARD -s 192.168.9.0/24 -d 192.168.8.0/24 -j ACCEPT
iptables -I FORWARD -s 192.168.8.0/24 -d 192.168.9.0/24 -j ACCEPT
Bridge1:
ip route add 192.168.9.0/24 via 172.17.0.2 dev eth0
Bridge2:
ip route add 192.168.8.0/24 via 172.17.0.2 dev eth0
上面的命令正确吗? 但是我如何添加这些iptables规则,有些我无法更改它们。
您需要--cap-add=NET_ADMIN
才能在 docker 容器中运行iptables
命令。
阅读:https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities