OVS配置端口镜像

1.创建用于接收报文的端口

1
modprobe dummy

2.将端口状态设置为UP

1
ip link set up dummy0

3.将端口加入网桥中

1
ovs-vsctl add-port br-tun dummy0

以上,也可以使用ovs命令创建虚拟网卡

1
ovs-vsctl add-port br-tun dummy1

4.创建ovs网桥br-tun镜像mirror0

1
ovs-vsctl  --id=@m create mirror name=mirror0 -- add bridge br-tun mirrors @m

5.获取镜像端口uuid

1
2
ovs-vsctl get port dummy0 _uuid
782dea3c-c41a-45e7-95eb-9823c2fd705a

1
ovs-vsctl list port dummy0 取 _uuid

6.设置把镜像报文转到哪个端口

1
ovs-vsctl set mirror mirror0 output_port=782dea3c-c41a-45e7-95eb-9823c2fd705a

7.设置镜像指定所有流量

1
ovs-vsctl set mirror mirror0 select_all=1

以上命令,可以简写为:

1
2
3
4
5
ovs-vsctl -- --id=@p1 get port dummy1 \
-- --id=@m1 create mirror name=mirror1 \
select-all=true \
output-port=@p1 \
-- set bridge br-tun mirrors=@m1
  1. 其他命令
    查看端口镜像
    1
    2
    ovs-vsctl list mirror
    ovs-vsctl get bridge <bridge-name> mirrors

清空端口镜像

1
ovs-vsctl clear bridge <bridge-name> mirrors

关闭端口的MAC地址学习

1
ovs-ofctl mod-port <bridge-name> <port-name> NO-FLOOD

OVS配置端口镜像
http://maitianxin.github.io/2022/03/26/linux/ovs_port_mirror/
作者
Matianxin
发布于
2022年3月26日
许可协议