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服务器系列之二 ...
随机推荐
- 小白到大神,你需要了解的 sqlite 最佳实践
本文微信公众号「AndroidTraveler」首发. 背景 本文是对一篇英文文档的翻译,原文请见文末链接. 并发数据库访问 假设你实现了自己的 SQLiteOpenHelper. public cl ...
- 51-overlay 是如何隔离的?
不同的 overlay 网络是相互隔离的.我们创建第二个 overlay 网络 ov_net2 并运行容器 bbox3. bbox3 分配到的 IP 是 10.0.1.2,尝试 ping bbox1( ...
- pip命令详解
使用详解 1.pip安装软件 # pip install SomePackage 2.pip查看已安装的软件 # pip show --files SomePackage 3.pip检查哪些软件需要更 ...
- [考试反思]1112csp-s模拟测试111:二重
还是AK场.考前信心赛? 而且T3的部分分还放反了所有80的都其实只有50. 总算在AK场真正AK了一次... 手感好,整场考试很顺利.要不是因为T3是原题可能就没这么好看了. 20minT1,50m ...
- [译]Vulkan教程(11)Image Views
Image views To use any VkImage, including those in the swap chain, in the render pipeline we have to ...
- 《Netty Redis Zookeeper 高并发实战》 勘误
<Netty Redis Zookeeper 高并发实战> 勘误与申明 疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 勘误一 文字问题: Page1 J ...
- Vue 从入门到进阶之路(十三)
之前的文章我们介绍了一下 vue 中的作用域插槽,本章我们来看一下动态组件与 v-once 指令. <!DOCTYPE html> <html lang="en" ...
- router-view 与 动态组件 区别
提问:router-view 可以页面跳转,使用 is特性 也可以进行页面跳转,有什么区别? 参考链接 https://segmentfault.com/q/1010000010750059
- DWG文件怎么转换成PDF格式
在CAD中,设计师们绘制的图纸都是以dwg文件来进行保存的.Dwg文件是不能够直接进行打开查看的,就需要将其格式进行转换一下.将dwg文件转换为PDF格式的进行查看.那具体要怎么来进行操作呢?下面小编 ...
- C# 新特性 操作符单?与??和 ?. 的使用
1.单问号(?) 1.1 单问号运算符可以表示:可为Null类型,C#2.0里面实现了Nullable数据类型 //A.比如下面一句,直接定义int为null是错误的,错误提示为无法将null转化成i ...