Ich hatte eben das Problem, dass ich statische Routen für eines meiner OpenVPN Tunnel anlegen wollte. Das Problem war jedoch, dass der NetworkManger keine „pseudo“ IPs via vpn_gateway oder ähnliches akzeptiert. Daher blieb mir nur der Weg über ein Skript. Beim Up und Down einer Netzwerkverbindung ruft der NetworkManager die Dispatcher Skripte unter /etc/NetworkManager/dispatcher.d/ auf. Daher habe ich
- Der entsprechenden NetworkManager Verbindung ein fixes Interface zugeordnet (im Beispiel tun2) und
- Mir folgendes Skript /etc/NetworkManager/dispatcher.d/98-private-routes gebaut:
#!/bin/sh if [ "$1" == "tun2" ]; then GW=`route -n | grep tun2 | grep "0.0.0.0" | grep "255.255.255.255" | cut -f1 -d" "` echo $1" "$2" "$GW > /tmp/foo case "$2" in up|vpn-up) ip r a 192.168.128.12/32 via $GW # VM ip r a 10.0.0.0/16 via $GW # 10er Netz ;; esac fi
Down ist nicht notwendig, da die Routen sowieso mit dem Interface wegfliegen