Wie kann man NAT für Qemu mit TAP-Backend einrichten? (Windows 10)

1339
Clara Sánchez

Ich möchte das TAP-Netzwerk-Backend anstelle des Standard-SLIRP von Qemu verwenden. Dies ist die Batchdatei, die ich zum Erstellen der VM verwende (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 den TAP-Win32 Virtual Ethernet Adapter .
  • Nun erscheint in Network Connections eine neue Schnittstelle: TAP-Windows Adapter V9 (den ich in "mytap" umbenenne).

Im nächsten Schritt wird eine Brücke zwischen dem TAP-Adapter und der Schnittstelle hergestellt, die ich für die Verbindung zum Internet verwende. Aber da ich WLAN benutze, funktioniert es nicht und das Bridging ist weniger sicher als NAT.

Die Anweisungen, die ich zum Einrichten von NAT gefunden habe, sind jedoch spezifisch für OpenVPN oder Hyper-V, und ich weiß nicht, wie ich sie auf diesen Fall anwenden soll.

Tipps zum weiteren Vorgehen?

0
Ah ... ist dies nur das Problem von MAC-Spoofing im drahtlosen Netzwerk, da Sie kein WDS oder ähnliches verwenden? Sie können die Internetverbindungsfreigabe (z. B. NAT) auf dem WLAN-Gerät ausführen, anstatt eine Verbindung mit dem WLAN-Gerät herzustellen. Dies kann jedoch das, was Sie mit TAP versuchen, zunichte machen. rakslice vor 6 Jahren 0

1 Antwort auf die Frage

0
rakslice

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

Zum Beispiel heißt meine TAP-Adapter-Instanz Ethernet:

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

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

Stellen Sie das id=von dem ein netdev, was Sie möchten. typische Beispiele verwenden mynet0.

Anschließend verweisen Sie darauf, netdevum eine Verbindung zu einer virtuellen Netzwerkkarte herzustellen. Die Mechanismen dafür variieren je nach Emulation.

Bei einem PC, bei dem Sie die NIC als separate -deviceOption angeben, setzen Sie das netdev=in die deviceOption:

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

Für ein System mit einem Standardnetzwerkgerät, das Sie nicht in einer -deviceOption angeben können, z. B. lance.0in einem SS-20, -net nicscheint das Hinzufügen eines zusätzlichen Abschnitts wie folgt erforderlich zu sein:

-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.

Nun können Sie den TAP-Adapter nach Belieben konfigurieren, indem Sie lokale Einstellungen für die Verwendung nur für Hosts festlegen oder ihn bei Bedarf mit einem anderen Netzwerkadapter verbinden.