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