码迷,mamicode.com
首页 > 其他好文 > 详细

docker因iptables规则清空而网络故障解决一例

时间:2017-12-14 19:25:56      阅读:480      评论:0      收藏:0      [点我收藏+]

标签: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规则清空而网络故障解决一例

标签:docker   网络故障   iptables   防火墙   网络   

原文地址:http://blog.51cto.com/11804445/2050759

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!