您的位置:首页 > 其它

docke跨主机通信之gre隧道

2016-04-22 12:35 375 查看

GRE简介

GRE可以对网络层的任何协议来进行封装,类似LVS的IPIP协议,在原有的数据报上增加GRE协议数据报。然后在网络上传输,到达对端后,解开GRE数据报头,得到真实的数据报。其中的mac地址也不会因为在网络上传输而丢失原来的源mac地址。

实验环境

selinux disabled

iptables -t nat -F;iptables -F

主机docker0地址物理机地址
docker1172.17.0.1192.168.88.130
docker2172.18.0.1192.168.88.131
拓扑图



实验步骤

安装openvswitch

yum install gcc make python-devel openssl-devel kernel-devel graphviz kernel-debug-devel autoconf automake rpm-build redhat-rpm-config libtool

构建RPM包:rpmbuild -bb rhel/openvswitch.spec

rpm -ihv openvswitch-2.5.0-1.x86_64.rpm

启动openvswitch:service openvswitch start

添加ovs网桥: ovs-vsctl add-br ovs0

构建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

启动网卡:

ip link set dev ovs0 up

ip link set dev docker0 up

添加路由:route add -net 172.18.0.0/16 dev docker0 #对端docker0网络

测试

docker run -it centos /bin/bash

ping 对端container的IP
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: