OpenVPN & Co auf QNAP NAS installieren

Die kleinen Netzwerkspeicher der Firma QNAP sind nicht nur sehr leistungsfähig sondern auch dank eines sehr abgespecktem Linux Betriebssystem flexibel einsetzbar. Ich habe mir vor ein paar Wochen so ein Gerät zugelegt und wollte mir nun auch von außerhalb meines Zuhauses Zugriff auf meine Daten verschaffen. Ein VPN ist für mich das Mittel der Wahl, da es relativ schnell aufgebaut ist und zudem hohen Schutz gewährleistet.

Insgesamt ist das Einrichten des VPNs schon in zahlreichen Forumthreads ausführlich beschrieben worden, doch leider scheint die Welt für das Qnap TS-239Pro und auch das Qnap TS-219P etwas leichter zu funktionieren. Diese Vereinfachung sollte eigentlich für alle neueren Qnap Geräte funktionieren, deshalb möchte ich euch mein Vorgehen nicht vorenthalten.

Im folgenden Tutorial ist die Basis beschrieben und sollte vor meinem Beitrag unbedingt gelesen werden.

Ich bin auch kein Linux Profi. Mit meinen Basiskentnissen bin ich am TUN/TAP Modul gescheitert, doch dank eines guten Freundes und viel Forschertriebs hab ich letztlich OpenVPN mit wenigen Handgriffen installieren können.

Ich habe ein Qnap TS-239 Pro und ein Qnap TS-219P im Einsatz und bei beiden ist das „angeblich“ fehlende TUN Modul bereits auf dem NAS enthalten. (Das sollte auch bei allen neuen Geräten der Fall sein.) Lediglich die Einbindung in den Kernel ist nicht erfolgt.

[source=’xml‘]

insmod /usr/local/modules/tun.ko

[/source]
Was mich auch viel Zeit gekostet hat, ist das beim Starten des NAS einige Befehle noch nicht bekannt sind, deshalb poste ich auch nochmal meine Startzeile aus der autorun.sh:
[code language=’xml‘]

(sleep 60; /sbin/insmod /usr/local/modules/tun.ko; /opt/sbin/openvpn –config /opt/etc/openvpn/openvpn.conf –daemon > /tmp/vpnout.txt 2> /tmp/vpnerr.txt) &

[/code]

Vielleicht generell noch ein paar Tips die man beim Arbeiten mit den QNAP Geräten beherzigen sollten und einem Arbeit ersparen können.

Die Suche von Fehlern geraden zum Serverstart ist oftmals schwierig, da man keinen Zugriff auf die Systemlogs hat (mir ist kein Weg bekannt). Deshalb habe ich mir angewöhnt den Output für gewisste Startcommandos einfach umzuleiten. Das hat mir nicht nur hier bei der OpenVPN Installation weitergeholfen sondern auch beim Einrichten des Subversions/SVN. Letztlich genügt ein Blick ins Logfile, was genau für ein Fehler aufgetreten ist. Beispiel siehe dazu die obrige autorun.sh Zeile zum Starten des VPNs.

Eine weitere Quelle für Fehler ist es, dass man beim Systemstart oftmals bestimmte Pfade noch nicht zur Verfügung hat. Da scheitert dann oft schon der Aufruf normaler Systembefehle wie „insmod“ oder „svnserve“. Auch der Zugriff auf bestimmte Shares ist noch nicht möglich, da das Betriebssystem die Links für z.B. /share/QDownloads/ noch nicht angelegt hat. Es empfiehlt sich daher immer den vollen Pfad zu verwenden, z.B. für das Starten des SVN Dienstes:

[code=’xml‘]

(sleep 60; /share/HDA_DATA/.qpkg/Optware/bin/svnserve -d –listen-port=12345 > /tmp/svnout.txt 2> /tmp/svnerrtxt) &

[/code]

3 Gedanken zu „OpenVPN & Co auf QNAP NAS installieren“

  1. Hallo,
    bei der Suche nach Infos zu SVN bin ich über diesen Artikel gestolpert.
    Nach meiner Meinung hat das ganze jedoch einen Haken, wenn das QNAP wie bei mir Zeitgesteuert gestartet und gestoppt wird. Beim Stoppen des NAS werden dann die über autostart.sh initiierten Dienste nicht gestoppt, die Logfiles sind dann offen und beim nächsten Start meckert das QNAP das Filesystem an.
    Zur Abhilfe habe ich Start/Stop scripte geschrieben – wie init.d – die ich dann zeitgesteuert vor dem shutdown aufrufe. Dann ist der nächste Start auch clean.
    Grüße
    AndyHH

  2. Hey Andy,
    ist sicherlich nen guter Einwand. Auf das Problem bin ich zwar noch nicht gestoßen, aber vielleicht kannst du ja das Start/Stop Script mal hier posten?

  3. Das dazugehörige script ist sehr einfach aufgebaut.
    Der Start(/Stop) des Moduls tun ist hier nicht beinhaltet, da dieses keine Probleme im Autostart macht.

    Das Skript kann dann im Crontab nach den eigenen Bedürfnissen eingetragen werden ( /pfad zum Script/OpenVpn – start ).
    Nur nicht den -stop vor dem Zeitgesteuerten herunterfahren vergessen.

    ——————————- schnipp —
    !/bin/bash

    # Scrip to start / stop openVPN d

    case $1 in
    -start)
    /opt/sbin/openvpn /opt/etc/openvpn/easy.conf
    log_tool -a „openVPN gestartet“ -t 0 -u SYSTEM -m LOCAL
    ;;
    -stop)
    /usr/bin/killall openvpn
    log_tool -a „openVPN gestoppt“ -t 0 -u SYSTEM -m LOCAL
    ;;
    –help)
    echo “ “
    echo HELP
    echo use $0 [-start] or [-stop] to handle openvpn
    echo “ “
    ;;
    *)
    echo “ “
    echo use $0 –help to get help
    echo “ “
    ;;
    esac
    ————————— schnapp ————-

    Grüße
    AndyHH

Kommentare sind geschlossen.