Ja, jetzt laufen zwei Dinge parallel und durcheinander.
Aber was genau meinst du mit "bricht alles zusammen"? Eigentlich sollte in deinem Ablauf dieser Eintrag "nix bewirken", weil du das vorhandene Defaultgateway tun0 (das hier schon "für alle" gilt) nur noch um ein "zusätzliches" Defaultgateway tun0 für Pakete aus dem LAN ergänzt. Da beides über tun0 geht, sollte(!) das keinen Unterschied machen.
Du möchtest ja, so habe ich es verstanden, eben gerade nicht, dass alles durch das VPN geht (also auch alles, was "von der Box selbst" kommt), sondern nur "alles aus dem LAN" soll durch das VPN.
Das bedeutet, dass "Umbiegen des Defaultgateways" vom OpenVPN soll jetzt nicht (mehr) erfolgen, sondern es soll alles so bleiben wie es ist (Default-Gateway = DSL).
Das Umlenken des LAN-Verkehrs passiert dann (später) mit "ip".
Also:
- Kein "Umbau des DG" vor dem Starten,
- Ignoriere alle Routen vom Server mittels "route-nopull" in der Config,
- Die Routen für das LAN ins VPN würde ich mittels zusätzlichenm "up" und "down" Skripten/Befehlen im OpenVPN erledigen, damit sie nur während aktivem VPN greifen.
Ist aber alles nur Theorie im Moment, ich teste das mal "im Selbstversuch" auf einer Box bei mir...
EDIT:
War noch ein (Denk-)Fehler drin, fehlte zumindest eine "lokale" Route:
Bei mir gings dann im Prinzip so:
OpenVPN-Config
Vorher schon die Routingtabelle "table 2" für "lokale Netze" vorbelegt
Und dann die Skripte
EDIT 2:
So, habe das nochmal etwas "verbessert".
So sollte es m.E. korrekt sein und laufen, denke ich (keine "Vorbereitung" nötig, danach alles wieder "löschen"):
OpenVPN-Config
Und dann das Up-Skript:
... und das passende Down-Skript dazu:
Aber was genau meinst du mit "bricht alles zusammen"? Eigentlich sollte in deinem Ablauf dieser Eintrag "nix bewirken", weil du das vorhandene Defaultgateway tun0 (das hier schon "für alle" gilt) nur noch um ein "zusätzliches" Defaultgateway tun0 für Pakete aus dem LAN ergänzt. Da beides über tun0 geht, sollte(!) das keinen Unterschied machen.
Du möchtest ja, so habe ich es verstanden, eben gerade nicht, dass alles durch das VPN geht (also auch alles, was "von der Box selbst" kommt), sondern nur "alles aus dem LAN" soll durch das VPN.
Das bedeutet, dass "Umbiegen des Defaultgateways" vom OpenVPN soll jetzt nicht (mehr) erfolgen, sondern es soll alles so bleiben wie es ist (Default-Gateway = DSL).
Das Umlenken des LAN-Verkehrs passiert dann (später) mit "ip".
Also:
- Kein "Umbau des DG" vor dem Starten,
- Ignoriere alle Routen vom Server mittels "route-nopull" in der Config,
- Die Routen für das LAN ins VPN würde ich mittels zusätzlichenm "up" und "down" Skripten/Befehlen im OpenVPN erledigen, damit sie nur während aktivem VPN greifen.
Ist aber alles nur Theorie im Moment, ich teste das mal "im Selbstversuch" auf einer Box bei mir...
EDIT:
War noch ein (Denk-)Fehler drin, fehlte zumindest eine "lokale" Route:
Code:
ip route add 192.168.178.0/24 dev lan table 2
Bei mir gings dann im Prinzip so:
OpenVPN-Config
Code:
...
script-security 2
up /var/tmp/upscript.sh
down /var/tmp/downscript.sh
Vorher schon die Routingtabelle "table 2" für "lokale Netze" vorbelegt
Code:
ip route add 192.168.178.0/24 dev lan table 2
Und dann die Skripte
Code:
root@Speedport:/var/tmp# cat upscript.sh
#!/bin/sh
ip route add default dev tun0 table 2
ip rule add from 192.168.178.0/24 table 2
root@Speedport:/var/tmp#
root@Speedport:/var/tmp#
root@Speedport:/var/tmp# cat downscript.sh
#! /bin/sh
ip rule del from 192.168.178.0/24 table 2
root@Speedport:/var/tmp#
EDIT 2:
So, habe das nochmal etwas "verbessert".
So sollte es m.E. korrekt sein und laufen, denke ich (keine "Vorbereitung" nötig, danach alles wieder "löschen"):
OpenVPN-Config
Code:
...
script-security 2
up /var/tmp/upscript.sh
down /var/tmp/downscript.sh
Und dann das Up-Skript:
Code:
#!/bin/sh
# alles lokale weiter zur "normalen" Routingtabelle
ip rule add from 192.168.178.0/24 to 192.168.178.0/24 prio 30000 table main
# alles nicht-lokale weiter zur "table 2"
ip rule add from 192.168.178.0/24 prio 31000 table 2
# In "table 2" das Default-GW auf tun0 setzen,
# oder das eventuell vorhandene dadurch ersetzen
ip route replace default dev tun0 table 2
... und das passende Down-Skript dazu:
Code:
#! /bin/sh
# Sonderbehandlung für das LAN wieder entfernen
ip rule del from 192.168.178.0/24 prio 31000 table 2
ip rule del from 192.168.178.0/24 to 192.168.178.0/24 prio 30000 table main
# und "table 2" wieder löschen
ip route del default dev tun0 table 2
Zuletzt bearbeitet: