openvpn + Fritzbox Fon Wlan + the Constuct

fritzbee21

Neuer User
Mitglied seit
8 Apr 2005
Beiträge
137
Punkte für Reaktionen
1
Punkte
18
Hi,

ich wollte mir nen Openvpn Client auf meiner Fritzbox installieren, da ich bereits einen Openvpn Server am Laufen habe (mehrere Clients connecten dorthin).

das openvpn binary hab ich mir runtergeladen und auf meinen server gelegt, ebenso das server.ovpn file erstellt und auf den server gelegt.
secret.key erstellt und lokal auf meinen Rechner gelegt bzw. auf den Server kopiert und dort nach /etc/openvpn gelegt
Die Server Config liegt ebenfalls unter /etc/openvpn
Openvpn auf dem Server gestartet

dann:
auf der construct seite openvpn aufgewähnt und mit folgenden Infos ein Image erstellt:

Webserver:
IP des Webservers/~xyz/fritzbox/client
keyfile: lokal auf meinem Rechner ausgewählt
server.ovpn: FELD LEER GELASSEN -> RICHTIG ?

dann image gebaut.

die Frage ist jetzt nur und ich will mir ja meine Fritzbox nicht abschiessen, muss beim server.ovpn was rein oder zieht sich die Fritzbox das File vom Server wenn das Feld freigelassen wird ?


sollte etwas nicht funktionieren, wie kann ich denn das openvpn wieder von meiner fritzbox löschen ?



Danke :eek:)
 
Wenn du die Box als Client laufen lassen willst, musst du dessen Client-Config bei "server.ovpn" angeben (wie der Key als lokale Datei auf deinem PC auswählen).
Zu der Config: Bitte an das "daemon" denken; der Key liegt unter "/var/tmp/secret.key".

Alle Dinge kommen in die Datei "/var/flash/debug.cfg", wenn du die leerst, ist alles wieder weg. Auch dafür gibt es ein Pseudoimage...

Jörg
 
ok, dann muss ich mein image nochmal neu bauen.

meine server.ovpn sah so aus:

remote ip-ovpn-server
port 1205
dev tun
dev-note /dev/misc/net/tun
ifconfig 10.90.0.10 10.90.0.1
secret /var/temp/secret_fritz.key
keepalive 10 60
ping-timer-rem
persist-key
persist-tun
route 10.90.0.0 255.255.255.0
proto tcp-client


muss der key, defintiv secret.key auf der box heissen ?
deamon hatte ich nicht drin....

alles was mit 10.90.x.x. anfängt soll in den tunnel, der rest durch den GW ins www
 
Hi,

wenn du das Pseudo-Image so aufspielst, wird der Inhalt der unter "keyfile" angegebenen Datei nach /var/tmp/secret.key geschrieben, von daher muss auch genau diese Datei als "secret" in der Config stehen.

Das "daemon" sollte drin sein, weil das openvpn einfach mit der Konfig aufgerufen wird. Steht das nicht drin, dann wird die debug.cfg nicht weiter abgearbeitet...


Der Befehl für das Device ist hoffentlich nur falsch abgeschreiben? Der wäre "dev-node /var/tmp/tun" (das Device ist sicher da, weil es das Pseudoimge anlegt).

Der Rest sieht so gut aus; allerdings brauchst du beim Client eigentlich keinen Port angeben, ich würde sogar noch ein "nobind" mit reinnehmen. Sollte 1205 der Port des Servers sein, dann müsste der hinter "remote", also remote <ip-ovpn-server> 1205

Jörg
 
Hallo Jörg,


danke für die Infos, da wraen dann ja doch noch eine Dinge nicht korrekt (obwohl teilweise von den diversen wiki seiten abgeschaut)
Ich habe das jetzt nochmal angepasst, folgendes ist dabei rausgekommen:

daemon
remote ip-openvpn-server 1205
port 1205
dev tun
dev-node /var/tmp/tun
ifconfig 10.90.0.10 10.90.0.1
secret /var/tmp/secret.key
keepalive 10 60
ping-timer-rem
nobind
persist-key
persist-tun
route 10.90.0.0 255.255.255.0


daemon hab ich drin, 1205 ist der tcp port, steht hinter der IP Adresse vom Server (das ist bein den openvpn configs auch so), den porteintrag habe ich mal stehen lassen, unter suse10 stört das nicht.
dev-node hatte ich falsch abgetippt und den Pfad angepasst nach
/var/temp/tun
nobind ist auch drin.
server.ovpn habe ich mit vi auf meinem suse pc erstellt und rüber auf windows kopiert.

