标签:docker 网络故障 iptables 防火墙 网络
环境:删除了docker的默认网桥docker0,自建了一个br0网桥(具体参考 http://blog.51cto.com/11804445/2048022 ),依次启动了三个容器,分别是server1,server2,server3,当创建了前两个容器后通过pipework分配了ip,分别是
server1 -> 192.168.1.2
server2 -> 192.168.1.3
这时候ping是通畅的,再去创建了server3并设置了ip 192.168.1.100,三个容器突然不能访问百度了...
一脸尴尬...
解决:
参考 https://www.cnblogs.com/CloudMan6/p/7107407.html?utm_source=itdadao&utm_medium=referral
在另外一台机器上面执行
# iptables -a nat -S
得到了
-P PREROUTING ACCEPT -P INPUT ACCEPT -P OUTPUT ACCEPT -P POSTROUTING ACCEPT -N DOCKER -A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER -A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER -A POSTROUTING -s 192.168.1.0/24 ! -o br0 -j MASQUERADE -A DOCKER -i br0 -j RETURN
发现四条防火墙的转发规则...
# iptables -t nat -A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER # iptables -t nat -A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER # iptables -t nat -A POSTROUTING -s 192.168.1.0/24 ! -o br0 -j MASQUERADE # iptables -t nat -A DOCKER -i br0 -j RETURN
挨个执行一遍,回到容器,一切恢复正常...
以后别乱清空防火墙规则了...
标签:docker 网络故障 iptables 防火墙 网络
原文地址:http://blog.51cto.com/11804445/2050759