1

Я мог упустить что-то очевидное, так как я не мог найти ничего, что объясняло бы, почему я не могу заставить это работать. Я не новичок в libvirt, kvm, qemu, просто в macvtap. Если честно, я не могу понять, почему macvtap более выгоден, чем настройка гостей для использования изолированных сетей и сетей NAT, что довольно просто. Если бы кто-то тоже мог это уточнить, это было бы потрясающе.

Моя ситуация такова: у меня есть хост Arch Linux, на котором я настраиваю нескольких гостей Debian в качестве лаборатории. Мой физический интерфейс на хосте - это wi0 , беспроводной интерфейс, который подключен к моей локальной сети, 192.168.1.0/24. Мой гость «debian_01» (192.168.1.251) имеет следующую строфу, которая связывает его с macvtap0:

<interface type='direct'>
  <mac address='52:54:00:cb:a4:08'/>
  <source dev='wi0' mode='bridge'/>
  <target dev='macvtap0'/>
  <model type='virtio'/>
  <alias name='net0'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x10' function='0x0'/>
</interface>

( Замена bridge с помощью vepa не имеет значения; я попробовал их обоих.)

(«Debian_02» имеет похожий раздел с другим MAC-адресом, macvtap1, net1.)

Таблица маршрутизации на «debian_01» имеет соответствующую запись:

192.168.1.0/24 dev ens16 proto kernel scope link src 192.168.1.251

Оба гостя (debian_01, debian_02) могут нормально пинговать друг друга; однако, пинг чего-либо в локальной сети кажется неудачным из-за ARP. Вот что я вижу на своем хосте Arch, когда пытаюсь пропинговать мой маршрутизатор локальной сети:

HOST$ tcpdump -nnnqti macvtap0
ARP, Request who-has 192.168.1.254 tell 192.168.1.251, length 28
ARP, Request who-has 192.168.1.254 tell 192.168.1.251, length 28
ARP, Request who-has 192.168.1.254 tell 192.168.1.251, length 28
ARP, Request who-has 192.168.1.254 tell 192.168.1.251, length 28

Iptables был обновлен до -j ACCEPT что-либо, поступающее из macvtap0 или 192.168.1.251 (debian_01), но без кубиков.

sysctl на хосте:

net.ipv4.conf.all.forwarding = 1

Что еще нужно сделать, чтобы эти гости могли общаться с другими машинами в моей локальной сети через свои macvtaps?

Я буду рад поделиться дополнительной информацией, если это необходимо.

0