最近在研究学习Open vSwitch,准备在本地Ubuntu14.04机器上安装一下,并基于其创建一些KVM虚拟机,下面就简要记录下在Ubuntu14.04系统上安装Open vSwitch的过程。

1、由于之前安装过KVM,其在本机生成了一个名为virbr0的bridge,这里我们需要事先将其删除,否则可能会与Open vSwitch产生不兼容的问题,命令如下:

◄►  virsh net-destroy default
Network default destroyed ◄► virsh net-autostart --disable default
Network default unmarked as autostarted

2、这里我们同样也不需要bridge模块:

◄►  sudo aptitude purge ebtables
The following packages will be REMOVED:
ebtables{p}
packages upgraded, newly installed, to remove and not upgraded.
Need to get B of archives. After unpacking kB will be freed.
Do you want to continue? [Y/n/?] y
(Reading database ... files and directories currently installed.)
Removing ebtables (2.0.10.4-3ubuntu1) ...
* Clearing ebtables rulesets [ OK ]
Purging configuration files for ebtables (2.0.10.4-3ubuntu1) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...

3、下面开始安装openvswitch相关包:

◄►  sudo apt-get install openvswitch-switch

4、查看下ovs的运行状况:

◄►  ps -ea | grep ovs
? :: ovsdb-server
? :: ovs-vswitchd

5、查看下安装的ovs的版本:

◄►  ovs-appctl --version
ovs-appctl (Open vSwitch) 2.0.
Compiled May ::

6、查看下当前ovs支持的OpenFlow协议的版本:

◄►  ovs-ofctl --version
ovs-ofctl (Open vSwitch) 2.0.
Compiled May ::
OpenFlow versions 0x1:0x4

7、通过ovs创建一个网桥 br0,供kvm虚拟机使用:

◄►  sudo ovs-vsctl add-br br0
◄► ifconfig
br0 Link encap:Ethernet HWaddr ::fd::e5:4b
inet6 addr: fe80::4c0a:7bff:fec6:98d7/ Scope:Link
UP BROADCAST RUNNING MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (0.0 B) TX bytes: (578.0 B)

通过ifconfig命令,我们发现多了一个br0网桥。

8、将物理网卡eth0添加到br0上:

◄►  sudo ovs-vsctl add-port br0 eth0

这步执行后,发现无法再访问外网,不过没关系,我们可以按照如下步骤解决:

1)先清除eth0的配置:

◄►  sudo ifconfig eth0 

2)让br0自动获取ip地址:

◄►  sudo dhclient br0

3)此时就又可以通外网了:

◄►  ping www.baidu.com
PING www.a.shifen.com (119.75.217.109) () bytes of data.
bytes from 119.75.217.109: icmp_seq= ttl= time=30.9 ms
bytes from 119.75.217.109: icmp_seq= ttl= time=31.9 ms

9、最后查看下目前br0和eth0的情况:

◄►  sudo ovs-vsctl show
1e6548a9-956e-4b86-b743-f8da0aa2b922
Bridge "br0"
Port "br0"
Interface "br0"
type: internal
Port "eth0"
Interface "eth0"
ovs_version: "2.0.2"

