一、设备OVS
sudo apt-get install openvswitch-controller openvswitch-switch openvswitch-datapath-source
(与网上之前的资料相比。没有安装openvswitch-brcompat,提示没有这个包。笔者眼下的使用来看没有问题,可能是linux内核或OVS版本号变化造成的。不再须要安装?)
二、配置OVS虚拟OpenFlow交换机
1.新建一个桥(交换机),命名为s1:
 sudo ovs-vsctl add-br s1
注意:进行OVS设置时非常easy造成虚拟交换机与物理交换机构成二层环路(比方虚拟交换机包括两块网卡,而这两块网卡都连接到物理交换机上,就是一个环路),一旦有广播报文,比方ARP请求,就会引发广播风暴,使网络瘫痪。因此,应该把虚拟交换机开启STP支持。避免广播风暴:
ovs−vsctl set bridge 交换机名 stp_enable=true
2.启动要加入到虚拟交换机s1上的物理port(物理网卡,这里是eth0和eth3)。假设ifconfig里已经有了,那就不用又一次启动了。

sudo ifconfig eth3 up
sudo ifconfig eth0 up
3.加入物理port到虚拟交换机s1:
sudo ovs-vsctl add-port s1 eth3
sudo ovs-vsctl add-port s1 eth0
4.设置IP:
OpenFlow交换机与控制器连接须要用到TCP连接。因此交换机须要设置IP。但当把物理port加入到虚拟交换机上之后,这些物理port上原先的IP设置将失效(IP属于三层,而交换机工作在二层),无法与外界进行三层的互联。解决方法是加入一个类型为internal的port。然后设置IP和路由(本例是加入一个名为veth3的虚拟port):
首先,假设原先port有设置IP,应将其重置:
sudo ifconfig eth3 0
然后加入虚拟port:
sudo  ovs-vsctl add-port s1 veth3
 sudo ovs-vsctl set interface veth3 type=internal
这时假设运行ifconfig就会发现多了一个名为veth3的port。然后设置该port并加入路由:
sudo  ifconfig veth3 192.168.1.3 netmask 255.255.255.0
sudo  route add default gw 192.168.1.1 veth3
P.S. 后来看到网上说事实上不须要额外加入veth3,由于创建s1后会自己主动生成一个名为s1的internalport,直接设置它就能够。

5.连接远程控制器(本例中控制器为POX,IP是192.168.1.100):
连接控制器之前控制器要先启动。

然后连接:
sudo ovs-vsctl set-controller s1 tcp:192.168.1.100:6633
这时远程控制器就能看到连接信息。比方:INFO:openflow.of_01:[00-d0-f8-0f-d6-e9 2] connected
三、经常使用OVS操作
1.加入网桥:ovs-vsctl add-br 交换机名
2.删除网桥:ovs-vsctl del-br 交换机名
3.加入port:ovs-vsctl add-port 交换机名 port名(网卡名)
4.删除port:ovs-vsctl del-port 交换机名 port名(网卡名)
5.连接控制器:ovs-vsctl set-controller 交换机名 tcp:IP地址:port号
6.断开控制器:ovs-vsctl del-controller 交换机名
7.列出全部网桥:ovs-vsctl list-br
8.列出网桥中的全部端口:ovs-vsctl list-ports 交换机名
9.列出全部挂接到网卡的网桥:ovs-vsctl port-to-br 端口名(网卡名)
10.查看open vswitch的网络状态:ovs-vsctl show
11.查看 Open vSwitch 中的port信息(交换机相应的 dpid,以及每一个port的 OpenFlow port编号,port名称,当前状态等等):ovs-ofctl show 交换机名
12.改动dpid:ovs-vsctl set bridge 交换机名 other_config:datapath-id=新DPID
13.改动port号:ovs-vsctl set Interface port名 ofport_request=新port号
14.查看交换机中的全部 Table:ovs-ofctl dump-tables ovs-switch
15.查看交换机中的全部流表项:ovs−ofctl dump−flows ovs-switch
16.删除编号为 100 的端口上的全部流表项:ovs-ofctl del-flows ovs-switch "in_port=100"
17.加入流表项(以“加入新的 OpenFlow 条目,改动从port p0 收到的数据包的源地址为 9.181.137.1”为例):
 ovs-ofctl add-flow ovs-switch "priority=1 idle_timeout=0,in_port=100,actions=mod_nw_src:9.181.137.1,normal"
(很多其它说明请查阅:《基于 Open vSwitch 的 OpenFlow 实践》)
18.查看 OVS 的版本号信息:ovs-appctl --version
19.查看 OVS 支持的 OpenFlow 协议的版本号:ovs-ofctl --version
许多其他的设置可以被看作官方文件。

版权声明:本文博主原创文章,博客,未经同意不得转载。

转载于:https://www.cnblogs.com/zfyouxi/p/4904733.html

