Wie richte ich NAT für Qemu mit TAP-Backend ein? (Windows 10)

0

Ich möchte das TAP-Netzwerk-Backend anstelle des von Qemu bereitgestellten Standard-SLIRP verwenden. Dies ist die Batch-Datei, mit der ich die VM erstelle ( davon inspiriert ):

@echo off
set "QEMUIMG=D:\user\VMs\Qemu\qemu\qemu-img.exe"
set "IMAGE=disk.img"
set "ISOFILE=D:\user\VMs\isos\isofile.iso"
set "QEMUBIN=D:\user\VMs\Qemu\qemu\qemu-system-x86_64.exe"

rem ==================================
rem Safety net
rem ==================================
if not exist %IMAGE% (
    rem CREATE a virtual hard disk 
    %QEMUIMG% create -f qcow2 %IMAGE% 32G
) else (
    echo file %IMAGE% already exist. Delete or move and try again.
    goto:eof
)

rem ==================================
rem Run the virtual machine
rem ==================================>
start "QEMU" %QEMUBIN% -k us -usb -device usb-tablet -drive ^
file=%IMAGE%,index=0,media=disk,format=qcow2 -cdrom %ISOFILE% -m 2048M ^
-boot order=d -smp cpus=2 -rtc base=localtime,clock=host -parallel none ^
-serial none -name vm -no-acpi -no-hpet -no-reboot  -show-cursor ^
-netdev tap,id=tap0,ifname=mytap,script=no,downscript=no -device netdev=tap0 

Dann:

  • Ich lade OpenVPN herunter und installiere nur das Virtueller TAP-Win32-Ethernet-Adapter .
  • Jetzt erscheint in Network Connections eine neue Oberfläche: TAP-Windows Adapter V9 (die ich in "mytap" umbenenne).

Der nächste Schritt ist eine Brücke bauen zwischen dem TAP-Adapter und der Schnittstelle, über die ich eine Verbindung zum Internet herstelle. Aber da ich Wi-Fi benutze, es funktioniert nicht , und Bridging ist weniger sicher als NAT.

Allerdings habe ich die Anleitung dazu gefunden NAT einrichten sind spezifisch für OpenVPN oder Hyper-V, und ich weiß nicht, wie ich sie auf diesen Fall anwenden soll.

Irgendwelche Tipps, wie es weitergeht?

Clara Sánchez
quelle
Ah ... ist dies nur das Problem von MAC-Spoofing im drahtlosen Netzwerk, da Sie kein WDS oder ähnliches ausführen? Sie könnten die gemeinsame Nutzung der Internetverbindung (d. H. NAT) auf dem WiFi-Gerät ausführen, anstatt eine Verbindung zu diesem herzustellen. Dies könnte jedoch alles, was Sie mit TAP versuchen, außer Kraft setzen.
rakslice

Antworten:

1

Nachdem Sie die TAP-Software installiert und eine Instanz des TAP-Adapters erstellt haben, wechseln Sie zu Network Connections und suchen dort den Namen. Sie können es von dort aus umbenennen, wenn Sie möchten.

Zum Beispiel wird meine TAP Adapter-Instanz aufgerufen Ethernet:

picture of the TAP Adapter icon called Ethernet from the Network Connections

Verwenden Sie den Namen des TAP-Adapters im ifname= Parameter der -netdev tap.

Stellen Sie die id= des netdev zu was auch immer Sie mögen; typische Beispiele verwenden mynet0. Dies ist ein Name für das virtuelle Netzwerk innerhalb der Qemu-Instanz, das eine Kombination aus emulierten Netzwerkschnittstellen und TAP-Adapterverbindungen verbindet.

Dann verweisen Sie darauf netdev um es mit einer virtuellen Netzwerkkarte zu verbinden. Die Mechanik hierfür hängt davon ab, was emuliert wird.

Für so etwas wie einen PC, bei dem Sie die Netzwerkkarte als separate angeben -device Option, setzen Sie die netdev= in dem device Möglichkeit:

-netdev tap,id=mynet0,ifname=Ethernet -device e1000,netdev=mynet0

Für ein System mit einem Standardnetzwerkgerät, das Sie in a nicht angeben können -device Option, zum Beispiel die lance.0 in einem (n SS-20Hinzufügen eines zusätzlichen -net nic Abschnitt wie dieser scheint das zu sein, was benötigt wird:

-netdev tap,id=mynet0,ifname=Ethernet -net nic,model=lance,netdev=mynet0

Wenn Sie Qemu starten, sollten Sie beachten, dass der TAP-Adapter die Anzeige "Netzwerkkabel nicht angeschlossen" verliert.

Jetzt können Sie den TAP-Adapter auf der Windows-Seite konfigurieren, wie Sie möchten, und die lokalen Einstellungen nur für die Verwendung als Host festlegen oder ihn auf Wunsch auf einen anderen Netzwerkadapter übertragen.

rakslice
quelle