OpenvSwitch系列之五 网桥特性功能配置
Open vSwitch系列之一 Open vSwitch诞生
Open vSwitch系列之三 ovs-vsctl命令使用
Open vSwitch系列之四 ovs-ofctl命令使用
查看网桥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系列之五 网桥特性功能配置的更多相关文章
- OpenvSwitch系列之ovs-vsctl命令使用
Open vSwitch系列之一 Open vSwitch诞生 Open vSwitch系列之二 安装指定版本ovs Open vSwitch系列之三 ovs-vsctl 命令使用 OpenvSwit ...
- OpenvSwitch系列之八 vxlan隧道
Open vSwitch系列之一 Open vSwitch诞生 Open vSwitch系列之二 安装指定版本ovs Open vSwitch系列之三 ovs-vsctl命令使用 Open vSwit ...
- OpenvSwitch系列之七 meter表限速
Open vSwitch系列之一 Open vSwitch诞生 Open vSwitch系列之二 安装指定版本ovs Open vSwitch系列之三 ovs-vsctl命令使用 Open vSwit ...
- OpenvSwitch系列之ovs-ofctl命令使用
Open vSwitch系列之一 Open vSwitch诞生 Open vSwitch系列之二 安装指定版本ovs Open vSwitch系列之三 ovs-vsctl 命令使用 OpenvSwit ...
- OpenvSwitch系列之六 vlan隔离
局域网游戏代表:红色警戒 Open vSwitch系列之一 Open vSwitch诞生 Open vSwitch系列之二 安装指定版本ovs Open vSwitch系列之三 ovs-vsctl命令 ...
- nginx高性能WEB服务器系列之五--实战项目线上nginx多站点配置
nginx系列友情链接:nginx高性能WEB服务器系列之一简介及安装https://www.cnblogs.com/maxtgood/p/9597596.htmlnginx高性能WEB服务器系列之二 ...
- Sql Server来龙去脉系列之二 框架和配置
本节主要讲维持数据的元数据,以及数据库框架结构.内存管理.系统配置等.这些技术点在我们使用数据库时很少接触到,但如果要深入学习Sql Server这一章节也是不得不看.本人能力有限不能把所有核心的知识 ...
- 单元测试系列之五:Mock工具之Mockito实战
更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 原文链接:http://www.cnblogs.com/zishi/p/6780719.html 在实际项目中写单 ...
- nginx高性能WEB服务器系列之六--nginx负载均衡配置+健康检查
nginx系列友情链接:nginx高性能WEB服务器系列之一简介及安装https://www.cnblogs.com/maxtgood/p/9597596.htmlnginx高性能WEB服务器系列之二 ...
随机推荐
- [转]BEC Vantage
https://www.examenglish.com/BEC/BEC_Vantage.html https://www.cambridgeenglish.org/exams-and-tests/bu ...
- mysql 8.0 忘记root密码后重置
最近状态很不好,一直晕晕晕晕晕晕乎乎的,一个测试实例,下班前修改了一下root的密码,接着就下班走人,第二天来发现root密码忘了 刚好自动化安装脚本整理好了,本来想着算了直接重装实例得了,简单省事也 ...
- springmvc+mybatis需要的jar包与详解
https://www.cnblogs.com/luohengstudy/p/7772109.html
- Nim 游戏
你和你的朋友,两个人一起玩 Nim 游戏:桌子上有一堆石头,每次你们轮流拿掉 1 - 3 块石头. 拿掉最后一块石头的人就是获胜者.你作为先手. 你们是聪明人,每一步都是最优解. 编写一个函数,来判断 ...
- numpy函数查询手册
写了个程序,对Numpy的绝大部分函数及其说明进行了中文翻译. 原网址:https://docs.scipy.org/doc/numpy/reference/routines.html#routine ...
- [译]Vulkan教程(05)Instance
[译]Vulkan教程(05)Instance Creating an instance 创建一个instance The very first thing you need to do is ini ...
- IT兄弟连 HTML5教程 CSS3揭秘 小结及习题
小结 CSS3对于开发者来说,给web应用带来了更多的可能性,极大提高了开发效率.CSS3在选择器上的支持可谓是丰富多彩,使得我们能够灵活的控制样式,而不必为元素进行规范化的命名.CSS3支持的动画类 ...
- PHP 将远程文件写入到pdf或者word
/** * 下载 */public function download($ids = null){ //一些条件参数啥的 $data = []; //获取文件 $res = curl_post(url ...
- QLineEdit限制数据类型——只能输入浮点型数
前言 最近做了一个小的上位机,要通过串口来下发几个时间参数,为了防止误输入,产生不必要的麻烦,我把输入范围限制在0-680的浮点型数据,支持小数点后2位.学习了一下QLineEdit类是如何限制输入类 ...
- 三行Jquery代码实现简单的选项卡
今晚,我们来用实现一个简单的选项卡切换代码,主要代码只有两行. 效果: 思路:通过切换JQuery控制div的显隐和样式的改变 其中那个一个div显示,其余全隐藏 实现: <!DOCTYPE h ...