Archiv für OpenVPN

[FritzBox7390] OpenVPN

Posted in Fritz!Box with tags , , , , on Februar 15, 2014 by Predictor

Seit Oktober 2010 war mein openVPN auf meiner 7390 aktiv und das ohne Probleme.
Auch diverse Firmware updates der FritzBox hat die openVPN konfig nicht ins schleudern gebracht.

Das update auf FritzOS 6.00 habe ich nicht gemacht, ich bin auf 5.50 geblieben.
Da ich den security patch in FritzOS 06.03 aber haben wollte, habe ich (weil in der Vergangenheit ja immer alles easy war) einfach mal upgedatet …
… das war jetzt evtl. nur meine zweitbeste Idee  😦 danach war es nichts mehr mit openVPN.

FEHLERSUCHE:

Als erstes mal die Datei startfhem im fhem Ordner zerlegen und step by step in der Konsole ausführen:

  • /usr/sbin/telnetd -l /sbin/ar7login
  • mkdir /var/tmp/vpn
  • mknod /var/tmp/tun c 10 200
  • /var/InternerSpeicher/OpenVPN/openvpn –cd /var/tmp/vpn –daemon –config /var/InternerSpeicher/OpenVPN/server.conf –script-security 2

OK zu beginn alles wie erwartet … File existsFile exists
doch dann can’t handle reloc type 0x2f
So sollte das nicht sein -> kurze Recherche, und im ip-phone-forum schrieb er13:

Ursache – AVM ist auf NTPL-based threading support umgestiegen. Damit sind die meisten dynamisch gelinkten Binaries inkompatibel zu 06.00

In diesem Post war auch gleich der Link zu den aktuellen Binaries (Ver 2.3.2) oder einfach mal in einer Suchmaschine nach openvpn_2.3.2-mips-openssl-static.gz suchen.
Ein Blick auf die openVPN Homepage ist auch hilfreich um die aktuelle Version herrauszufinden (ob die dann auch bereits für eine FritzBox portiert wurde ist etwas anderes).

OpenVPN: OpenSSL vs PolarSSL

Wer sich jetzt wundert warum dort 2 Links zu finden sind:

Dem geht es wie mir. Im Heise Forum ist zu lesen:

ich habe in einem beitrag im neuen linux-magazin (4/13, s.10) gelesen, dass OpenSSL 2.3 nicht mehr auf OpenSSL, sondern auf PolarSSL aufsetzt.
Was ist der Vorteil von PolarSSl gegenüber OpenSSL?

nach http://en.wikipedia.org/wiki/Comparison_of_TLS_implementations ist es wohl kleiner, kann aber weniger.

wie ist es mit der interoperabilität? Können ältere OpenVPN-clienst mit neuen servern, und anders rum, verbindungen aufbauen?

Fragen über Fragen.

Ich bleibe einfach mal bei openssl

Kurz noch geprüft ob die ar7.cfg noch meinen modifizierten Eintrag hat:

grep 443 /var/flash/ar7.cfg

bestätigte -> der openVPN Port ist noch eingetragen

„tcp 0.0.0.0:XXX 0.0.0.0:XXX 0“,

XXX -> openVPN Port (Standard 1194)
Der vollständigkeit halber mit vi die startup.sh im OpenVPN Ordner überprüft -> passt auch noch:

# Start des telnet-daemons
echo Starting telnetd
/usr/sbin/telnetd -l /sbin/ar7login