so einige Tippfehler hatte ich noch drin, das Image habe ich erstellt und auf meine Box kopiert.
Beim Neustart blinkt jetzt immer die Internet-Telefon LED einige Zeit (war vorher nicht).
Ich bekomme aber keine Ping vom pc auf die 10.90.0.10 (fritzbox vpn ip) und weiter auf die 10.90.0.1 (server vpn ip) bzw. vom server (10.90.0.1) auf die fritzbox (10.90.0.10).
die Daten auf der fritzbox liegen an der rictigen stelle (mit telnet zugang getestet)

unter /var/tmp

gibt ein
tun
server.ovpn
secret.key

die server.ovpn ist meine erstellte (cat server.ovpn)

das file openvpn war aber nicht vorhanden, soll aber laut debug.cfg auch da stehen.
in der debug.cfg steht auch die adresse des downloads, dummerweise nur etwas verändert

wget -qO /var/tmp/openvpn http://webserver-ip/~wm/fritzbox/client/${KERNEL_VERSION}/openvpn

ein download hatte nicht stattgefunden, da das file nicht vorhanden war.
Ich habe es manuell mit wget auf die fritzbox geladen und mit

/var/tmp/openvpn --config /var/tmp/server.ovpn

gestartet.
Mit ps sehe ich das openvpn gestartet wurde, mit ping 10.90.0.10 kann ich die vpn ip der fritzbox pingen. Wenn ich die Kiste neu starte, ist das openvpn File wieder weg und demzufolge wird auch kein Tunnel aufgebaut.
 
Zuletzt bearbeitet:
Ja, das ist auf der the-construct Seite blöd beschrieben und umgesetzt. Das Binary wird auf dem Server unter dem angegebenen Namen plus dem Zusatz-Ordner "linux26" (bzw "linux24" bei alten Boxen) erwartet.
Du hast also zwei Möglichkeiten: entweder auf dem Server ein entsprechendes Verzeichnis anlegen und das openvpn Programm da hinein, oder du änderst die debug-Datei nochmal, wobei es grundsätzlich zwei Möglichkeiten gibt:
Editieren auf der Box (wenn du "vi kannst" ;-)), oder extern. Auf der Box geht das mit zwei Unteroptionen, weil die Datei ja eigentlich im readonly flash liegt: Mit "nvi /var/flash/debug.cfg" quasi direkt im flash oder du kopierst die Datei ins Ram, änderst sie und kopierst sie zurück, das machst du ebenso, wenn du es extern machst:
Code:
cat /var/flash/debug.cfg > /var/tmp/debug.cfg
#jetzt ordentlich editieren ;-)
# [B]entweder auf der Box mit[/B]
vi /var/tmp/debug.cfg

# [B]oder extern[/B] indem du diese Datei auf einen FTP-Server bringst (kann deine Box ftpput?), sie dort editierst und sie mit wget wieder "zurückholst".
cat /var/tmp/debug.cfg > /var/flash/debug.cfg

Jörg
 
ich wollte die debug.cfg gestern abend mit vi noch ändern und zwar genau wie du beschrieben hast mit

cat /var/flash/debug.cfg > /var/tmp/debug.cfg
vi /var/tmp/debug.cfg


nur meine Box kennt kein vi .... laut www ein bekanntes Problem mit der AVM busybox.
Einfacher wäre es natürlich den Pfad auf dem downloadserver zu ändern und dann das binary von dort zu laden.

Grundsätzlich stellt sich aber folgende Frage:


ich kopiere das binary mit wget auf die Fritzbox nach /var/tmp

wenn ich mir dann die debug.cfg anschaue, findet dort ein Test statt, ob das openvpn binary schon vorhanden ist. Ist es das, erfolgt kein download, der Teil des Scriptes wird übersprungen.

-> bedeutet, wenn ich es manuel reinkopiere warum ist es dann nach einem Neustart weg ?
Oder andersrum gefragt:
muss ich auf meinem downloadserver das binary bis in alle Ewigkeit liegen lassen, weil sonst nach dem Neustart das openvpn nicht mehr funzt ..... wäre ja totaler Quatsch


