zoukankan      html  css  js  c++  java
  • docke跨主机通信之gre隧道

    GRE简介

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

    实验环境

    selinux disabled
    iptables -t nat -F;iptables -F

    主机 docker0地址 物理机地址
    docker1 172.17.0.1 192.168.88.130
    docker2 172.18.0.1 192.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

  • 相关阅读:
    数据转换类型和算数运算符
    语言基础+数据类型
    JS(一)Prototype的使用
    Jquery EasyUI简介和数据的增删改查
    http简介
    《JavaScript语言精粹》笔记
    wcf
    简单工厂模式与抽象工厂模式
    <转载>C#中的特性(Attributes)
    <转载>C#IEnumerable和IEnumerator 详解
  • 原文地址:https://www.cnblogs.com/wxl-dede/p/5420833.html
Copyright © 2011-2022 走看看