研究这个功能的初衷:ovs网桥的veth口(phy-br-provider),怎么才能抓到报文呢?就想到了mirror功能,看看行不行
Openvswitch 配置端口镜像
1 创建接受报文的 mirror packets
modprobe dummy
ip link set up dummy0
modprobe dummy
2 添加端口到openvswitch中
ovs-vsctl add-port br0 dummy0
3 创建ovs网桥镜像mirror0
ovs-vsctl --id=@m create mirror name=mirror0 -- add bridge br-provider mirrors @m
4、设置镜像端口
ovs-vsctl list port dummy0
dummy0 的_uuid:d3427810-8e68-40af-99c0-8cb935af9882
ovs-vsctl list Port phy-br-provider
phy-br-provider的_uuid :c9331784-a8f2-4e1f-bd2d-8081f4e4fd0e
#设置把镜像报文转到哪个port。
ovs-vsctl set mirror mirror0 output_port=d3427810-8e68-40af-99c0-8cb935af9882
#设置做镜像的port。
ovs-vsctl set mirror mirror0 select_dst_port=c9331784-a8f2-4e1f-bd2d-8081f4e4fd0e select_src_port=c9331784-a8f2-4e1f-bd2d-8081f4e4fd0e
#ovs-vsctl set mirror mirror0 select_all=1
测试
tcpdump –i dummy0
结论:没有抓到报文,veth口抓不到报文。
参考:http://blog.51cto.com/xiaoli110/665643
http://www.qingpingshan.com/m/view.php?aid=357348