Statische Routen auf dem Raspberry Pi (Debian 12 / Bookworm) mit NetworkManager und nmcli

In modernen Raspberry Pi OS-Installationen auf Basis von Debian 12 („Bookworm“) kommt häufig der NetworkManager zum Einsatz. Während klassische Setups oft noch auf dhcpcd setzen, bietet NetworkManager eine flexible und zentrale Möglichkeit, Netzwerkverbindungen – inklusive statischer Routen – zu verwalten.

In diesem Beitrag zeige ich, wie man auf einem Raspberry Pi gezielt statische Routen per nmcli einrichtet.

Ausgangssituation

Der Raspberry Pi verfügt über zwei Netzwerkschnittstellen:

  • eth0 (LAN)
    • IP: 192.168.0.20/24
    • Gateway: 192.168.0.1
    • → soll für den Internetverkehr genutzt werden
  • wlan0 (WLAN)
    • IP: 192.168.1.21/24
    • Gateway: 192.168.1.1
    • → dient als Zugang zu weiteren internen Netzen

Zusätzlich existiert ein weiteres Netzwerk:

  • 192.168.2.0/24
    • erreichbar über Gateway 192.168.1.1

Ziel:
Traffic zum Netz 192.168.2.0/24 soll über wlan0 laufen, während der restliche Traffic (insbesondere Internet) weiterhin über eth0 geroutet wird.

Schritt 1: Verbindungsnamen herausfinden

Zuerst müssen wir den Namen der aktiven Netzwerkverbindung kennen:

$ nmcli connection show

Beispielausgabe:

NAME                UUID                                  TYPE      DEVICE
Wired connection 1  xxxx-xxxx-xxxx-xxxx                  ethernet  eth0
WLAN-AP             yyyy-yyyy-yyyy-yyyy                  wifi      wlan0

👉 Wichtig ist der NAME der WLAN-Verbindung (hier z. B. WLAN-AP).

Schritt 2: Statische Route hinzufügen

Jetzt fügen wir die Route zur WLAN-Verbindung hinzu:

$ sudo nmcli connection modify "WLAN-AP" +ipv4.routes "192.168.2.0/24 192.168.1.1"

Erklärung:

  • 192.168.2.0/24 → Zielnetz
  • 192.168.1.1 → Gateway im WLAN-Netz
  • +ipv4.routes → fügt eine zusätzliche Route hinzu (ohne bestehende zu überschreiben)

Schritt 3: Verbindung neu starten

Damit die Änderung aktiv wird:

$ sudo nmcli connection down "WLAN-AP" && sudo nmcli connection up "WLAN-AP"

Alternativ kann auch einfach der Raspberry Pi neu gestartet werden.

Schritt 4: Routing überprüfen

Mit folgendem Befehl lässt sich prüfen, ob die Route korrekt greift:

$ ip route get 192.168.2.1

Erwartete Ausgabe (sinngemäß):

192.168.2.1 via 192.168.1.1 dev wlan0

👉 Das bestätigt, dass der Traffic ins Zielnetz über das WLAN läuft.

Default-Route bleibt unverändert

Die bestehende Default-Route über eth0 bleibt unangetastet:

default via 192.168.0.1 dev eth0

Damit ist sichergestellt:

  • Internetverkehr → über eth0
  • internes Netz 192.168.2.0/24 → über wlan0

Hinweise & Best Practices

  • NetworkManager speichert diese Routen persistent – sie bleiben also auch nach einem Neustart erhalten.
  • Mit nmcli connection modify können beliebig viele Routen ergänzt werden.
  • Bestehende Routen lassen sich anzeigen mit:nmcli connection show "WLAN-AP"

Fazit

Mit nmcli lassen sich unter Debian 12 auf dem Raspberry Pi sehr einfach präzise Routing-Regeln definieren, ohne auf komplexes Policy-Based Routing zurückgreifen zu müssen.

Gerade in Setups mit:

  • mehreren Interfaces
  • separaten Management-Netzen
  • oder VPN-Anbindungen

ist diese Methode schnell, sauber und zuverlässig.

Wenn man mehrere Netze oder komplexere Routing-Logik abbilden will (z. B. abhängig von Source-IP), lohnt sich ein Blick auf Policy-Based Routing mit ip rule – für viele Anwendungsfälle reicht jedoch die hier gezeigte Lösung völlig aus.

Schreibe einen Kommentar


PHPCo.de
Datenschutz-Übersicht

Diese Website verwendet Cookies, damit wir dir die bestmögliche Benutzererfahrung bieten können. Cookie-Informationen werden in deinem Browser gespeichert und führen Funktionen aus, wie das Wiedererkennen von dir, wenn du auf unsere Website zurückkehrst, und hilft unserem Team zu verstehen, welche Abschnitte der Website für dich am interessantesten und nützlichsten sind.