OpenWrt auf einem Proxmox-VE-Host mit nur einer Netzwerkkarte installieren
Ergebnis
Abschnitt betitelt „Ergebnis“Sie können auf einem PVE-Host mit einer physischen Netzwerkkarte die passende Topologie wählen:
- ohne die PVE-Verwaltungsadresse zu ändern;
- ohne versehentlich DHCP auf
vmbr0anzubieten; - mit einem Bypass-Resolver oder einem internen LAN-Testaufbau;
- und mit Hostzugriff, der auch bei gestoppter Router-VM erhalten bleibt.
Geltungsbereich
Abschnitt betitelt „Geltungsbereich“- Proxmox VE 8.x/9.x mit einer physischen Netzwerkkarte;
vmbr0trägt sowohl die PVE-Verwaltungsadresse als auch das Upstream-Gateway. - Diese Seite wurde für PVE 9.2.2, eine Realtek RTL8111,
vmbr0 192.168.50.2/24und das Gateway192.168.50.1geschrieben. - Mit einer Netzwerkkarte lassen sich WAN und LAN physisch nicht trennen. Übernehmen Sie nicht das
enp1s0/enp2s0-Layout aus Anleitungen für zwei Netzwerkkarten. Verwenden Sie einen Bypass-Dienst oder eine interne PVE-Bridge. - Eine zweite Netzwerkkarte oder ein VLAN-fähiger Switch ist einfacher; diese Topologie liegt außerhalb des Umfangs dieser Seite.
Zwei Topologien
Abschnitt betitelt „Zwei Topologien“A. Bypass-DNS/-Gateway (kleinste Änderung)
Abschnitt betitelt „A. Bypass-DNS/-Gateway (kleinste Änderung)“OpenWrt hat eine vNIC an vmbr0 mit der LAN-Adresse 192.168.50.3/24, und DHCP ist deaktiviert. Clients verwenden es manuell als DNS (oder Gateway); es erreicht das Internet über 192.168.50.1.
| Physischer Port | PVE-Bridge | Virtuelle NIC | OpenWrt-Schnittstelle | Aufgabe |
|---|---|---|---|---|
| nic0 | vmbr0 | net0 | lan 192.168.50.3 | Bypass-DNS/-Gateway |
Geeignet, um DNS, AdGuard Home oder OpenClash-DNS/-Regeln zu prüfen, ohne das DHCP des Hauptrouters anzutasten.
B. Interner PVE-LAN-Testaufbau (empfohlen für Routing-Tests)
Abschnitt betitelt „B. Interner PVE-LAN-Testaufbau (empfohlen für Routing-Tests)“OpenWrt hat zwei vNICs: net0 an vmbr0 als WAN (DHCP), net1 an vmbr1 als LAN (192.168.1.1/24). vmbr1 hat keine physischen Ports und wird nur von einer Test-Client-VM genutzt.
| Physischer Port | PVE-Bridge | Virtuelle NIC | OpenWrt-Schnittstelle | Aufgabe |
|---|---|---|---|---|
| nic0 | vmbr0 | net0 | wan DHCP | Upstream 192.168.50.1 |
| — | vmbr1 | net1 | lan 192.168.1.1 | interner Test-Client |
Damit prüfen Sie Routing, NAT, DHCP, DNS und „Host bleibt nach dem Stoppen der Router-VM erreichbar“, ohne das physische LAN anzutasten.
Bevor Sie etwas ändern
Abschnitt betitelt „Bevor Sie etwas ändern“ip -br linkip -br addrcat /etc/network/interfacesbridge linkqm listpvesm statusNotieren Sie die vmbr0-Adresse, das Gateway, den physischen Port und die VM-Liste. Auf einem Host mit einer Netzwerkkarte ist vmbr0 Ihr einziger Verwaltungspfad; ein Fehler kann Sie aussperren.
ErwartetSie können vmbr0 anhand Ihrer Notizen wiederherstellen, falls etwas schiefgeht.
Verwenden Sie Monitor/Tastatur, IPMI oder eine Cloud-VNC-Konsole; verlassen Sie sich nicht allein auf SSH. Laden Sie dann das OpenWrt-x86_64-Image auf den PVE-Host herunter:
cd /var/lib/vz/template/isowget https://downloads.openwrt.org/releases/25.12.6/targets/x86/64/openwrt-25.12.6-x86-64-generic-ext4-combined.img.gzwget https://downloads.openwrt.org/releases/25.12.6/targets/x86/64/sha256sumssha256sum -c sha256sums --ignore-missinggzip -d openwrt-25.12.6-x86-64-generic-ext4-combined.img.gzFahren Sie nicht fort, wenn die Prüfsumme nicht stimmt. Verwenden Sie den aktuellen Dateinamen und die aktuelle Version von downloads.openwrt.org.
ErwartetSie erreichen PVE auch dann noch, wenn SSH ausfällt.
Minimale Schritte
Abschnitt betitelt „Minimale Schritte“Beginnen Sie mit einer temporären Bridge; machen Sie sie erst dauerhaft, wenn sie funktioniert:
ip link add name vmbr1 type bridgeip link set vmbr1 upip -br link show vmbr1ip -br addr show vmbr0vmbr1 hat keinen physischen Port und kann daher kein DHCP ins Heim-LAN leaken. Betreiben Sie keinen DHCP-Server auf vmbr0.
Erwartetvmbr1 existiert und ist aktiv; die Adressen von vmbr0 sind unverändert.
qm create 200 --name openwrt-lab --memory 512 --cores 2 --ostype l26 \ --scsihw virtio-scsi-pci \ --net0 virtio,bridge=vmbr0 \ --net1 virtio,bridge=vmbr1 \ --serial0 socketqm importdisk 200 /var/lib/vz/template/iso/openwrt-25.12.6-x86-64-generic-ext4-combined.img local-lvmqm set 200 --scsi0 local-lvm:vm-200-disk-0qm set 200 --boot order=scsi0qm start 200Ermitteln Sie die tatsächliche Storage-ID mit pvesm status. Prüfen Sie nach qm importdisk den Datenträgernamen in der Befehlsausgabe; er kann vm-200-disk-0 lauten.
ErwartetVM 200 hat eine scsi0-Bootplatte sowie net0/net1.
qm terminal 200Wenn die serielle Konsole nichts ausgibt, verwenden Sie die PVE-VNC-Konsole. Innerhalb von OpenWrt:
ip link showip addr showuci show networkDie Reihenfolge eth0/eth1 entspricht nicht zwingend net0/net1; prüfen Sie sie anhand von MAC-Adresse/Link und uci show network. Nehmen Sie nicht an, dass eth0 das WAN ist. In diesem Testaufbau gilt net0=eth0=WAN und net1=eth1=LAN, prüfen Sie dies aber auf einem anderen Host erneut.
ErwartetSie wissen, welche Schnittstelle WAN und welche LAN ist.
Ersetzen Sie in der OpenWrt-Konsole eth0/eth1 durch die Schnittstellen, die Sie geprüft haben:
uci set network.wan=interfaceuci set network.wan.proto='dhcp'uci set network.wan.device='eth0'uci set network.lan=interfaceuci set network.lan.proto='static'uci set network.lan.device='eth1'uci set network.lan.ipaddr='192.168.1.1'uci set network.lan.netmask='255.255.255.0'uci set dhcp.wan=dhcpuci set dhcp.wan.interface='wan'uci set dhcp.wan.ignore='1'uci commit networkuci commit dhcp/etc/init.d/network reloadVergewissern Sie sich, dass dhcp.wan.ignore='1' gesetzt ist; andernfalls kann OpenWrt DHCP auf dem Upstream vmbr0 anbieten und das Heimnetz stören.
ErwartetDas WAN erhält eine Adresse von 192.168.50.1; das LAN ist 192.168.1.1; kein DHCP auf vmbr0.
Erstellen Sie eine Test-VM an vmbr1 (oder hängen Sie deren Netzwerkkarte dort an) und lassen Sie sie eine Lease vom OpenWrt-LAN beziehen. Dann:
ip routeping 192.168.1.1ping 192.168.50.1nslookup openwrt.orgBezieht der Client keine Lease, prüfen Sie OpenWrt dhcp.lan und dnsmasq, bevor Sie vmbr0 ändern.
ErwartetDer Client erreicht 192.168.1.1, das Upstream-Gateway und DNS.
Überprüfung
Abschnitt betitelt „Überprüfung“
qm status 200zeigt running;qm config 200zeigtnet0anvmbr0undnet1anvmbr1.- Innerhalb von OpenWrt zeigt
ip addr showdas WAN192.168.50.xund das LAN192.168.1.1/24. - Test-Client: Das Standard-Gateway ist
192.168.1.1,192.168.50.1ist per Ping erreichbar, undopenwrt.orgwird aufgelöst. - Host:
ssh [email protected]und die PVE-Weboberfläche funktionieren weiterhin. - Stoppen Sie die Router-VM (
qm stop 200); die Verwaltung des Hosts funktioniert weiterhin;qm start 200stellt den Router wieder her.
Fehlerszenarien und Wiederherstellung
Abschnitt betitelt „Fehlerszenarien und Wiederherstellung“Host-SSH ist nicht erreichbar
Abschnitt betitelt „Host-SSH ist nicht erreichbar“Ändern Sie nichts mehr am Netzwerk. Verwenden Sie Monitor/Tastatur, IPMI oder die Cloud-Konsole und prüfen Sie:
ip -br addr show vmbr0cat /etc/network/interfacesbridge linkWenn Sie gerade /etc/network/interfaces bearbeitet haben, stellen Sie das Backup wieder her und laden Sie neu:
cp /etc/network/interfaces.bak.YYYY-MM-DD /etc/network/interfacesifreload -aWenn nur die temporäre vmbr1 das Problem verursacht hat, vergewissern Sie sich zuerst, dass keine andere VM sie nutzt:
grep -R "vmbr1" /etc/pve/qemu-serverLöschen Sie sie nur, wenn dieser Befehl nichts ausgibt:
ip link set vmbr1 downip link del vmbr1OpenWrt hat keine WAN-Adresse
Abschnitt betitelt „OpenWrt hat keine WAN-Adresse“qm config 200qm terminal 200Prüfen Sie innerhalb von OpenWrt ip link show, uci show network und logread. Vergewissern Sie sich, dass net0 an vmbr0 hängt und nic0 aktiv ist; fügen Sie keinen zweiten DHCP-Server auf vmbr0 hinzu.
Test-Client erhält keine 192.168.1.x-Lease
Abschnitt betitelt „Test-Client erhält keine 192.168.1.x-Lease“Prüfen Sie OpenWrt dhcp.lan und ob dnsmasq läuft; vergewissern Sie sich, dass die Test-VM tatsächlich an vmbr1 hängt. Ändern Sie nicht die Adressen oder das Gateway von vmbr0, um den Testaufbau zu „reparieren“.
Ist der Host nach dem Stoppen der Router-VM noch erreichbar?
Abschnitt betitelt „Ist der Host nach dem Stoppen der Router-VM noch erreichbar?“Das ist die Wiederherstellungsprüfung: Öffnen Sie nach qm stop 200 von einem anderen Rechner aus https://192.168.50.2:8006 und SSH. Gelingt das nicht, hängt Ihr Verwaltungspfad von OpenWrt ab; beheben Sie das, bevor Sie fortfahren.
E2-Testlauf (2026-10-20)
Abschnitt betitelt „E2-Testlauf (2026-10-20)“- Umgebung: PVE 9.2.2, eine Realtek RTL8111,
vmbr0 192.168.50.2/24; OpenWrt-25.12.6-x86_64-VM 200, 512 MB/2 vCPU. - Das OpenWrt-WAN
eth0erhielt per DHCP192.168.50.77von192.168.50.1; das LANeth1ist192.168.1.1/24. - Ein netns-Client am internen
vmbr1erhielt per DHCP192.168.1.191, nutzte192.168.1.1als Standardroute, lösteopenwrt.orgauf und erhielt HTTP 200. - Nach
qm stop 200funktionierte eine neue SSH-Verbindung zum PVE-Host weiterhin;vmbr0blieb192.168.50.2/24. - Nicht getestet: Clients im physischen LAN, Layout mit zwei Netzwerkkarten, Langzeitstabilität, PPPoE-/IPv6-Upstream. Diese liegen außerhalb dieses E2-Ergebnisses.
Quellen und Review
Abschnitt betitelt „Quellen und Review“- Diese Seite ist ein E2-Testlauf und kein reiner E1-Entwurf; sie wurde nicht unabhängig geprüft und nicht in einem physischen LAN getestet.
- Rezept:
tests/recipes/pve-single-nic-25.12.md. Es enthält die Image-SHA-256,qm config 200und die Client-Ergebnisse. - Eine Netzwerkkarte ist nicht dasselbe wie zwei: Machen Sie daraus keine Anleitung zur „physischen Trennung von WAN/LAN“, solange Sie keine zweite Netzwerkkarte oder keinen VLAN-Switch haben.
Quellen
Unabhängige OpenWrt-Notizen. Jede Seite nennt Firmware, Gerät, Paketmanager und den Rückweg.
Symbole: Solar by 480 Design, CC BY 4.0