Docker跨主机通讯之路由

1、实验环境:

主机名docker

主机IPvim

Docker0_IPtcp

Docker1测试

192.168.88.130spa

172.17.0.1unix

Docker2rest

192.168.88.131ip

172.18.0.1路由

2、实验操做

设定指定的dokcer0的IP table

#vim /usr/lib/systemd/system/docker.service

ExecStart=/usr/bin/docker daemon --bip=172.18.42.1/16 -H fd:// -H=unix:///var/run/docker.sock

systemctl daemon-reload

systemctl restart docker                #有可能docker起不来,此时重启机器便可。

 

设定路由规则

route add -net 172.17.0.0/16 gw 192.168.88.131        #对端主机IP

route add -net 172.18.0.0/16 gw 192.168.88.130

 

关闭火墙规则,对icmp的reject:

iptables -F; iptables -t nat F

 

测试

在docker1上的容器可以和docker2上的容器通讯

 

注意使用tcpdump分析和排错: tcpdump icmp

 

数据包流向

docker1_container1_eth0->docker1_docker0->docker1_enoXX-> docker2_enoXX(docker1'gw)->docker2_docker0 -> docker2_container1_eth0

相关文章
相关标签/搜索