qemu/kvm und Netzwerk / qemu/kvm and network

Frank Furt

Neuer Pirat
Registriert
26 Mai 2021
Beiträge
5
Erhaltene Likes
0
Hallo Leute.

Ich hätte einige Frage bezüglich qemu/kvm und Netzwerk.

Zunächst Folgendes Szenario:

Host-Betriebssytem: Ubuntu Server 20.04

Gast-Betriebssystem: Windows 7 / Windows 10

Das Gast-Betriebssystem soll in einer VM installiert werden.
Host-Betriebssytem und Gast-Betriebssystem sollen sich im gleichen Netz befinden z.B. 192.168.14.0/24
Das Gast-Betriebssystem soll von qemu/kvm aus eine feste IP-Adresse bekommen z.B. 192.168.14.23
Das Gast-Betriebssystem soll per SAMBA auf einen Server / NAS im gleichen Netzwerk auf Ordner / Dateien zugreifen können.
Betriebssysteme (z.B. Linux Mint etc.) im gleichen Netzwerk sollen per RDP auf den Gast-Betriebssystem zugreifen können.
Das Gast-Betriebssystem darf / soll KEINE Internetverbindung haben bzw. aufbauen dürfen.

Wie muss ich das Ganze in qemu/kvm konfigurieren? Via NAT / Netzwerk-Brücke etc.?

Muss ich die physische Ethernet Schnittstelle (z.B. eth0) eventuell speziell dafür konfigurieren?

Ja, ich habe schon im Vorfeld die google-Suche oft und viel bemüht und auch vieles ausprobiert.
Jedoch bin ich nicht fündig geworden bzw. habe auch keine Lösung erarbeiten können.

Für eure Hilfe wäre ich sehr dankbar. Die Antworten dürfen in deutsch oder englisch sein.

MfG Frank Furt


Hi guys.

I would have some question regarding qemu/kvm and network.

First the following scenario:

Host operating system: Ubuntu Server 20.04

Guest operating system: Windows 7 / Windows 10.

The guest OS is to be installed in a VM.
Host operating system and guest operating system should be in the same network e.g. 192.168.14.0/24.
The guest operating system should get a fixed IP address from qemu/kvm e.g. 192.168.14.23.
The guest OS should be able to access folders / files via SAMBA on a server / NAS in the same network.
Operating systems (e.g. Linux Mint etc.) in the same network should be able to access the guest operating system via RDP.
The guest operating system must / should NOT have or be allowed to establish an internet connection.

How do I have to configure the whole thing in qemu/kvm? Via NAT / network bridge etc.?

Do I have to configure the physical ethernet interface (e.g. eth0) specifically for this?

Yes, I have already tried the google search often and much in advance and also tried many things.
However, I did not find a solution or I could not work out a solution.

I would be very grateful for your help. The answers may be in German or English.

Sincerely Frank Furt
 

doofi

Namhafter Pirat
Registriert
18 Mai 2021
Beiträge
340
Erhaltene Likes
341
Hey
Vorweg, ich bin kein Spezi. Evtl. kann ich jedoch zum Gedankengang beitragen.

Es spielt sich ja soweit alles im Heimnetz ab.
Nur passende Freigaben erteilen.
Dem Gast OS kannst ja ganz normal ne IP zuweisen, bzw. zuweisen lassen (z.b. auch durch dein Router (MAC Adressen Bindung)
Je nach Router könntest du genau dem dann auch den Zugang zum Internet verwehren.

Oder brauchst du sowas wie ne "Schritt für Schritt Anleitung" ? Da wäre ich dann raus .

Vielleicht konnte ich helfen :)
 
Kommentieren

m4d007

Pirat
Registriert
17 Mai 2021
Beiträge
13
Erhaltene Likes
13
Moin!

Eins direkt vorweg: qemu ist nichts für Anfänger! Nutze VirtualBox.
Bitte, Anmelden oder Registrieren um die Links zu sehen!
Es ist natürlich nicht so "nerdy" aber es bringt dich bestimmt schneller an dein Ziel.

Wenn es denn doch Qemu werden soll, musst du erstmal einiges einstellen.
Z. B., richtig, eine Bridge einrichten. Dafür muss als erstes
Code:
Bitte, Anmelden oder Registrieren to view codes content!
installiert werden
Bash:
Bitte, Anmelden oder Registrieren to view codes content!
Unter
Bash:
Bitte, Anmelden oder Registrieren to view codes content!
musst du dann die Bridge erstellen:
Bash:
Bitte, Anmelden oder Registrieren to view codes content!
Das eth0 musst du so anpassen, dass es der Netzwerkbezeichnung entspricht, die in deinem System genutzt wird. Das erfährst du mittels
Bash:
Bitte, Anmelden oder Registrieren to view codes content!

Ist alles eingerichtet, startest du das neue Interface mittels
Code:
Bitte, Anmelden oder Registrieren to view codes content!
(Das alles wird natürlich als root bzw. mit sudo gemacht!)

