ubuntu 14.04安装OVS虚拟OpenFlow交换机配置总结

一、安装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设置时很容易造成虚拟交换机与物理交换机构成二层环路(比如虚拟交换机包含两块网卡,而这两块网卡都连接到物理交换机上,就是一个环路),一旦有广播报文,比如ARP请求,就会引发广播风暴,使网络瘫痪。因此,应该把虚拟交换机开启STP支持,避免广播风暴:

ovs?vsctl set bridge 交换机名 stp_enable=true

2.启动要添加到虚拟交换机s1上的物理端口(物理网卡,这里是eth0和eth3)。如果ifconfig里已经有了,那就不用重新启动了。

sudo ifconfig eth3 up

sudo ifconfig eth0 up

3.添加物理端口到虚拟交换机s1:

sudo ovs-vsctl add-port s1 eth3

sudo ovs-vsctl add-port s1 eth0

4.设置IP:

OpenFlow交换机与控制器连接需要用到TCP连接,因此交换机需要设置IP。但当把物理端口添加到虚拟交换机上之后,这些物理端口上原先的IP设置将失效(IP属于三层,而交换机工作在二层),无法与外界进行三层的互联。解决方法是添加一个类型为internal的端口,然后设置IP和路由(本例是添加一个名为veth3的虚拟端口):

首先,如果原先端口有设置IP,应将其重置:

sudo ifconfig eth3 0

然后添加虚拟端口:

sudo  ovs-vsctl add-port s1 veth3

sudo ovs-vsctl set interface veth3 type=internal

这时如果执行ifconfig就会发现多了一个名为veth3的端口。然后设置该端口并添加路由:

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的internal端口,直接设置它就可以。

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.添加端口:ovs-vsctl add-port 交换机名 端口名(网卡名)

4.删除端口:ovs-vsctl del-port 交换机名 端口名(网卡名)

5.连接控制器:ovs-vsctl set-controller 交换机名 tcp:IP地址:端口号

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 中的端口信息(交换机对应的 dpid,以及每个端口的 OpenFlow 端口编号,端口名称,当前状态等等):ovs-ofctl show 交换机名

12.修改dpid:ovs-vsctl set bridge 交换机名 other_config:datapath-id=新DPID

13.修改端口号:ovs-vsctl set Interface 端口名 ofport_request=新端口号

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 条目,修改从端口 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

更多设置可查看官方文档。

ubuntu 14.04安装OVS虚拟OpenFlow交换机配置总结

时间: 2024-10-05 23:28:58

ubuntu 14.04安装OVS虚拟OpenFlow交换机配置总结的相关文章

在Ubuntu 14.04安装和使用Docker

在Ubuntu 14.04安装和使用Docker 作者:chszs,版权全部,未经允许.不得转载.博主主页:http://blog.csdn.net/chszs Docker是一个开源软件,它能够把一个Linux应用和它所依赖的一切(比方配置文件)都封装到一个容器.然而.Docker与虚拟机不同,它使用了沙箱机制.Docker容器不执行操作系统,它共享主机上的操作系统. 下面我将在Ubuntu 14.04安装和使用Docker. Docker使得在同一个server上能够执行很多其他的应用程序-

Ubuntu 14.04 安装VMware 12

/*********************************************************************** * Ubuntu 14.04 安装VMware 12 * 说明: * 由于Android的源代码在VMware虚拟中,现在装了一台实体Ubuntu电脑,于是 * 需要子在Ubuntu上安装VMware,然后将代码转移出来. * * 2017-1-7 深圳 南山平山村 曾剑锋 ***************************************

[操作系统][Ubuntu 14.04] 安装Flash 安装QQ2013

[操作系统][Ubuntu 14.04] 安装Flash 安装QQ2013_郑少群个人网 一.安装Flash 打开Firefox浏览器弹出的Flash安装提醒早都烦死了,那么Ubuntu14.04怎么安装Flash呢? 1.32位系统命令行安装: 第一步 更新库: ? sudo apt-get update ? ? 第二步 安装Flash用下面的代码: sudo apt-get install flashplugin-installer ? 这样就将Flash和依赖装好了. 2.32位系统可视化

ubuntu 14.04安装 DevStack的脚本配置文件——localrc

本文ubuntu 14.04安装 DevStack的脚本配置文件——localrc,本文件名已经逐渐被取代,但是出于后向兼容性,使用该文件仍然可以为stack.sh安装脚本指定安装DevStack时的配置信息. 以下是localrc文件的一些常用配置及解释 # Misc DATABASE_PASSWORD=123456 ADMIN_PASSWORD=123456 SERVICE_PASSWORD=123456 SERVICE_TOKEN=123456 RABBIT_PASSWORD=123456

dell optiplex ubuntu 14.04 安装 NVIDIA 显卡驱动

公司配置的 dell optiplex使用核显带起双屏幕,玩dota2无法特效全开.so,在京东上买了一块750Ti.安装驱动的时候需要切换到ubuntu的全命令行模式,关掉桌面系统才能安装.这时候这个坑出现了,要想安装驱动,就必须进入全命令行模式,要想进入命令行模式必须有驱动.反复尝试后,发现只能用DP口带单屏幕才能成功.在这里特别记录下.嘎嘎dell optiplex ubuntu 14.04 安装 NVIDIA 显卡驱动,布布扣,bubuko.com

Ubuntu 14.04安装redmine

公司要安装项目管理系统,采用redmine,新来的我就来做这个小小的任务了,中途也出过几次问题,搭建redmine,他的依赖包很多,所以我建议用apt装,下面开始吧. 首先升级一下源 apt-get update apt-get upgrade 更新完成 PS:(如果图省事,可以选择LAMP套件安装,此处指mysql和apache此处不用套件安装了 ) 安装apache2和apache2的一个模块 apt-get install apache2 libapache2-mod-passenger

ubuntu 14.04 安装 vmware 10 X64 后无法启动解决方法

ubuntu 14.04 安装成功后,平时的工作什么的都够用了, 最近需要做一个测试,测试环境还必须是windows的.所以就准备整个虚拟机来,kvm 跟 vmware 考虑再三,选择了 vmware .vmware 10的安装方法,就不做说明了.度娘或谷哥还是有蛮多方法.我这里所写的是,vmware 安装后,启动时报错. 报错图片如下: 解决方法: 当然方法有很多种,我也试过几种方法,有使用patch 的,但是我用这种方法的时候,出现错误了,继续找方法的时候,有网友有告诉过这样一种方法,就是手

Ubuntu 14.04 安装 SteamOS 会话

如何在Ubuntu 14.04上安装steamos会话,以使用户的SteamOS 大图片模式直接从lightdm GTK迎宾开始进入. SteamOS是一个开源的基于Debian Wheezy分支的.为游戏的优化的操作系统.不像Debian 7,它使用的是xcompmgr图形合成器.SteamOS由维尔福公司设计开发,使用于Steam Machine游戏终端机上.在2013年12月13日首次发布. 在这篇文章中我将告诉你如何在Ubuntu 14.04上安装steamos会话,以使用户的Steam

ubuntu 14.04安装压缩包版的mysql

既有环境: 1)下载MySQL Community Server 5.6.17 压缩版(mysql-5.6.17-linux-glibc2.5-x86_64.tar.gz) 2)安装目录: /opt/library/mysql-5.6.17-linux-glibc2.5-x86_64 3)软链接为/opt/library/mysql,指向同目录下的mysql-5.6.17-linux-glibc2.5-x86_64 1. 创建mysql专有的用户和组 ? 1 2 $ sudo groupadd