Ubuntu14.04安装配置Open vSwitch的更多相关文章

  1. Ubuntu14.04安装配置ndnSIM

    Ubuntu14.04安装配置ndnSIM 预环境 Ubuntu14.04官方系统 请先使用sudo apt-get update更新一下源列表 安装步骤 安装boost-lib sudo apt-g ...

  2. Ubuntu14.04安装配置web/ftp/tftp/dns服务器

    目录: 1.安装ftp服务器vsftpd --基于tcp,需要帐号密码 2.安装tftp服务器tftpd-hpa,tftp-hpa --udp 3.web服务器--使用Apache2+Mysql+PH ...

  3. Ubuntu14.04安装配置SVN及Trac

    还是个实习生的时候,项目管理十分欠缺,会出现很多问题,痛定思痛,决定要改变现状,养成良好的项目管理习惯,看网上工具很多,在这里尝试使用SVN作代码版本控制,使用trac作为项目管理追踪.本文采用的操作 ...

  4. Ubuntu14.04 安装配置Opencv3.0和Python2.7

    http://blog.csdn.NET/u010381648/article/details/49452023 Install OpenCV 3.0 and Python 2.7+ on Ubunt ...

  5. Ubuntu14.04 安装配置Hadoop2.6.0

    目前关于Hadoop的安装配置教程书上.官方教程.博客都有很多,但由于对Linux环境的不熟悉以及各种教程或多或少有这样那样的坑,很容易导致折腾许久都安装不成功(本人就是受害人之一).经过几天不断尝试 ...

  6. ubuntu14.04安装配置jdk1.8.0_25

    Reference: http://jingyan.baidu.com/article/eb9f7b6d8f82a6869364e8a7.html 今天尝试在ubuntu14.04 LTS上安装jdk ...

  7. Ubuntu14.04安装配置星际译王词典

    参考自:http://m.blog.csdn.net/blog/u014731529/25917149 平常总会遇到一些不认识的单词,汉字等等.一直使用Chrome 浏览器的翻译插件,不过插件的翻译总 ...

  8. Ubuntu14.04安装配置Chrome浏览器

    1.获取软件 32位版本: wget https://dl.google.com/linux/direct/google-chrome-stable_current_i386.deb 64位版本: w ...

  9. Ubuntu14.04安装配置LAMP环境(php5.6)

    sudo apt-get install python-software-properties sudo apt-get update sudo apt-get install vim sudo ap ...

随机推荐

  1. NetworkComms框架介绍 序列化并发送对象

    NetworkComms网络通信框架序言 英文原文:http://www.networkcomms.net/custom-objects/ NetworkComms.Net网络库,支持发送自定义类,并 ...

  2. intel的网卡故障

    现象: 机器键盘接入,敲入无反应:机器无法ping通,整台机器假死状态. 查看message的日志,日志为如下内容: Aug :: TSMIS-CF kernel: ::19.0: eth0: Det ...

  3. NoSQL的三大基石(CAP、BASE和最终一致性)

    CAP,BASE和最终一致性是NoSQL数据库存在的三大基石.而五分钟法则是内存数据存储了理论依据.这个是一切的源头. CAP C: Consistency 一致性 A: Availability 可 ...

  4. hdu 4614 Vases and Flowers

    http://acm.hdu.edu.cn/showproblem.php?pid=4614 直接线段树维护 代码: #include<iostream> #include<cstd ...

  5. 从原理上搞定编码(四)-- Base64编码

    开发者对Base64编码肯定很熟悉,是否对它有很清晰的认识就不一定了.实际上Base64已经简单到不能再简单了,如果对它的理解还是模棱两可实在不应该.大概介绍一下Base64的相关内容,花几分钟时间就 ...

  6. checkbox全选功能

    $("#cb_classType_all").change(function () { if ($(this).is(":checked")) { $(&quo ...

  7. (转)如何学好C语言,一个成功人士的心得!

    zidier111发表于 2013-1-26 08:59:05   今 天,我能够自称是一个混IT的人,并能以此谋生,将来大家能一次谋生,都要感谢两个人:克劳德.香农和约翰.冯.诺依曼,是他们发现了所 ...

  8. 升级到EntityFramework 6的注意事项

    参考: http://social.msdn.microsoft.com/Forums/vstudio/en-US/aa542153-b2a5-4b14-98a3-572f7b028c61/updat ...

  9. python——周边

    Pythonic的禅意 import this python是用c语言写的.传说python不止有C语言实现,还有java实现,还有python实现的python,甚至还有js实现的python. p ...

  10. IOS中nil/Nil/NULL的区别

    类与对象的概念 类是对同一类事物高度的抽象,类中定义了这一类对象所应具有的静态属性(属性)和动态属性(方法). 对象是类的一个实例,是一个具体的事物. 类与对象是抽象与具体的关系. 类其实就是一种数据 ...