manuell hatte ich es drin, openvpn per commandline gestartet, mit ps wurde der threat angezeigt nur ein tunnel wurde nicht aufgebaut (kein connectversuch im /var/log/messages auf dem Server -> firewall am Server war auch abgeschaltet)
Lokale vpn IP der fritzbox konnte ich pingen ..... liegt das am manuellen starten vom vpntunnel ?
 
Leider ist das so, denn du kopierst die Datei nur ins RAM, wohin sie bei jedem Neustart wieder kopiert werden muss...

Die Alternative ist, das Binary "fest" auf die Box zu bringen was z.B. mit einer modifizierten Firmware (freetz) prinzipiell geht, allerdings könnte es bei der Enge im Flash deiner Box sein, dass das nicht reinpasst...

Wenn der Verbindungsaufbau nicht klappt, starte das Programm doch erstmal von Hand im Verdergrund (also ohne "daemon"), dann siehst du die Log-Ausgaben (ich hoffe, deine Busybox "kann" grep? sonst müsstest du eine geänderte Config von deinem Server holen):
Code:
grep -v daemon /var/tmp/server.ovpn > /var/tmp/tmp.ovpn
echo "verb 6" >> /var/tmp/tmp.ovpn
killall openvpn
/var/tmp/openvpn --config /var/tmp/tmp.ovpn

Jörg
 
ich schau mal ob meine box "grep" versteht, ansonsten baue ich halt das update file mit der geänderten server.ovpn ohne daemon
teste ich heute abend ;-)
 
Wenn die Box kein grep kann, kannst du die Datei zur Not auch direkt auf der Box erstellen (per copy&paste) mittels:

Code:
cat /var/tmp/server.ovpn
# Jetzt kannst du die Einträge in den Copy-Buffer ziehen
cat > /var/tmp/tmp.ovpn << 'EOF'
# hier jetzt die geänderte Config reinpasten
#
# beim "EOF" unten darf kein Leerzeichen dahinter sein
EOF

Also erst den Copy-Buffer füllen, auf dem System deiner Wahl dann die Änderungen vornehmen und die "neue" Config mit den Zeilen "cat ..." und "EOF" umschließen in den Buffer und das Einfügen. Ich hoffe, das war klar?!?

Jörg
 
so ich habs jetzt hingebastelt, der Tunel wird aufgebaut


vom vpn-server kann ich die vpn-IP der Fritzbox pingen OK
von der fritzbox kann ich die vpn-IP vom Server pingen OK
von meinem PC kann ich die vpn-IP der Fritzbox pingen OK

ABER

von meinem PC kann ich NICHT die vpn-IP des Servers pingen, ebensowenig alle anderen Geräte im vpn IP Netz !!!

var/log/messages
sagt mir in diese Fall

Jun 6 19:45:59 mir kernel: martian source 10.90.0.1 from 192.168.155.22, on dev tun5
 
... hast du denn dem Server mitgeteilt, dass das Netz (vermutlich 192.168.155.0 ?) "hinter" der Fritzbox-IP 10.90.0.10 ist? Die Fritzbox macht kein NAT für dieses Interface (und kann das auch nicht).

Jörg
 
ja hab ich, route ist jetzt drin

192.168.155.0 10.90.0.1 255.255.255.0 UG 0 0 0 tun5


ich komme jetzt von meinem PC auf den Server (10.90.0.1) aber nicht auf die 10.90.0.5 (die ebenfalls per vpn auf den server connectet hat). von der fritzbox direkt komme ich aber auf die 10.90.0.5 ...... hm *grübel*
 
Das ist schon klar ;-) Die Fritzbox ist ja im gleichen Netz wie die anderen Client.
Auch alle anderen Clients müssen wissen, das sie dieses Netz zum Server schicken müssen, damit er das dann zum "richtigen" Client schickt....

Jörg
 
so das wäre jetzt auch gefixt, mit tcpdump mal geschaut, die pings gingen in den tunnel zum 10.90.0.5 (Absender 192.168.155.22) aber fanden den weg nicht mehr zurück.
der 10.90.0.5 wusste nichts mit dem 155er Netz anzufangen und hat die Packete auf sein StandardGW geschickt und nicht mehr in den Tunnel.
Route auch da eingetragen und siehe da es funzt ;-)

Schwere Geburt, könnte man glatt mal ein Wiki schreiben ;-)
DANKE DIR JÖRG !!!
 
Schön wenn's geht.
Und Einträge oder Ergänzungen im Wiki sind immer gerne gesehen!

Jörg
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.