GRE能够对网络层的任何协议来进行封装,相似LVS的IPIP协议,在原有的数据报上增长GRE协议数据报。而后在网络上传输,到达对端后,解开GRE数据报头,获得真实的数据报。其中的mac地址也不会由于在网络上传输而丢失原来的源mac地址。python
selinux disabled
iptables -t nat -F;iptables -Flinux
主机 | docker0地址 | 物理机地址 |
---|---|---|
docker1 | 172.17.0.1 | 192.168.88.130 |
docker2 | 172.18.0.1 | 192.168.88.131 |
拓扑图
docker
启动openvswitch:service openvswitch startcentos
添加ovs网桥: ovs-vsctl add-br ovs0bash
构建gre隧道: ovs-vsctl add-port ovs0 gre0 -- set interface gre0 type=gre options:remote_ip=192.168.88.131 #对端物理机网络网络
ovs0桥接到docker0上: brctl addif docker0 ovs0测试
添加路由:route add -net 172.18.0.0/16 dev docker0 #对端docker0网络ui
docker run -it centos /bin/bashdebug
ping 对端container的IPip