openvSwitch tunnel
ovs tunnel
实验拓扑
实验拓扑搭建基础脚本
#vbox虚拟机1
ip netns add left
ip link add name veth1 type veth peer name sw1-p1
ip link set dev veth1 netns left
ip netns exec left ifconfig veth1 10.0.0.1/24 up ovs-vsctl add-br sw1
ovs-vsctl add-port sw1 sw1-p1
ip link set sw1-p1 up #vbox虚拟机2
ip netns add right
ip link add name veth1 type veth peer name sw2-p1
ip link set dev veth1 netns right
ip netns exec right ifconfig veth1 10.0.0.2/24 up ovs-vsctl add-br sw2
ovs-vsctl add-port sw2 sw2-p1
ip link set sw2-p1 up
GRE TUNNEL 配置
vbox虚拟机1
ovs-vsctl add-port sw1 tun0 -- set Interface tun0 type=gre options:remote_ip=10.30.10.141
vbox虚拟机2
ovs-vsctl add-port sw2 tun0 -- set Interface tun0 type=gre options:remote_ip=10.30.10.145
查看配置
vbox虚拟机1
root@controller-VirtualBox:~# ovs-vsctl show
29c5cc05-2a31-4f14-a304-3a697698f96a
Bridge "sw1"
Port "sw1"
Interface "sw1"
type: internal
Port "sw1-p1"
Interface "sw1-p1"
Port "tun0"
Interface "tun0"
type: gre
options: {remote_ip="10.30.10.141"}
ovs_version: "2.5.2"
vbox虚拟机2
root@controller-VirtualBox:~# ovs-vsctl show
0f92aaa0-5385-48f5-a54a-644e05652f59
Bridge "sw2"
Port "sw2-p1"
Interface "sw2-p1"
Port "sw2"
Interface "sw2"
type: internal
Port "tun0"
Interface "tun0"
type: gre
options: {remote_ip="10.30.10.145"}
ovs_version: "2.5.2"
root@controller-VirtualBox
连通性测试,在vbox虚拟机1 left ns中ping虚拟机2 right
root@controller-VirtualBox:~# ip netns exec left ping 10.0.0.2
PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
64 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=0.953 ms
64 bytes from 10.0.0.2: icmp_seq=2 ttl=64 time=0.609 ms
VXLAN TUNNEL配置
vbox虚拟机1
ovs-vsctl add-port sw1 tun0 -- set Interface tun0 type=vxlan options:local_ip=10.30.10.145 options:remote_ip=10.30.10.141
vbbox虚拟机2
ovs-vsctl add-port sw2 tun0 -- set Interface tun0 type=vxlan options:local_ip=10.30.10.141 options:remote_ip=10.30.10.145
查看配置
vbox虚拟机1
root@controller-VirtualBox:~# ovs-vsctl show
29c5cc05-2a31-4f14-a304-3a697698f96a
Bridge "sw1"
Port "sw1"
Interface "sw1"
type: internal
Port "sw1-p1"
Interface "sw1-p1"
Port "tun0"
Interface "tun0"
type: vxlan
options: {local_ip="10.30.10.145", remote_ip="10.30.10.141"}
ovs_version: "2.5.2"
vbox虚拟机2
root@controller-VirtualBox:~# ovs-vsctl show
0f92aaa0-5385-48f5-a54a-644e05652f59
Bridge "sw2"
Port "sw2-p1"
Interface "sw2-p1"
Port "sw2"
Interface "sw2"
type: internal
Port "tun0"
Interface "tun0"
type: vxlan
options: {local_ip="10.30.10.141", remote_ip="10.30.10.145"}
ovs_version: "2.5.2"
root@controller-VirtualBox:~#
连通性测试,在vbox虚拟机1 left ns中ping虚拟机2 right
root@controller-VirtualBox:~# ip netns exec left ping 10.0.0.2
PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
64 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=0.905 ms
64 bytes from 10.0.0.2: icmp_seq=2 ttl=64 time=0.490 ms
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.490/0.697/0.905/0.209 ms
openvSwitch tunnel的更多相关文章
- Openvswitch原理与代码分析(4):网络包的处理过程
在上一节提到,Openvswitch的内核模块openvswitch.ko会在网卡上注册一个函数netdev_frame_hook,每当有网络包到达网卡的时候,这个函数就会被调用. stati ...
- Openvswitch原理与代码分析(1):总体架构
一.Opevswitch总体架构 Openvswitch的架构网上有如下的图表示: 每个模块都有不同的功能 ovs-vswitchd 为主要模块,实现交换机的守护进程daemon ...
- openvswitch——mac和vlan learning for ingress port
对于普通的switch,都会有这个学习的过程,当一个包到来的时候,由于包里面有MAC,VLAN Tag,以及从哪个口进来的这个信息.于是switch学习后,维护了一个表格port –> MAC ...
- (转载)研究openvswitch的流量模式
最近又开始弄openvswitch,网上也有不少的资料,但是发觉都集中在openvswitch安装及简单使用或者一些原码分析,从心里来讲,感觉这些和心里得到的差距有点大啊,其实更希望能类似资料在ope ...
- 从Openvswitch代码看网络包的旅程
我们知道,Openvwitch可以创建虚拟交换机,而网络包可以通过虚拟交换机进行转发,并通过流表进行处理,具体的过程如何呢? 一.内核模块Openvswitch.ko的加载 OVS是内核态和用户态配合 ...
- 干货分享: 长达150页的openvswitch的ppt,不实验无真相
下载链接: Openvswitch实验教程 http://files.cnblogs.com/popsuper1982/Openvswtich.pptx 一.概论 Software Defined N ...
- Openvswitch手册(1): 架构,SSL, Manager, Bridge
Openvswitch是一个virutal swtich, 支持Open Flow协议,当然也有一些硬件Switch也支持Open Flow协议,他们都可以被统一的Controller管理,从而实现物 ...
- [ovs] openvswitch 入门
https://www.sdnlab.com/sdn-guide/14747.html http://sdnhub.cn/index.php/openv-switch-full-guide/ http ...
- [转]An overview of Openvswitch implementation
This is NOT a tutorial on how to use openvswitch, this is for developers who want to know the implem ...
随机推荐
- cocos js 3.8.1 clippingNode 不能被 ccui.ScrollView 或者ccui.Layout裁剪的bug
clippingNode不能被ccui.ScrollView.ccui.ListView.ccui.Layout裁剪问题,只需要 设置scrollView ...的裁剪类型 scrollView.se ...
- html5 data-*自定义属性取值
demo: <!DOCTYPE HTML> <html> <head> <title></title> <meta http-equi ...
- fastcgi vc6.0demo
#include <WinSock2.h> #include <stdio.h> #pragma comment(lib, "ws2_32.lib") ty ...
- SparkStreaming 监控文件目录
SparkStream 监控文件目录时,只能监控文件内是否添加新的文件,如果文件名没有改变只是文件内容改变,那么不会检测出有文件进行了添加. )) )).reduceByKey(_ + _) word ...
- python 部分数据处理代码
# -*- coding:utf8 -*- import os import jieba.posseg as pseg # -*- coding:utf8 -*- import os def spl ...
- linux下设置mysql表名不区分大小写
原文:http://blog.csdn.net/johnsonvily/article/details/6703902 1.Linux下mysql安装完后是默认:区分表名的大小写,不区分列名的大小写: ...
- java笔记--问题总结
1. 垃圾回收算法 标记-清除算法 标记-清除算法是最基本的算法,和他的名字一样,分为两个步骤,一个步骤是标记需要回收的对象.在标记完成后统一回收被标记的对象.这个算法两个问题.一个是效率问题,标记和 ...
- 671. Second Minimum Node In a Binary Tree
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode ...
- 2018.10.25 bzoj4565: [Haoi2016]字符合并(区间dp+状压)
传送门 当看到那个k≤8k\le 8k≤8的时候就知道需要状压了. 状态定义:f[i][j][k]f[i][j][k]f[i][j][k]表示区间[i,j][i,j][i,j]处理完之后的状态为kkk ...
- git常规命令
$ mkdir filename 创建一个空目录 $ git init 把这个目录变成Git可以管理的仓库 $ pwd 用于显示当前目录 $ cat <file> 查看文件内容 $ git ...