<> = Konfiguration unseres Tunnel Servers = {i} Diese Dokumentation beschreibt die Konfiguration unseres Tunnel Servers. Details zu unseren Funkinsel-Setup können auf der Seite [[FunkInsel]] gefunden werden. Informationen zu allen anderen Servern/Routern kann auf der Seite ServerDokumentation gefunden werden. == Installation und Konfiguration == Unser Tunnel Server ist eine virtuelle Maschine am KVM-Wirt im Spektral Housing auf dem ''openvpn'' installiert und als Server eingerichtet ist. Weiters ist es notwendig das mittels eines NTP Clients beim Booten die richtige Zeit und das richtige Datum gesetzt wird damit die Zertifikats Gültigkeitsüberprüfung nicht fehlschlägt. Zu guter letzt läuft darauf noch ''snmpd'' der dazu benützt wird um mit ''mrtg'' Statistiken zu führen. Die Konfiguration von ''snmpd'' ist unter ''/etc/snmp/snmpd.conf'' zu finden und erlaubt Read-Only Zugriff von ''stats.ffgraz.net'' aus. Die ''ntpd'' Konfiguration ist standard. Die Konfiguration von ''openvpn'' ist unter ''/etc/openvpn'' zu finden. Folgende Konfiguration findet sich in der Datei ''server.conf'': {{{ local 217.29.149.73 port 1194 proto udp dev tap0 ca server-keys/ca.crt cert server-keys/server.crt key server-keys/server.key dh server-keys/dh1024.pem ifconfig 10.12.11.1 255.255.255.0 mode server tls-server client-config-dir server-ccd/ cipher none persist-key persist-tun verb 3 management localhost 7505 user openvpn group openvpn daemon ovpn-server }}} Die Zeritifikate und Key-Files liegen unnerhalb von ''/etc/openvpn/server-keys/''. Ausserdem muss für jeden Client die dafür vorgesehne IP Adresse konfiguriert werden. Hierzu muss unterhalb von ''/etc/openvpn/server-ccd/'' eine Datei mit demselben Namen angelegt werden der beim erstellen des Client Zertifikats (siehe unten) angegeben wurde. Im Normalfall ist dies der Name des Standorts an dem der Tunnelendpunkt aufgebaut wird. Die Datei muss die folgende Zeile beeinhalten: {{{ ifconfig-push 10.12.11.x 255.255.255.0 }}} ''x'' muss natürlich durch die zugewiesene Adresse erstezt werden. == neuen Client anlegen == Um das Anlegen ein wenig zu erleichtern gibt es unterhalb von ''/srv/certs/server'' einen Script (''create-client.sh'') der die obigen Schritte automatisch durchführt. Um einen neuen Client anzulegen muss eine freie Tunnel IP (aus dem Berich 10.12.11.0/24) dem Standort zugewiesen werden bei dem der neue Tunnelknoten läuft. Der Script erwartet neben den Namen des Standorts noch die letzte Stelle der Tunnel IP. Soll also ein Client für den Standort ''test'' mit der IP ''10.12.11.42'' angeleget werden muss der Script wie folgt aufgerufen werden: {{{ sudo /srv/certs/server/create-client.sh test 42 }}} Es entsteht dabei eine Datei mit dem Namen ''.tar.gz'' unterhalb von ''/srv/certs/server''. Dieses Archiv enthält alle Dateien die am Client benötigt werden. == Zertifikate manuell erstellen == Die Zertifikate liegen samt aller Scripte im Verzeichnis ''/srv/certs/server''. Alle Scripte zum erstellen eines Zertifikates sind unter ''easy-rsa'' und die ''crt'' und ''key'' Files sind im Verzeichnis ''key'' zu finden. Um ein neues Zeritifikat zu erstellen sind die folgenden Schritte notwendig: {{{ # cd /srv/certs/server/easy-rsa # . ./vars # ./build-key }}} Das Script stellt ein paar Fragen von denen die meisten einfach mit Enter quitiert werden müssen (default Werte) die einzige Ausnahmen bilden 2 Fragen ob das Zertifikat unterschieben werden soll hier muss ''y'' gedrückt werden. Danach ist das neu erstellte Zeritifikat im ''key'' Verzeichnis zu finden. Als Konvention sollte für den common name immer der Name des Standorts verwendet werden. ---- . CategoryDocumentation