ubuntu 14.04设备OVS虚拟OpenFlow交换机配置汇总相关推荐

  1. Ubuntu 14.04安装JDK1.8.0_25与配置环境变量

    Ubuntu 14.04安装JDK1.8.0_25与配置环境变量 [日期:2015-01-19]     来源:Linux社区  作者:lizhangyong1989     [字体:大 中 小] 以 ...

  2. Caffe在Ubuntu 14.04 64bit 下的安装------pycaffe 配置

    这里我主要参考 pycaffe 的 安装配置 http://www.linuxidc.com/Linux/2015-07/120449.htm 最近因为各种原因,装过不少次Caffe,安装过程很多坑, ...

  3. Ubuntu 14.04+cuda 7.5+caffe安装配置

    换了新电脑,整个人喜气洋洋,然后就屁颠屁颠地开始配置caffe的使用环境. 可是!!!配置这个坑爹的caffe环境让我重装系统N次加上重装cudaN次,后来发现有好多都是很琐碎的注意事项,好多人都没有 ...

  4. 2015.08.17 Ubuntu 14.04+cuda 7.5+caffe安装配置

    2016.06.10 update cuda 7.5 and cudnn v5 2015.10.23更新:修改了一些地方,身边很多人按这个流程安装,完全可以安装 折腾了两个星期的caffe,windo ...

  5. Ubuntu 14.04 文件服务器--samba的安装和配置

    samba是Linux系统上的一种文件共享协议,可以实现Windows系统访问Linux系统上的共享资源,现在介绍一下如何在Ubuntu 14.04上安装和配置samba一. 一.更新源列表 打开&q ...

  6. ubuntu 14.04 LTS(64bit)源配置

    建议添加以下源 方法:直接添加到源文件下方就可以 sudo gedit /etc/apt/sources.list    #注意,只能用gedit,vi编译不了 deb http://mirrors. ...

  7. Ubuntu 14.04 Intel 处理器 硬编解码配置(Intel® Media Server Studio)

    #PS:要转载请注明出处,本人版权所有 #PS:这个只是 < 我自己 >理解,如果和你的 #原则相冲突,请谅解,勿喷 system-info : Linux #1 SMP Wed Oct ...

  8. 64位双系统Ubuntu 14.04 LTS + Caffe + CUDA 7.5 + Opencv 3.0 安装配置实战

    一切的一切,开端便是这caffe,作为博客的第一篇文章,自然要讲讲一个哲学问题"我是从哪来的" 一.windows情况下安装双系统64位Ubuntu 本段落根据http://www ...

  9. Windows 7下硬盘安装Ubuntu 14.04图文教程

    Ubuntu 官方已经发布了正式版的 Ubuntu 14.04 LTS,并宣称这是为云计算准备的版本.该版本在云平台和伸缩环境的可靠性.性能和交互性都有很好的提升,同时提供 5 年的支持和维护服务. ...

最新文章

  1. Jumpserver:跳板机
  2. 日本16岁编程少年,课余打造一款新冠感染追踪App
  3. 找到最大回文子串_使用O(1)空间复杂度找到最大的回文子串
  4. 浅谈V8引擎中的垃圾回收机制
  5. hdu2243考研路茫茫——单词情结
  6. Spring : @Value注解
  7. 使用VMM2008 R2管理Hyper-V之1-实验环境与VMM 2008安装
  8. ResNeX论文概述
  9. 异步类随机多址接入分析
  10. React进行服务器端数据请求---fetch
  11. 数据库系统概论-并发控制
  12. 从0开始学java开发怎么学?
  13. php实现三级导航栏效果
  14. 水中贵族 || 百岁山的“骚路子”营销
  15. 罗技鼠标M330拆解
  16. 《涛声依旧》填词改编《测试依旧》
  17. MAVEN-POM.XML配置解读
  18. 网络基础3【网络层、数据链路层】
  19. 不用熬夜了,买菜 App 抢菜插件开源!
  20. PBX220评测报告

热门文章

  1. 安卓开发 底部导航图标切换时动画效果_安卓10系统终于来了,流畅度堪比苹果?...
  2. 量子计算机多少量子,中国“夺回”量子霸权:世界上最快的量子计算机
  3. 绝地求生 android版支持蓝牙吗,绝地求生怎么蓝牙耳机设置听脚步 | 手游网游页游攻略大全...
  4. 安装linux办公软件,Centos7如何安装开源办公软件Libreoffice
  5. mfc 固定编辑框输入上限和下限_餐饮行业案例:固定工资、底薪提成改成这样,员工为自己拼命干...
  6. android内置picker控件,android中控件DatePicker控件-Fun言
  7. matlab 中调用s函数表达式,[求助]S函数中能否调用M函数
  8. join为什么每个字符都分割了 js_JS截取与分割字符串常用技巧总结
  9. python判断素数的函数_Python素数prime函数练习_Python源码实操
  10. python阿拉伯数字转中文_python中将阿拉伯数字转换成中文的实现代码