Создание зеркала порта на открытом мосту vswitch

ps -o ni $(pidof processname)

Например:

ps -o ni $(pidof mysqld)

# ps -o ni $(pidof mysqld) 
  NI
  15
1
03.03.2018, 11:24
2 ответа

Пробовали ли вы использовать tcpdump для прослушивания интерфейса виртуальной машины?

Я не уверен, что вы используете в качестве гипервизора, но вы сможете запустить ip addr, и если вы видите порты vswitch; в этом выводе вы можете захватить эти порты в tcpdump.

Вы также можете запустить tcpdump -D, и это скажет вам, что известно libpcap на хост-компьютере для захвата.

Например, если вы используете KVM в качестве гипервизора, вы можете получить MAC-адрес и имя порта, с которым связана виртуальная машина.

# Assuming your xml files for the vms are in the default location also. cat /etc/libvirt/qemu/{{ name_of_vm }}.xml | grep -A 2 interface

Из этого вывода вы можете сопоставить вывод из ip addr, используя две последние цифры MAC-адреса в качестве фильтра.

ip a | grep -B 1 -i {{ last_two }}

Возвращаемый интерфейс затем может использоваться tcpdump.

tcpdump -ni {{ vnet_name }} -s0 -vw /var/tmp/{{ vnet_port_out }}.pcap

Это позволит захватить все на этом порту без фильтрации.

0
28.01.2020, 00:39

У меня успешно зеркалируется трафик, см. :enter image description hereв моем случае зеркало трафика vm1 в br -int to vm0, vm0 имеют два порта, один менеджер, другой получает трафик

Порт приема vm0 —7df1c457-7732-44b2-bf15-63b0b661f1b7

порт vm1 —7eb61cc2-d059-4002-acef-b38e242ce4a5

  1. вытащить интерфейс «tapxxxx» из моста linux «qbrxxxxx»

    brctl delif qbr7df1c457-77 tap7df1c457-77
    
  2. добавить интерфейс "tapxxxx" в br -int

    ovs-vsctl add-port br-int tap7df1c457-77
    
  3. зеркало br -инт трафик на порт tap7df1c457 -77

    ovs-vsctl -- --id=@tap1 get port qvo7eb61cc2-d0 -- --id=@tap2 get port tap7df1c457-77 -- --id=@m create mirror name=m0 select_dst_port=@tap1 select_src_port=@tap1 output_port=@tap2 -- set bridge br-int mirrors=@m
    

qvo7eb61cc2-d0— это порт vm1.

0
28.01.2020, 00:39

Теги

Похожие вопросы