Hi,
wollen wir mal versuchen, die in dem von dir genannten Thread verteilten Infos zu bündeln ;-).
Erstmal: Direkt (nur) über die GUI ist das nicht zu konfigurieren, wir müssen dazu etwas "zaubern".
Als Grundlage nehmen wir die "openvpn.conf" sowie das Zertifikat, die man wohl von denen bekommt,
Erstmal das Zertifikat auf die Box bringen. Dazu die Datei "ca.cert" anzeigen lassen, kopieren und bei "CA Cert" einfügen und dann "übernehmen".
Zum einen müssen wir die Config auf die Box bringen, zum anderen für den automatischen Start Username und PW angeben.
Erstmal die Config-Datei:
Öffnen im Editor und die Zeile mit dem Pfad zum Zertifikat ("ca ....") so anpassen, dass sie lautet:
Code:
ca /tmp/flash/openvpn/ca.crt
die Datei mit User und Passwort legen wir später noch an, dafür "missbrauchen" wir später die als Client nicht benötigte Datei "dh.pem".
Hier passen wir den Pfad dafür schonmal an:
Code:
auth-user-pass /tmp/flash/openvpn/dh.pem
Am Ende der Datei fügen wir noch eine Zeile ein, damit das Programm später als Dienst läuft:
Damit ist die Konfigurationsdatei auf dem PC fertig und kann auf die Box. Dazu nutzen wir einen kleine Trick und speichern diese Config im OpenVPN einfach als Box Cert.
Das geht alles wie oben beim CA gemacht: Alles im PC-Editor markieren und kopieren, bei "Box Cert" einfügen und "übernehmen".
(Fals die Client-Config selbst auch für die Box Zertifikat und Schlüssel benötigt, muss das eigentliche Zertifikat später über die GUI diese Config ersetzten...)
Die nächsten Schritte benötigen den direkten Zugang auf die Box, weil dort auf der Box Dateien angelegt werden müssen.
Das geht über die im Freetz vorhandene "RudiShell" (unter "System") oder über einen Zugang auf die Box per "Telnet".
Falls die RudiShell nur sagt, dass sie "in der aktuellen Sicherheitsstufe nicht verfügbar" ist, muss sie einmal per Telnet freigeschaltet werden:
Auf "Status -> Dienste" und schauen, ob "telnetd" läuft und sonst starten. Dann per "telnet" auf die Box verbinden (die neueren Windows Versionen kennen kein Telnet, dann braucht man ein Programm wie z.B. "
PuTTY").
Username ist "root", PW ist das freetz-PW.
Um die Rudi-Shell nutzen zu können, setzt man den Security-Level auf 0:
Code:
echo 0 > /tmp/flash/mod/security
Einfacher ist, beim Bauen der FW im "menuconfig" gleich bei "Advanced options ---> Freetz customisation" den "Default security level" auf 0 zu setzen.
Jetzt kann man in der Rudi-Shell Befehle absetzen, wie sonst auch über telnet.
Aus der oben editierten Datei, die jetzt als "Box Cert" abgespeichert ist, wird jetzt auf der Box die OpenVPN-Konfig gemacht.
In der "Rudi-Shell" kopieren wir dazu die Datei als Config und sichern alles.
Dazu schreibt man oben in das Feld
Code:
cp /tmp/flash/openvpn/box.crt /tmp/flash/openvpn/own_openvpn.conf
modsave
und wählt dann "Skript ausführen".
Die User-PW-Datei machen wir so ähnlich und nutzen dafür, wie oben geschrieben, "DH Param".
Hier tippen wir in das Feld :
(natürlich die richtigen Einträge für den Account).
Damit auch die PCs, die hinter dem VPN-Client (der FB) im LAN sind, das VPN nutzen können, müssen diese Geräte hinter der VPN-IP "versteckt" werden.
Dazu benötigt man "NAT", was auf der FB per "iptables" erfolgt. Dazu muss also auch das Paket "iptables" gewählt werden, um gleich eine sinvolle Auswahl der Module zu haben, wähle ich dazu immer auch das "Iptables-CGI 1.1". Iptables ist ein "unstable" Paket (und kann auch wirklich zu Porblemen auf der Box führen). Deshalb muss man, um das wählen zu können,
dem Punkt "Show advanced options" anwählen, damit die unstabilen Pakete angezeigt werden.
Hat man iptables mit auf der Box, trägt man dort für die NAT diese Regel ein.
Ich würde die direkt bei den iptables auf der Seite "Rules" eintragen. Dann entfällt vorne der "iptables" Befehl, und in dem Feld steht:
Code:
-t nat -A POSTROUTING -o tap0 -j MASQUERADE
Die AVM Boxen benutzen für ihr Default-Gateway eine Art, die OpeVPN nicht erkennt (es wird nur das Device angegeben, keine Gateway-IP). Das führt aber zu Problemen bei dem Befehl "redirect-gateway", den vermutlich der Server schickt. Deshalb müssen wir dieses Problem umgehen. Teste dazu gerade einen Patch. s.u.
So, hier speichere ich erstmal und editiere das dann weiter.