Nun solltest du dir überlegen, ob du eine grafische Oberfläche nutzen willst. Das wäre für einen Anfänger absolut empfehlenswert! Ich würde dir virt-manager empfehlen!
Wenn du den virt-manager jetzt startest, müsste er dir die Bridge bereits anzeigen. Das Anlegen der VM ist dann wie bei allen anderen grafischen Programmen mehr oder weniger selbsterklärend. "Next, Next, Finish" wie bei einer Windowsinstallation ist es aber trotzdem nicht ;-)
Zum virt-manager wirst du aber bestimmt Anleitungen finden.

BTW: Die IP wird vermutlich nicht von deinem Host vergeben, da der bestimmt kein DHCP Server ist. Das wird auch bei dir ein Router sein. Darum ist das nicht so einfach mit dem kein Internet. Du kannst der VM später natürlich eine feste IP geben und dabei aber kein Gateway mitgeben. So findet die VM dann keinen Weg ins Internet. Warum man das aber nicht haben will, ist mir ein Rätsel. Kannst du mir ja gerne erklären. Die feste IP kannst du ebenfalls in der Datei
Bash:
Bitte, Anmelden oder Registrieren to view codes content!
einstellen.

BTW2: RDP ist ein propritäres Protokoll von MS. Solltest du eine Linux VM aufsetzen, so wird das nichts mit RDP, da Linux kein RDP kann! Es gibt natürlich nachbauten, aber die würde ich nicht nutzen. SSH ist hier das Zauberwort.

BTW3: Eine kurze Google Suche und siehe da --> sogar auf deutsch
Bitte, Anmelden oder Registrieren um die Links zu sehen!


Viel Erfolg!
m4d007
 
Kommentieren

Frank Furt

Neuer Pirat
Themenstarter
Registriert
26 Mai 2021
Beiträge
5
Erhaltene Likes
0
Hallo,

erstmal Danke für die Antworten.

Ich habe mit meiner Fragestellung nicht mit - meiner Ansicht nach - Details verwirren wollen. Daher bin ich nicht auf meine Fähigkeiten / Können / Erfahrungen etc. eingegangen.
Scheint aber so als hätte ich dies doch tun sollen :)

Also. Ich habe lange Zeit VMWare (unter Windows) und Virtual Box (unter Linux) genutzt. Da ich GPU passthrough (Host-OS Linux) nutze möchte und Windows als Gast-OS laufen soll, bietet sich halt qemu/kvm an.
Als GUI nutze ich virt-manager. Das Bild / den Bildschirm / den Desktop des Gast-OS möchte ich auf einem anderen Rechner im Netzwerk anzeigen lassen. Quasi ein Remote Desktop. Windows macht so etwas nativ über RDP. Daher RDP. Ich weiß das Pendant unter Linux ist VNC. Ich selbst nutze es unter Linux im Netzwerk.

@m4d007:

Die von dir beschriebenen "bridge-utils" sind installiert.

Das Netzwerk des Host-OS hat eine feste IP-Adresse bekommen. Unter Debian "/etc/network/interfaces" bzw. unter Ubuntu "/etc/netplan/00-installer-config.yaml"
Das habe ich noch hinbekommen. Jedoch komme ich beim Definieren der "Bridge" ins Straucheln.

Daher die Frage: Wie genau im Detail definiere ich die "Bridge" ohne Internet aber mit Netzwerkzugriff?

MfG Frank Furt
 
Kommentieren

m4d007

Pirat
Registriert
17 Mai 2021
Beiträge
13
Erhaltene Likes
13
Nabend!

Bitte, Anmelden oder Registrieren um den Inhalt zu sehen!
Eigentlich sieht das genauso aus wie die Konfiguration für die echte Karte.

So sieht meine "/etc/network/interface" aus:
Bash:
Bitte, Anmelden oder Registrieren to view codes content!
So ist das Hostsystem über die 42 zu erreichen und kann ins Internet.
Wenn du das Gateway weglässt, so kann der Host nicht ins Internet.
Wenn du nun im virt-manager eine VM anlegst und an dem Punkt kommst, dass du das Netzwerk einstellst, so wählst du "br0" (so heißt die Bridge im Beispiel). Die VM hat dadurch "nur" eine Netzwerkkarte, die du in der VM so konfigurieren kannst wie du möchtest. Gib ihr in dem installierten Windows dann eine IP und kein Gateway.

Dein Denkfehler ist, dass du der Bridge das Internet verbieten willst. Das macht aber keinen Sinn. Verbiete der VM das Internet.
Diese Art der Bridge hat nicht viel mit einer klassischen Netzwerkbrücke, die verschiedene Netzwerke verbindet, zu tun. In der Virtualisierung ist damit die Möglichkeit gemeint einer physischen Netzwerkkarte weitere, virtuelle Netzwerkkarten hinzuzufügen.

Ich hoffe ich konnte helfen!
m4d007
 
Kommentieren

MrHonk

mit Baby Bruno
Registriert
6 Mai 2021
Beiträge
647
Erhaltene Likes
1.104
Genauso ist es, lasse das Gateway bei der VM weg und die VM weiß nicht mehr hinter welcher Tür im Netzwerk (interne IP-Adresse) sich der Ausgang ins Internet befindet (und sie ist zu blöd um selber danach zu suchen).
 
