Open vSwitch系列之一 Open vSwitch诞生

Open vSwitch系列之二 安装指定版本ovs

Open vSwitch系列之三 ovs-vsctl命令使用

Open vSwitch系列之四 ovs-ofctl命令使用

Open vSwitch系列之五 网桥特性功能配置

Open vSwitch系列之六 vlan隔离

查看网桥mac学习地址表

ovs作为一个交换机,既可以工作在SDN模式也可以工作在普通交换机模式。工作在普通交换机模式下就有mac自学习功能。和普通的交换机一样,ovs交换机也能查看mac和端口关系的对应表。

ovs-appctl fdb/show s1

设置网桥不连接控制器的转发模式

ovs 交换机在连接不上控制器时有一个fail_mode的标志,所谓fail_mode就是故障模式,意思是SDN控制器故障时,交换机未连接控制器时的模式。

fail_mode 故障模式有两种状态,一种是standalone,一种是secure状态。

如果是配置了standalone mode,在三次探测控制器连接不成功后,此时ovs-vswitchd将会接管转发逻辑(后台仍然尝试连接到控制器,一旦连接则退出fail状态),OpenvSwitch将作为一个正常的mac 学习的二层交换机。

如果是配置了secure mode,则ovs-vswitchd将不会自动配置新的转发流表,OpenvSwitch将按照原先有的流表转发。

简单来说:

standalone(default):清除所有控制器下发的流表,ovs自己接管 
secure:按照原来流表继续转发

ovs-vsctl get-fail-mode br0

ovs-vsctl set-fail-mode br0 secure 

再次查看交换机,可以看到交换机的fail_mode已经变成standalone模式。这里有一点需要说明,fail_mode连不上交换机之后的ovs的转发模式,跟当前ovs交换机连没连控制器没有关系。

同样也可以删除fail_mode

ovs-vsctl del-fail-mode br0 

开启STP 生成树协议

STP是Spanning Tree Protocol的缩写,意思是指生成树协议,可应用于计算机网络中树形拓扑结构建立,主要作用是防止网桥网络中的冗余链路形成环路工作。

在上面的拓扑中,交换机之间形成环路,交换机中的广播数据包会形成广播风暴,而STP生成树的作用就是经过计算阻塞交换机的部分端口,使得交换机之间不会形成环路。

查看ovs交换机是否开启stp协议。

ovs-vsctl get bridge s1 stp_enable

设置交换机开启stp协议

ovs-vsctl set bridge br0 stp_enable=true

查看网桥配置信息

对于一个网桥来说有很多特性,比如前面提到的是否开启STP生成树,当控制器故障时的fail-mode是standalone还是secure。网桥的特性远不止于此,可以命令查看到一个网桥的配置信息。

ovs-vsctl list bridge s1

查看端口配置信息

网桥的配置信息可以查看到,同样端口的配置也可以查看到。端口是否有vlan,tag号多少等。通过命令能够查看到端口的特性。

ovs-vsctl list port s1 s1-eth1 

网卡加入网桥IP失效的解决办法

在ovs操作中常常有这么一个现象,将本机的网卡加入到网桥之中后就发现机器的ip地址失效了,不能ssh,不能ping通。这是因为当网卡加入网桥之后,网卡就是交换机上的一个端口,交换机作为二层设备,其端口是不可能有IP地址的,所以本机的IP地址失效。

那么这样的情况如何处理?处理方法还是有的,关键点就在网桥的一个端口。网桥创建成功后会默认带一个与网桥同名的port,并且这个port的类型是比较特殊的Internal。

ovs中port有四种类型

  类型       说明
Normal                             用户可以把操作系统中的网卡绑定到ovs上,ovs会生成一个普通端口处理这块网卡进出的数据包。
Internal                   端口类型为internal时,ovs会创建一块虚拟网卡,虚拟网卡会与端口自动绑定。当ovs创建一个新网桥时,默认会创建一个与网桥同名的Internal Port。
Patch 当机器中有多个ovs网桥时,可以使用Patch Port把两个网桥连起来。Patch Port总是成对出现,分别连接在两个网桥上,在两个网桥之间交换数据。
Tunne 隧道端口是一种虚拟端口,支持使用gre或vxlan等隧道技术与位于网络上其他位置的远程端口通讯。

Internal 类型可以看做每个OVS交换机有个可以用来处理数据报的本地端口,可以为这个网络设备配置 IP 地址。当创建ovs网桥时会自带一个同名的端口,该端口就是类型为Internal 端口。解决的思路就是Internal类型的port会生成一个虚拟网卡,将绑定到网桥的网卡的IP地址转移到该虚拟网卡上,然后配置路由即可。

解决步骤:

1.查看当前网卡ip地址

查看路由

2.创建网桥,绑定端口

当创建网桥之后网桥自带一个类型为Internal的port,该port就是一个虚拟网卡。使用ifconfig能够查看得到,网卡名字就叫做s1.

3.将网卡eth0的ip地址转移到网卡s1上

由于我是ssh远程到虚拟机上操作,当将eth0绑定到网桥上之后ip失效,所以ssh断开,只能在虚拟机上操作。

4.查看路由

