Ein VM-Gast kann über eine macvtap nicht mit LAN-Maschinen kommunizieren

635
ChubbyPixel

Es könnte sein, dass etwas offensichtlich ist, da ich nichts finden konnte, das erklärt, warum ich das nicht schaffen kann. Ich bin nicht neu in libvirt, kvm, qemu, nur in macvtap. Um ehrlich zu sein, kann ich nicht herausfinden, warum macvtap vorteilhafter ist, als Gäste für die Verwendung isolierter und NAT-Netzwerke zu konfigurieren, was unkompliziert ist. Wenn irgendjemand auch das näher erläutern könnte, wäre das großartig.

Meine Situation ist folgende: Ich habe einen Arch Linux-Host, auf dem ich einige Debian-Gäste als Labor aufstelle. Meine physische Schnittstelle auf dem Host ist wi0eine drahtlose Schnittstelle, die mit meinem LAN verbunden ist, 192.168.1.0/24. Mein Gast "debian_01" (192.168.1.251) enthält die folgende Zeilengruppe, die ihn verbindet 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> 

(Tauschen bridgemitvepa macht keinen Unterschied; ich habe beide versucht.)

("Debian_02" hat eine ähnliche Zeilengruppe mit unterschiedlicher MAC-Adresse, macvtap1, net1.)

Die Routingtabelle für "debian_01" hat einen entsprechenden Eintrag:

192.168.1.0/24 dev ens16 proto kernel scope link src 192.168.1.251 

Beide Gäste (debian_01, debian_02) können sich ping anpingen; Allerdings schlägt das Pingen von Fehlern im LAN aufgrund von ARP fehl. Folgendes sehe ich auf meinem Arch-Host, wenn ich versuche, meinen LAN-Router zu pingen:

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 wurden auf -j ACCEPTalles aktualisiert, was entweder von macvtap0 oder 192.168.1.251 (debian_01) kommt, aber keine Würfel.

sysctl auf dem host:

net.ipv4.conf.all.forwarding = 1 

Was kann man sonst noch tun, damit diese Gäste über ihre macvtaps mit anderen Computern in meinem LAN kommunizieren können?

Gerne teile ich Ihnen bei Bedarf weitere Informationen mit.

1

0 Antworten auf die Frage