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