CentOS下KVM网卡设置成网桥时获取镜像端口的流量
首先,网桥配置好之后就能实现一个简单的交换机,而交换机的特点就是MAC地址学习,那么KVM的网卡设置成网桥之后,也就是相当于连接到了交换机上。
此时如果要实现在二层交换机或三层交换机做端口镜像,并把这个镜像的流量转到这个虚拟机的网卡上,那么会出现无法实现的问题,下面我来分析一下原因:
1、配置好网桥就成了一个交换机,注意,不是集线器。
2、那么镜像端口的流量只会到达物理网卡上,而物理网卡组成的交换机认得也就是物理网卡的MAC地址,那么此时KVM的网卡不会受到任何流量。因为KVM也是有MAC地址,并且这个MAC地址只会认为是交换机中的一台电脑而已。
3、那么如果此时要将物理网卡流量转到KVM的网卡上,实现思路估计也是在虚拟交换机上做端口镜像,而这种实现几乎是不可能的。
4、那换一种思路,将这个网桥做成的交换机做成集线器,集线器没有MAC地址学习,当有流量时会立刻分发到各个端口的主机,也就是实现端口镜像。
通过以上分析,那么只需要这几个命令即可:
# 关闭br1的mac地址学习功能和降低转发延迟
brctl setageing br1 0
brctl setfd br1 0
注意:这几个命令写在开机启动项/etc/rc.local上使其开机生效。研究过了,没别的办法可以实现。
以下内容为转载:
Bridge(桥)是 Linux 上用来做 TCP/IP 二层协议交换的设备,与现实世界中的交换机功能相似。Bridge 设备实例可以和 Linux 上其他网络设备实例连接,既 attach 一个从设备,类似于在现实世界中的交换机和一个用户终端之间连接一根网线。每当这个从物理网卡设备收到数据时都会把数据转发到 bridge 上,当 bridge 接收到此数据时,bridge进行一个和现实世界中的交换机类似的处理过程:判断包的类别(广播/单点),查找内部 MAC 端口映射表,定位目标端口号,将数据转发到目标端口或丢弃,自动更新内部 MAC 端口映射表以自我学习。而我们关闭br1的mac地址学习功能,把br1作为一个hub来使用,使其直接把流量转发到连接到br1的虚拟网卡vnet1。如果不关闭mac地址学习功能,由于br1收到的镜像流量中数据包的目的mac地址不是虚拟机的mac地址,故会直接把收到的流量丢弃,不再进行转发。
参考:
http://blog.51cto.com/leejia/2147300(以上内容部分转自此篇文章)
http://www.just4coding.com/blog/2017/12/02/ovs-mirror/
https://www.ibm.com/developerworks/cn/linux/1310_xiawc_networkdevice/index.html
CentOS下KVM网卡设置成网桥时获取镜像端口的流量的更多相关文章
- CentOS下bond网卡聚合与网桥结合
需求:服务器配置bond多网卡聚合,然后KVM需要使用到网桥,那么需要做到网桥绑定到bond网卡上. 实现核心: 1.bond配置参考:https://www.cnblogs.com/EasonJim ...
- mysql主键设置成auto_increment时,进行并发性能測试出现主键反复Duplicate entry 'xxx' for key 'PRIMARY'
mysql主键设置成auto_increment时,进行并发性能測试出现主键反复Duplicate entry 'xxx' for key 'PRIMARY' 解决方法: 在my.cnf的[mysql ...
- (转)log4j日志级别设置成DEBUG时输出Html代码等问题:
log4j日志级别设置成DEBUG时输出Html代码等问题: 问题: log4j日志级别设置成DEBUG时会输出很多信息,包括一些Html代码 解决方案: log4j的控制是树形,所以在log4j.p ...
- Tomcat设置成NIO时,使用的线程池
设置成NIO时, <Connector port="8088" protocol="org.apache.coyote.http11.Http11NioProtoc ...
- Linux网卡设置为网桥模式
Linux网卡设置为网桥模式 1. 添加网卡,并修改相关配置文件 1.1虚拟机添加网卡,并配置相关文件 如:eth2为新添加网卡 cd /etc/sysconfig/network-script ...
- centos下查看网卡,主板,CPU,显卡,硬盘型号等硬件信息
centos下查看网卡,主板,CPU,显卡,硬盘型号等硬件信息 rose_willow rose_willow 发布于 2016/06/16 11:32 字数 902 阅读 405 收藏 0 点赞 0 ...
- Linux下双物理网卡设置成虚拟网卡
为了提供网络的高可用我们须要将多块网卡绑定设置成一块虚拟的网卡对外提供服务,这样能够防止一块网卡损坏或者防止网线连接故障造成的连接中断. 以下我们使用eth0与eth1来虚拟成为bond0为例:--- ...
- VMware workstation CentOs 7 虚拟机网卡设置为NAT模式并设置固定IP
一.背景知识 虚拟机网络模式 无论是vmware workstation,virtual box,virtual pc等虚拟机软件,一般来说,虚拟机有三种网络模式: 1.桥接 2.NAT 3 ...
- CentOS下多网卡绑定bond/多网卡聚合
网卡bond我直接理解成网卡聚合了,就是把多张网卡虚拟成1张网卡,出口时,这张网卡无论哪个断线都不影响网络,入口时,需要结合交换机的端口聚合功能实现和网卡配置的bond模式进行负载均衡.bond需要在 ...
随机推荐
- 浅谈 JSON 那些被转义的字符们
其实,之前我一直以为 JSON 会把 ASCII 可显示字符以外的统统转义为 Unicode,直到有一次我用 JSON.stringify 才发现,其实是 PHP 为我们想的太周到了. 我以前是一位 ...
- [整理]JS中的状态机
/*StateMachine*/ var StateMachine = (function(){ function StateMachine(opts){ this.current = opts.in ...
- 关于MYSQL group by 分组按时间取最大值的实现方法
类如 有一个帖子的回复表,posts( id , tid , subject , message , dateline ) , id 为 自动增长字段, tid为该回复的主题帖子的id(外键关联), ...
- element-UI 下拉条数多渲染慢
本文地址:https://www.cnblogs.com/veinyin/p/10120398.html 如果渲染为普通下拉框,用户难以找到要选择的那一项,增加模糊搜索功能,可解决渲染缓慢问题,但用户 ...
- 【转】如何评价 Apple 新推出的编程语言 Swift?
如何评价 Apple 新推出的编程语言 Swift? 原文地址:http://www.zhihu.com/question/24002984 评价:如果你会Objective-C,你不需要去看它. ...
- XMPP 基础
CHENYILONG Blog XMPP 基础 技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http://weibo.com/luohanchenyilong ...
- shell 示例1 从1叠加到100
从1叠加到100 echo $[$(echo +{..})] echo $[(+)*(/)] seq -s |bc
- 线段树->面积并 Atlantis HDU - 1542
题目链接:https://cn.vjudge.net/problem/HDU-1542 题目大意:求面积并 具体思路:我们首先把矩形分割成一横条一横条的,然后对于每一个我们给定的矩形,我们将储存两个点 ...
- Flask源码解析:Flask应用执行流程及原理
WSGI WSGI:全称是Web Server Gateway Interface,WSGI不是服务器,python模块,框架,API或者任何软件,只是一种规范,描述服务器端如何与web应用程序通信的 ...
- yum安装软件报错:curl#6 - "Could not resolve host: mirrorlist.centos.org; Temporary failure in name resolut
# yum install -y epel-release Loaded plugins: fastestmirror Repository base is listed more than once ...