ubuntuusers.de

QEMU VM network bridge im WLAN

Status: Gelöst | Ubuntu-Version: Kubuntu 22.04 (Jammy Jellyfish)
Antworten |

max5432432

Anmeldungsdatum:
29. Oktober 2022

Beiträge: 7

Ich möchte mit einer network bridge erreichen, dass meine QEMU VM eine IP Adresse besitzt. Der Host soll die VM anhand dieser IP Adresse erreichen. Es ist egal, ob die VM von außen erreichbar ist und ob sie Internet hat.

Der Host soll weiterhin seine eigene IP Adresse haben. Daher kommt NAT nicht infrage.

Einfach die Bridge über network manager einrichten geht nicht, weil ich nur WLAN habe:

Note that a bridge cannot be established over Wi-Fi networks operating in Ad-Hoc or Infrastructure modes. This is due to the IEEE 802.11 standard that specifies the use of 3-address frames in Wi-Fi for the efficient use of airtime.

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/networking_guide/ch-configure_network_bridging

Das Tutorial sollte meine Lösung sein, ist allerdings für gentoo: https://wiki.gentoo.org/wiki/QEMU/Bridge_with_Wifi_Routing

Gibt es unter Ubuntu die Datei "/etc/conf.d/net"? Ist es möglich, dieses Tutorial unter Ubuntu anzuwenden?

encbladexp Team-Icon

Ehemaliger
Avatar von encbladexp

Anmeldungsdatum:
16. Februar 2007

Beiträge: 17519

Die Anleitung macht auch keine Bridge ins WLAN/Wifi. Du kannst die VM doch auch ohne Bridge nutzen, dein Host ist dann der Router, im Zweifel halt ein zweites Interface das statisch zwischen Host und VM konfiguriert ist für die Kommunikation von Host zu VM.

Abgesehen davon: Die Anleitung ist sehr spezifisch für Gentoo, und wird so für Ubuntu nichtmal im Ansatz funktionieren.

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9564

Wohnort: Münster

max5432432 schrieb:

Ich möchte mit einer network bridge erreichen, dass meine QEMU VM eine IP Adresse besitzt.

Falsches Werkzeug: Eine network bridge vergibt keine IP-Adressen. Eine network bridge verbindet Netzwerke auf Netzwerkebene 2 und kümmert sich überhaupt nicht um IP-Adressen.

IP-Adressen vergibt zentral ein DHCP-Server an DHCP-Clients oder man konfiguriert lokal auf jedem Host eine individuelle IP-Adresse.

[…] Das Tutorial sollte meine Lösung sein, ist allerdings für gentoo […] Ist es möglich, dieses Tutorial unter Ubuntu anzuwenden?

Wenn Du die Voraussetzung „Ubuntu = Gentoo“ erfüllen kannst, hast Du damit vielleicht Erfolg.

max5432432

(Themenstarter)

Anmeldungsdatum:
29. Oktober 2022

Beiträge: 7

encbladexp schrieb:

Du kannst die VM doch auch ohne Bridge nutzen, dein Host ist dann der Router, im Zweifel halt ein zweites Interface das statisch zwischen Host und VM konfiguriert ist für die Kommunikation von Host zu VM.

Vielen Dank für die Antwort, da war ich wohl vollkommen in die falsche Richtung unterwegs. Das klingt genau nach dem, was ich suche.

Ich habe gleich nach Antwort probiert loszulegen, aber mir fehlen jetzt noch ein paar Stichworte, um mich auf die Suche zu machen.

a) Was genau für ein Interface sollte ich erstellen? Die Tutorials, die ich finde, beziehen sich auf bridges und tap oder dummy interfaces, letzteres bringt mir natürlich gar nichts.

b) Als was für einen Typ binde ich das in QEMU ein? Es soll kein User Networking (SLIRP) sein. Im Wiki gibt es dann noch tap, VDE, Socket?

encbladexp Team-Icon

Ehemaliger
Avatar von encbladexp

Anmeldungsdatum:
16. Februar 2007

Beiträge: 17519

Du kannst eine Bridge anlegen, in welcher nur die VM ist. Der Host ist automatisch, auch ohne weiteres Interface in der Bridge, teil der Bridge. Musst halt IP/Netzmaske nach deinen Vorlieben konfigurieren.

max5432432

(Themenstarter)

Anmeldungsdatum:
29. Oktober 2022

Beiträge: 7

deleted

Femtom

Anmeldungsdatum:
21. November 2022

Beiträge: 105

Wenn es nur eine VM gibt und diese keinen Internetzugriff benötigt, ist ein tap device das einfachste. QEMU kann selbst beim starten eines anlegen, z.B. mit den Parametern

1
-netdev tap,id=mytap0 -device e1000,netdev=mytap0

Hier kein ifname=tap0 o.ä. angeben → qemu legt dann selbst eins an

Und nicht die ifup und ifdown-Skripte deakivieren (mit script=no,downscript=no) → dann wird das tap device angelegt und ist auch gleich "up".

Dann muss man noch die IP-Adressen im Host und in der VM festlegen, z.B. im Host mit

1
sudo ip a a 192.168.20.1/24 dev tap0

max5432432

(Themenstarter)

Anmeldungsdatum:
29. Oktober 2022

Beiträge: 7

Femtom schrieb:

Wenn es nur eine VM gibt und diese keinen Internetzugriff benötigt, ist ein tap device das einfachste.

Damit hatte ich keinen Erfolg, die QEMU VM bootet und dann steht dort:

"Waiting for interface eth0 to appear............... timeout!"

Geklappt hat es dann mit folgenden Schritten:

1. Terminal nmtui

2. Edit connection → Add → Bridge

3. Name im device Feld notieren, default ist nm-br0

4. IPv4 Configuration → Manual

5. IPv4 Configuratoin → show

  • Address: eine lokale IP Adresse angeben, z.B. 192.168.3.100

  • Gateway freilassen

  • Speichern

6. /etc/qemu/bridge.conf → allow all

7. qemu starten mit

-netdev bridge,id=hn0,br=nm-br0 \
-device virtio-net-pci,netdev=hn0,id=nic1 \

8. nach dem booten in VM IP statisch setzen:

ip addr add 192.168.3.101 dev eth0

9. je nach dem was man dann vor hat, die entsprechende Route setzen

In meinem Fall für Multicast:

sudo ip route add 224.0.0.1 via 192.168.3.100 dev nm-br0
Antworten |