Es bleiben aus meiner Sicht aber noch zwei "Unschönheiten":
Das Nachladen des OpenVPN Binaries und (aus meiner Sicht) die etwas merkwürdig hohe Anzahl gleich lautender iptables Einträge für das OpenVPN-Netz.
Während man dem zweiten (eher kosmetischen) Teil mal nachgehen sollte (warum dort so viele NAT-Einträge sind), würde jeder Neustart der Box zum "Nicht-funktionieren" der VPN-Verbindung führen.
Dort gäbe es mehrere Ansatzpunkte:
- Das vorhandene OpenVPN 2.2 nutzen und das Routing "dazu passen machen"
- Ein Image mit OpenVPN 2.3 bauen
Solange die Box keine weiteren Aufgaben hat, kann man vor/zum Start des VPN das Routing so ändern, dass die Default-Route nicht auf ein Interface, sondern den "next Hop" als IP weist. Damit kommt dann das "alte" OpenVPN mit "redirect-gateway" klar. Idee: in der "rc.custom" (im Freetz-Menu) die Default-Route ändern. Da die rc.custom nach den Diensten gestartet wird, müsste das OpenVPN danach neu getstartet werden...
Die "Internet-Box" hat doch die 192.168.2.1? Dann dort ein Eintrag:
Code:
(route del default ; route add default gw 192.168.2.1 ; sleep 1 ; [ running = $(rc.openvpn status) ] && rc.openvpn restart) &
Alternative: Setze den OpenVPN-Start in der GUI nicht auf "automatisch", dann reicht ein Starten mit rc.custom
Code:
(route del default ; route add default gw 192.168.2.1 ; rc.openvpn start) &
Besser wäre, gleich das OpenVPN 2.3 zu nutzen und es dazu in die Firmware einzubauen.
Alternative 1: Nutze den Freetz-Trunk, da ist das OpenVPN 2.3 drin
Alternative 2: Versuche es nochmal, das OpenVPN 2.3 aus dem Trunk ins stable zu kompilieren (wie in #17 vorgeschlagen ***)
Alternative 3: Nutze die schon gebaute Version 1.2 und tausche darin das Binary aus :
Code:
./fwmod -u -d meinimage images/<wieauchimmer>.image
cp openvpn_231_mipsel_polarssl_static meinimage/original/filesystem/usr/sbin/openvpn
./fwmod -p -d meinimage images/<wieauchimmer>.image
Toll, nicht wahr, wie viele Optionen es gibt ;-)?!?
EDIT: Ergänzung zu *** (Alternative 2): Dort fehlte das in der stable-Version benötigte Makefile:
"cp ovpn_ori/Makefile.in make/openvpn/"