Automatischer Aufbau einer openVPN Verbindung beim Start von freeNAS

Hallo Zusammen,

ich arbeite derzeit mit FreeNAS und bin sehr begeistert von diesem System. Dieses bietet alles, was man 2017 von einem NAS erwartet und gibt mir noch dazu viele Freiheiten.

Situation

Leider befindet sich der FreeNAS Server hinter einer Firewall, die zwar Verbindungen in das Internet zulassen, aber nicht aus dem Internet auf den FreeNAS-Server. Dennoch habe ich einen Server im Internet, welcher als openVPN-Server fungiert. Das Ziel ist es, dem FreeNAS automatisch eine VPN-Verbindung zu dem Server im Internet aufbauen zu lassen. Von hier aus kann dann weiter agiert werden.

VPN Konfiguration

FreeNAS verwendet openBSD als Betriebssystem mein VPN-Server läuft mit Arch Linux. Da ich jetzt nicht den 100dersten „Wie konfiguriere ich VPN“-Beitrag posten möchte, verweise ich auf zwei sehr sehr gute Wiki-Beiträge im ArchWiki:

Konfiguration im FreeNAS

Für die Konfiguration im FreeNAS haben wir verschiedene Möglichkeiten. Leider habe ich es nur über eine Möglichkeit geschafft (die erste direkt im Betriebssystem). Unabhängig von der Lösung müssen alle benötigten Dateien auf den Ordner gepackt werden:

  • ca.crt
  • freenas.crt
  • freenas.key
  • ta.key
  • client.conf

Anschließend kann die Konfiguration auf dem FreeNAS-Server mit

openvpn /root/vpn/client.conf

getestet werden.

Direkt im Betriebssystem

Ich habe die oben genannten Dateien unter /root/vpn/ gelegt. Achtet dabei, dass in der client.conf immer der absolute Pfad angegeben ist. Anschließend muss in der Datei /conf/base/etc/rc.conf am Ende Folgendes Ergänzt werden:

# Start openVPN
openvpn_enable="YES"
openvpn_if="tun"
openvpn_dir="/root/vpn"
openvpn_configfile="/root/vpn/client.conf"

Anschließend reicht ein Neustart und die openVPN Verbindung wird automatisch erstellt.

Über Init/Shutdown Befehl oder Script

In der Weboberfläche kann unter Tasks -> Init/Shutdown Scripts -> Add Init/Shutdown Script ein Befehl bzw. Script angegeben werden, welches gestartet wird. Ich habe folgende Konfiguration versucht:

Leider war dies nicht von Erfolg gekrönt. Ich konnte auch leider keine Fehlerlogs finden. Die Verbindung wurde einfach nie aufgebaut. Ich habe dann ein einfaches BASH-Script geschrieben, welches die Verbindung aufbauen soll, doch leider können die Startscripte nur auf einem gemounteten Volume liegen. Auf /root/vpn/ hat man somit keinen Zugriff. Leider ist es in meiner Konfiguration auch nicht möglich auf ein gemountetes Volume gleich vom Start weg zuzugreifen, da dieses verschlüsselt ist und erst gemountet/geöffnet werden muss.

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.