当前路由中已经没有发往外网的路由

5.添加新路由

为新网卡s1添加网关路由

route add default gw 30.0.0.1

6.测试生效

添加好路由之后可以发现能够重新通外网。网卡eth0的ip在新网卡s1上生效

OpenvSwitch系列之五 网桥特性功能配置的更多相关文章

  1. OpenvSwitch系列之ovs-vsctl命令使用

    Open vSwitch系列之一 Open vSwitch诞生 Open vSwitch系列之二 安装指定版本ovs Open vSwitch系列之三 ovs-vsctl 命令使用 OpenvSwit ...

  2. OpenvSwitch系列之八 vxlan隧道

    Open vSwitch系列之一 Open vSwitch诞生 Open vSwitch系列之二 安装指定版本ovs Open vSwitch系列之三 ovs-vsctl命令使用 Open vSwit ...

  3. OpenvSwitch系列之七 meter表限速

    Open vSwitch系列之一 Open vSwitch诞生 Open vSwitch系列之二 安装指定版本ovs Open vSwitch系列之三 ovs-vsctl命令使用 Open vSwit ...

  4. OpenvSwitch系列之ovs-ofctl命令使用

    Open vSwitch系列之一 Open vSwitch诞生 Open vSwitch系列之二 安装指定版本ovs Open vSwitch系列之三 ovs-vsctl 命令使用 OpenvSwit ...

  5. OpenvSwitch系列之六 vlan隔离

    局域网游戏代表:红色警戒 Open vSwitch系列之一 Open vSwitch诞生 Open vSwitch系列之二 安装指定版本ovs Open vSwitch系列之三 ovs-vsctl命令 ...

  6. nginx高性能WEB服务器系列之五--实战项目线上nginx多站点配置

    nginx系列友情链接:nginx高性能WEB服务器系列之一简介及安装https://www.cnblogs.com/maxtgood/p/9597596.htmlnginx高性能WEB服务器系列之二 ...

  7. Sql Server来龙去脉系列之二 框架和配置

    本节主要讲维持数据的元数据,以及数据库框架结构.内存管理.系统配置等.这些技术点在我们使用数据库时很少接触到,但如果要深入学习Sql Server这一章节也是不得不看.本人能力有限不能把所有核心的知识 ...

  8. 单元测试系列之五:Mock工具之Mockito实战

    更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 原文链接:http://www.cnblogs.com/zishi/p/6780719.html 在实际项目中写单 ...

  9. nginx高性能WEB服务器系列之六--nginx负载均衡配置+健康检查

    nginx系列友情链接:nginx高性能WEB服务器系列之一简介及安装https://www.cnblogs.com/maxtgood/p/9597596.htmlnginx高性能WEB服务器系列之二 ...

随机推荐

  1. 小白到大神,你需要了解的 sqlite 最佳实践

    本文微信公众号「AndroidTraveler」首发. 背景 本文是对一篇英文文档的翻译,原文请见文末链接. 并发数据库访问 假设你实现了自己的 SQLiteOpenHelper. public cl ...

  2. 51-overlay 是如何隔离的?

    不同的 overlay 网络是相互隔离的.我们创建第二个 overlay 网络 ov_net2 并运行容器 bbox3. bbox3 分配到的 IP 是 10.0.1.2,尝试 ping bbox1( ...

  3. pip命令详解

    使用详解 1.pip安装软件 # pip install SomePackage 2.pip查看已安装的软件 # pip show --files SomePackage 3.pip检查哪些软件需要更 ...

  4. [考试反思]1112csp-s模拟测试111:二重

    还是AK场.考前信心赛? 而且T3的部分分还放反了所有80的都其实只有50. 总算在AK场真正AK了一次... 手感好,整场考试很顺利.要不是因为T3是原题可能就没这么好看了. 20minT1,50m ...

  5. [译]Vulkan教程(11)Image Views

    Image views To use any VkImage, including those in the swap chain, in the render pipeline we have to ...

  6. 《Netty Redis Zookeeper 高并发实战》 勘误

    <Netty Redis Zookeeper 高并发实战> 勘误与申明 疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 勘误一 文字问题: Page1 J ...

  7. Vue 从入门到进阶之路(十三)

    之前的文章我们介绍了一下 vue 中的作用域插槽,本章我们来看一下动态组件与 v-once 指令. <!DOCTYPE html> <html lang="en" ...

  8. router-view 与 动态组件 区别

    提问:router-view 可以页面跳转,使用 is特性 也可以进行页面跳转,有什么区别? 参考链接 https://segmentfault.com/q/1010000010750059

  9. DWG文件怎么转换成PDF格式

    在CAD中,设计师们绘制的图纸都是以dwg文件来进行保存的.Dwg文件是不能够直接进行打开查看的,就需要将其格式进行转换一下.将dwg文件转换为PDF格式的进行查看.那具体要怎么来进行操作呢?下面小编 ...

  10. C# 新特性 操作符单?与??和 ?. 的使用

    1.单问号(?) 1.1 单问号运算符可以表示:可为Null类型,C#2.0里面实现了Nullable数据类型 //A.比如下面一句,直接定义int为null是错误的,错误提示为无法将null转化成i ...