Docker跨主机容器访问通信-Open vSwitch
来源:互联网 发布:极光推送php demo 编辑:程序博客网 时间:2024/05/22 01:31
Open vSwitch是什么
Open vSwitch是一个高质量的、多层虚拟交换机,使用开源Apache2.0许可协议,由Nicira Networks开发,主要实现代码为可移植的C代码。它的目的是让大规模网络自动化可以通过编程扩展,同时仍然支持标准的管理接口和协议(例如NetFlow,sFlow,SPAN,RSPAN,CLI,LACP,802.1ag)
原理
什么是GRE隧道
GRE:通用路由协议封装
隧道技术(Tunneling)是一种通过使用互联网络的基础设施在网络之间传递数据的方式。使用隧道传递的数据(或负载)可以是不同协议的数据帧或包。隧道协议将其它协议的数据帧或包重新封装然后通过隧道发送。新的帧头提供路由信息,以便通过互联网传递被封装的负载数据。(点对点的再封装技术)
网络连接使用双网卡,Host-Only & NAT
隧道技术(Tunneling)是一种通过使用互联网络的基础设施在网络之间传递数据的方式。使用隧道传递的数据(或负载)可以是不同协议的数据帧或包。隧道协议将其它协议的数据帧或包重新封装然后通过隧道发送。新的帧头提供路由信息,以便通过互联网传递被封装的负载数据。(点对点的再封装技术)
网络连接使用双网卡,Host-Only & NAT
操作
- 1. 建立ovs网桥
- 查看ovs版本
1.sudo ovs-vsctl show
建立一个名为obr0的网桥
1.sudo ovs-vsctl add-br obr0
- 2. 添加gre连接,接口名为gre0
1.sudo ovs-vsctl add-port obr0 gre0
为接口设置类型和远程另一台主机的地址192.168.59.104
1.sudo ovs-vsctl set interface gre0 type=gre options:remote_ip=192.168.59.104
- 3. 配置docker容器虚拟网桥
1.sudo ifconfig br0 192.168.1.1 netmask 255.255.255.0
- 4. 为虚拟网桥添加ovs接口
1.sudo brctl addif br0 obr0
修改/etc/default/docker
,用新建的网桥来代替默认的docker0
1.DOCKER_OPTS="-b=br0"
重启服务sudo service docker restart
- 5. 添加不同Docker容器网段路由
1.sudo ip route add 192.168.2.0/24 via 192.168.59.104 dev eth0
阅读全文
0 0
- Docker跨主机容器访问通信-Open vSwitch
- 【Docker容器的跨主机访问】- 使用Open vSwitch实现跨主机容器连接
- Docker实践 -- 使用Open vSwitch实现跨主机通信
- Docker跨主机容器访问通信
- Docker网络基础---Docker跨主机容器访问通信
- Docker跨主机容器访问通信-网桥方式
- Docker容器学习梳理--容器间网络通信设置(Pipework和Open vSwitch)
- docker跨主机访问通信-Weave
- Docker网络管理及容器跨主机通信(四)
- 容器跨主机通信之docker default overlay
- Docker网络管理及容器跨主机通信
- docker跨主机容器访问(网桥实现)
- 【Docker容器的跨主机访问】-【使用网桥实现跨主机容器连接】
- 【Docker容器的跨主机访问】- 使用weave实现跨主机容器连接
- CentOS Docker跨宿主机通讯Open vSwitch(一)
- (菜汪学docker) 用vmware 完成 docker+ovs+vxlan 实现容器跨主机访问
- Docker实现跨主机容器实例网络通信(2)——利用OpenVSwitch构建多主机Docker网络
- Docker实现跨主机容器实例网络通信(1)——利用LinuxBridge构建多主机Docker网络
- 关于网络中的端口号
- [codeforces815D] Karen and Cards
- 第一人称《AI》
- 简易版WireShark实现-相关网络知识(1)
- activity和fragment的转场动画的实现
- Docker跨主机容器访问通信-Open vSwitch
- ssh框架配置文件的作用
- 小白建站教程(1)
- dubbo的RpcContext隐式传参
- 第一人称<Begin>
- STM32初学Keil4编译时出现 Error:Failed to execute 'BIN40/Armcc'
- svn的三个文件夹
- 第一人称<End>
- git修改远程仓库地址