В настоящее время у меня есть настройка ниже, где vm
- это гость KVM хоста
, подключенная к одному из сетевых интерфейсов хоста
через MacVTap работает в режиме моста.
|---------------|
| ___________ |
switch ======= | | vm | |
| ----------- |
|____ host _____|
Внутри vm
я установил несколько интерфейсов VLAN вместе с нетегированным:
3: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 52:54:00:00:00:02 brd ff:ff:ff:ff:ff:ff promiscuity 0 minmtu 68 maxmtu 65535 addrgenmode eui64 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535
4: enp2s0.2@enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
link/ether 52:54:00:00:00:02 brd ff:ff:ff:ff:ff:ff promiscuity 0 minmtu 0 maxmtu 65535
vlan protocol 802.1Q id 2 <REORDER_HDR> addrgenmode eui64 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535
...
хост
не имеет интерфейсов VLAN.
Нетегированный трафик потоки входят и исходят из enp2s0
совершенно нормально, но тегированный трафик, кажется, теряется где-то между хостом
и vm
. Я проверил это, подключив машину к интерфейсу, представленному enp2s0
, создав новые тегированные интерфейсы через iproute2
, назначив IP-адрес, а затем отправив эхо-запрос IP-адреса vm.
, соответствующий тегированной VLAN, из которой я пингую.
Интересно, что запуск tcpdump
на интерфейсе необработанного резервного копирования на хосте
пропускает тегированные пакеты, но только пока работает tcpdump
. На изображении ниже показан этот странный эффект. (Сверху вниз: хост
, работает tcpdump
; машина подключена к enp2s0
, пингует vm
; [1110210217] vm ], проверяя связь с указанной машиной)
Правильно ли отправлять транковый трафик в интерфейс MacVTap, или я должен создавать разные интерфейсы на хосте и передавать их в виртуальную машину? Есть ли какая-то проблема с тем, как я настраиваю свои интерфейсы, будь то на хосте или в виртуальной машине?
Установка необработанного резервного интерфейса на хосте
в неразборчивый режим, казалось, заставляла все работать постоянно (т.е. ip link set dev enp2s0 промиск
и добавление соответствующих строк в /etc/network/interfaces
). Я не уверен, что это правильно, но из-за отсутствия других вещей, которые можно попробовать, это отлично работает для меня, пока не появится лучшее решение.