# warten, bis das DSL da ist
echo Waiting for internet connection
while !(ping -c 1 http://www.google.de); do
sleep 5
done

mkdir /var/tmp/vpn

# create tun-device
mknod /var/tmp/tun c 10 200

# start OpenVPN (Dateinamen ggf. anpassen)
/var/InternerSpeicher/OpenVPN/openvpn –cd /var/tmp/vpn –daemon –config /var/InternerSpeicher/OpenVPN/server.conf –script-security 2

Jetzt noch die debug.cfg prüfen dann sollte so ziemlich alles gecheckt sein.

Wie oben geschrieben verwende ich die openssl und da ich eine 7390 habe logischerweise als Mips.
Flugs per ftp (übertragungsmethode „binary“) die das binary hochgeladen und mit chmod ausführen erlaubt.

Leider immer noch keine Verbindung – also noch einmal das startup.sh Befehl für Befehl ausgeführt.
Beim eigentlichen start von openVPN erhielt ich folgende Fehlermeldung:

Options error: Unrecognized option or missing parameter(s) in /var/InternerSpeicher/OpenVPN/server.conf:6: port-share (2.3.2)
Use –help for more information.

Es scheint dass die option port-share (die es in openVPN 2.0.5 noch gab) in der 2.3.2 entfernt wurde.

openVPN config Parameter

nachdem port-share zu einem Fehler führte dachte ich es wäre nicht schlecht mal die server.conf zu checken.
Sehr Hilfreich ist das openVPN WIKI und evtl noch die openVPN man Page.

Jetzt noch mal testen und erfreulicherweise meldet jetzt die Konsole:

Sun Feb 16 22:18:21 2014 Listening for incoming TCP connection on [undef]
Sun Feb 16 22:18:21 2014 TCPv4_SERVER link local (bound): [undef]
Sun Feb 16 22:18:21 2014 TCPv4_SERVER link remote: [undef]
Sun Feb 16 22:18:21 2014 Initialization Sequence Completed

Auch der test vom Client aus bestätigte -> alles wieder in Butter!!!

Problem solved
🙂

Eine interessante Seite finde ich xobztirf.de, dort sind ein paar nette Tipps zur FritzBox zu finden.
Unter anderem ist auf der Seite auch ein Pintest-Script zur überwachung anderen Servern zu finden.

[iPad] – zugriff auf OpenVPN von einem iPhone/iPad

Posted in iOS with tags , , on Mai 23, 2012 by Predictor

In einem Post der Linksammlung aus meinem BlogPost „per VPN von einem iPhone/iPad verbinden“ stammt dieser Tipp:

… falls du D1 hast prüfe mal deine APN.. ich habe andere Geräte die ein VPN aufbauen und die müssen den
APN: internet.t-d1 haben mit internet.t-mobile gehts nicht …

Linksammlung:
sschweizer.blogspot.de -> sehr gut
iszene.com
cswpro.de
blog.rotzoll.net

guizmovpn.com => Kostenpflichtig   😦

Unregistered version will be fully operative for 7 days, then it will disconnect every 5 minutes, with 5 minutes delay before reconnect

Einrichtung von OpenVPN auf einem iPhone/iPad

UPDATE 2017-01-13:
Mittlerweise ist der Artikel obsolet geworden. OpenVPN ist auf iOS Geräte ohne Jailbreak nutzbar. -> OpenVPN Connect

 

 

Getestet unter OS 5.0.1 auf dem iPhone 4 & iPad2 mit OpenVPN toggle Ver. 2.3

Folgende Vorraussetzungen müssen erfüllt sein, bzw folgende Programme werden benötigt:

  • Jailbroken iPhone / iPad
  • Cydia (sollte mit Jailbreak bereits vorhanden sein)
  • Funktionierendes WLAN (an PC und iOS)
    per USB siehe iPhoneBrowser
  • funktionierender OpenVPN Server
    konfiguriert für zugang per "tun"
  • OpenVPN Files
  • vorbereitetes iPhone / iPad
  • WinSCP
  • Putty
  • FTP-Programm (filezilla oder fireFTP für Firefox)
Die Anleitung ist in 5 Schritte aufgeteilt:
  1. Schritt 1: OpenVPN konfiguration Files vorbereiten
  2. Schritt 2: iPhone / iPad nötige Pakete installieren
  3. Schritt3: Files mit WinSCP auf das iPhone / iPad kopieren
  4. Schritt 4: OpenVPN testen
  5. Schritt 5: OpenSSH Passwort ändern


OpenVPN Dateien erstellen

Ein funktionierender OpenVPN Server wird vorrausgesetzt

    • Erstelle auf deinem PC einen Ordner in dem du die benötigten Files sammeln kannst
    • In diesem kopierst du:
    • Wie in meiner OpenVPN Anleitung beschrieben für jedes Gerät ein Zertifikat ausstellen und die folgenden Files in den Ordner legen
      • ca.crt
      • xxx.key
      • xxx.crt
        Das Zertifikat darf NICHT passwortgeschützt sein
    • laded die update-resolv-conf herunter (Mirror1 / Mirror2 wobei hier die Dateiendung .gif entfernt werden muss)
    • Erstelle eine conf.ovpn client.ovpn oder benenne deine bestehende Konfigurationsdatei um in conf.ovpn client.ovpn
    • bearbeitet nun die conf.ovpnclient.ovpn
      • Name der Zertifikate anpassen
        # SSL/TLS parms. See the server config file for more description.  It’s best to use a separate .crt/.key file pair for each client.  A single ca file can be used for all clients.
        ca ca.crt
        cert ZERTIFIKATNAME.crt
        key ZERTIFIKATNAME.key
      • Diese Zeilen am ende der conf.ovpn anfügen
        # You probably need this fix for OpenVPN on the iPhone
        up /usr/bin/update-resolv-conf
        down /usr/bin/update-resolv-conf

Hinweis von devmarc.de: gepachte openVPN Binary herunterladen (wird später auf dem iPhone ersetzt)

Zitat 14.06.12 von devmarc.de
Es gibt einen Bug der euch zwar eine Verbindung zu eurem OpenVPN Server aufbauen lässt, aber KEIN Routing zulässt.


iPhone / iPad vorbereiten

Via Cydia müssen jetzt folgende Pakete installiert werden:

  • OpenVPN toggle for SBSettings
  • OpenSSH (ACHTUNG: nicht vergessen das Passwort zu ändern)
  • Network Ping Lite (gratis) aus dem App Store zum testen der Verbindung


Files per WinSCP auf das iPhone / iPad kopieren

WinSCP (Windows) sollte logischerweise auf dem PC installiert und gestartet sein.
ACHTUNG: WinSCP ist ein mächtiges Programm. Mit WinSCP kann man sein ganzes iPhone zerstören. Nutzt es nur, wenn Ihr auch wisst was Ihr dort macht.

  • Unter Hostname gebt ihr die IP-Adresse des iPhone ein
    Im Menü des iPhones: Einstellungen -> WLAN -> Netzwerkname -> blauer Pfeil
  • Port number: 22
  • User name: root
  • Password: alpine
    bei älteren FW Versionen auch mal mit dottie testen
  • File protocol: SFTP
    evtl. es auch mal SCP testen
  • Button Login klicken
    nach ein paar Sekunden erscheint ein Pop up, dieses mit ok bestätigen
    ACHTUNG: der erste Verbindungsaufbau kann ca. 40 – 60 Sekunden dauern!
  • nun solltet ihr im rechten Fenster die Ordner Library und Media auf dem iOS sehen

Folgende Files nun kopieren nach /var/mobile/Library/OpenVPN/

  • ca.crt
  • xxx.key
  • xxx.crt
  • client.ovpn
  • update-resolv-conf

Das im Schritt 1 von devmarc.de heruntergeladene, gepachte openVPN Binary nun kopieren nach /usr/sbin (das vorhandene ersetzen)

Mit einem klick auf das Terminal Icon, eine Terminalsession öffnenWinSCP-Terminalfenster

Setze die richtigen Rechte für die Dateien und die „update-resolv-conf“ muss ausführbar sein:

cd /var/mobile/Library/ chown -R mobile.mobile OpenVpn cd OpenVpn chmod +x update-resolv-conf
cd /var/mobile/Library/
chown -R mobile.mobile OpenVpn
cd OpenVpn
chmod +x update-resolv-conf

dann Rechte modifizieren …

cd /var/mobile/Library/OpenVPN  
chmod 600 xxx.key
chmod +x client.ovpn
cd /usr/sbin  
chmod 0755 openvpn

chmod 600 -> “Owner” Read & Write auf *.key
chmod +x -> client.ovpn ausführbar machen
chmod 755 -> “owner” rwx / r-x for „group“ & „other“
Gerät neu starten FERTIG!


OpenVPN testen

mit dem iPhone per WinSCP verbinden (siehe Schritt 3)

  • Konsole im WinSCP öffnen
  • cd /var/mobile/Library/OpenVPN
  • openvpn --script-security 2 --config client.ovpn

nun sollte Icon in den SBSettings auf grün sein

mit Network Ping (installiert in Schritt 2) eine interne IP-Adresse anpingen – DNS-auflösung funktioniert noch nicht (bei mir)
bzgl. DNS -> Kommentare lesen bei: http://chandraonline.net/blog/?p=22

Falls die Verbindung nicht zustande kommt (oder auch sonst) einen Blick auf die Anleitung von devMarc.de werfen. Diese wird im Moment BRANDAKTUELL gehalten!!!

gute Anleitungen aber leider veraltet
http://dokuwiki.knallimall.org/doku.php?id=de:iphone:openvpn
http://iszene.com/thread-79421.html

http://gmlblog.de/2011/02/openvpn-auf-dem-iphone/

Die Urversion der Doku
http://chandraonline.net/blog/?p=22

Ich bin über diesen Post darauf gekommen:
http://sschweizer.blogspot.de/2011/01/openvpn-zwischen-iphone-und-fritzbox.html


OpenSSH Passwort ändern

[FritzBox7390] OpenVPN

Posted in Fritz!Box with tags , , on Juni 24, 2010 by Predictor

Mithilfe der folgenden zwei Links habe ich mein OpenVPN konfiguriert. Bevor man die Einrichtung in Agriff nimmt bitte auch mal hier einen Blick reinwerfen da sich die Anleitung auf eine ältere Box bezieht.

Zertifikate erstellen
Um weitere Zertifikate zu erstellen einfach mit einer CMD in den Ordner „easy-rsa“ wechseln und folgendes eingeben:

      1. cd C:\Program Files\OpenVPN\easy-rsa
        (in den Ordner Ordner „easy-rsa“ wechseln)
      2. vars.bat
        (es erscheint kein Hinweis, solange kein Fehler kommt – alles in Ordnung
      3. build-key.bat client01
        (Alles mit Enter bestätigen, bei „Organizationl Unit Name“, „Common Name“ und
        „Name“ EBENFALLS client01 eintragen, Fragen mit y bestätigen).
        tritt dabei ein Fehler in Zeile 282 von openssl.cnf auf:
        Zeile 282 und 283 auskommentieren und Befehl wiederholen
        #MODULE_path = $ENV__PKCS11_MODULE_PATH
        #PIN = $ENV::PKCS11_PIN
      4. Sign certificate?
        zum Abschluß noch „Y“ und das Zertifikat ist fertig 


Eine ausführlichrere Anleitung ist im OpenVPN-Wiki oder bei mva.ch zu finden.

Bei Windows 7 x64 ist in der VARS.bat
set HOME=%ProgramFiles%\OpenVPN\easy-rsa
durch
set HOME=%ProgramFiles(x86)%\OpenVPN\easy-rsa
zu ersetzen.
Hier nachzulesen

Die FAQ des Secure Computing Wiki ist auch einen Blick wert.


Zertifikate sperren

Um ausgestellte Zertifikate zu sperren (z.B. Handy gestohlen) einfach die folgenden Schritte ausführen:

  1. cd C:\Program Files\OpenVPN\easy-rsa
    (in den Ordner Ordner „easy-rsa“ wechseln)
  2. vars.bat
    (es erscheint kein Hinweis, solange kein Fehler kommt – alles in Ordnung
  3. revoke-full.bat client01
    tritt dabei ein Fehler in Zeile 282 von openssl.cnf auf:
    Zeile 282 und 283 auskommentieren und Befehl wiederholen
    #MODULE_path = $ENV__PKCS11_MODULE_PATH
    #PIN = $ENV::PKCS11_PIN
  4. nun wird in der index.txt in der Zeile des Nutzers das Kennzeichen V (valid) auf R (revoke) gesetzt und im Verzeichnis „keys“ die Datei crl.pem erzeugt.
  5. nun das File crl.pem auf den OpenVPN Server kopieren
  6. in Server-Konfiguration: crl-verify crl.pem eintragen
    die “crl-verify” Option muß in OpenVPN aktiviert sein, damit bei neuen Verbindungen überprüft wird, ob das Zertifikat noch gültig ist.
  7. den OpenVPN Server (oder Service) neu starten
    Service openvpn restart
    oder
    pkill -SIGHUP openvpn
    trennt manuell alle aktiven OpenVPN-Verbindungen

Die ursprüngliche Anleitung stammte aus dem Blog von Sven Truderung und bezog sich auf Linux.