Kommentieren

Frank Furt

Neuer Pirat
Themenstarter
Registriert
26 Mai 2021
Beiträge
5
Erhaltene Likes
0
Hallo.

@m4d007: Habe deinen Tipp jetzt endlich mal testen können. Habe zur Nachvollziehbarkeit Debian 10.9 installiert. Und siehe da es funktioniert :) Nachmal danke dafür.
In der Tat hatte ich einen Denkfehler mit der Bridge. Hab´s gegoogelt und mich schlau gemacht. Joa, der Name Bridge iss halt bei qemu/kvm etwas anderes als bei VMWare oder VirtualBox.

@MrHonk: Genauso ist es.

MfG
 
Kommentieren

musv

Namhafter Pirat
Registriert
29 September 2021
Beiträge
156
Erhaltene Likes
212
Auch wenn's schon ein paar Monate her ist, geb ich mal zum Verständnis meinen Senf dazu:

Bitte, Anmelden oder Registrieren um den Inhalt zu sehen!
Mag sein. Als Rahmengerüst für Qemu nutzt du bestimmt
Bitte, Anmelden oder Registrieren um die Links zu sehen!
. Über den Virtmanager kannst du ja die Netzwerkverbindung der VM auswählen und auch Netzwerke definieren.

Zum Verständnis: Bei Qemu/libvirt ist das grundsätzlich so, dass du die Netzwerkkonfiguration des Hosts nutzt. D.h. der Hypervisor nutzt nur das, was Dir das Host-OS zur Verfügung stellt. Und die Bridge in Libvirt ist eine ganz normale Linux-Bridge, die du genauso auch ohne Qemu/Libvirt einrichten kannst.

Als nächstes kannst du aus mehreren Verbindungsmöglichkeiten der VM wählen:
  • NAT: Die VM bekommt eine interne IP. Die externe IP ist dieselbe wie die des Hostrechners.
  • Bridge: Beide befinden sich imselben Netzwerk.
  • Bitte, Anmelden oder Registrieren um die Links zu sehen!
    : Die VM bekommt eine eigene IP im Netzwerk, sieht aber den Host nicht. Der Hostrechner sieht den Gastrechner nicht. Aber beide Rechner (Host+VM) sind von anderen Rechnern aus im Netz erreichbar. Vorteil: PXE funktioniert, und du musst nichts auf Netzwerkebene konfigurieren.

Bitte, Anmelden oder Registrieren um den Inhalt zu sehen!
Beim Bridge-Modus ist das der Router, bei NAT vergibt in der Tat libvirt, d.h. der Host die interne IP.

Bitte, Anmelden oder Registrieren um den Inhalt zu sehen!
Wieso nicht? Ich nutz
Bitte, Anmelden oder Registrieren um die Links zu sehen!
schon seit Jahren in meinem Job, um auf die Windows-Server zu kommen. Funktioniert ausgezeichnet. Und im Gegensatz zum Windows-RDP (von einer Windows-Kiste aus), hab ich sogar noch mehrere Konfigurationsmöglichkeiten.
 
Kommentieren

m4d007

Pirat
Registriert
17 Mai 2021
Beiträge
13
Erhaltene Likes
13
Bitte, Anmelden oder Registrieren um den Inhalt zu sehen!
Es ging um den Zugriff auf die (Linux) VM und das steht sogar in dem von dir zitierten Text. Natürlich kannst du von Linux auf Windows mit einem RDP Client zugreifen (was ich nie verneint habe). Um jetzt aber auf eine Linuxmaschine zuzugreifen, würde ich VNC nutzen und nicht RDP (wenn man denn eine GUI benötigt, SSH tut es in den meisten Fällen nämlich auch :)

Bitte, Anmelden oder Registrieren um den Inhalt zu sehen!
Ob ich dabei noch von DHCP reden würde ... eher nicht. Aber ja, nur ... auch darum ging es nicht, denn die VM sollte im gleichen Netz sein...

Prinzipiell hast du aber natürlich recht. Aber wozu Menschen verwirren? :)

Schönen Abend noch!

MfG
m4d007
 
Kommentieren

Frank Furt

Neuer Pirat
Themenstarter
Registriert
26 Mai 2021
Beiträge
5
Erhaltene Likes
0
@musv:

Dank dir erstmal das du das Thema nochmal aufgegriffen hast. Und dank dir für die Tipps.

Ja, ich nutze libvirt.

Das mit den Netzen schaue ich mir bei Gelegenheit noch mal genauer an.

xfreerdp sagt mir ganz grob etwas. Das mit den Konfigurationsmöglichkeiten unter Windows muss ich mir mal näher anschauen.
Bitte, Anmelden oder Registrieren um den Inhalt zu sehen!
Das heißt das der Host Beispielweise die 192.168.14.14 hat und der Gast 192.168.9.23? Oder haben beide den selben IP Bereich? Also 192.168.14.14 und 192.168.14.23.
 
Kommentieren

musv

Namhafter Pirat
Registriert
29 September 2021
Beiträge
156
Erhaltene Likes
212
Kommentieren
Oben