|
|
| (20 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt) |
| Zeile 1: |
Zeile 1: |
| __INHALTSVERZEICHNIS_ERZWINGEN__
| | #WEITERLEITUNG [[Kategorie:VPN]] |
|
| |
|
| '''Um eine VPN Verbindung aufbauen zu können
| | <div class="alert alert-warning" role="alert"> |
| * Müssen Sie die Netzordnung der Hochschule Mittweida bestätigt haben
| | Alle VPN4-Zugänge müssen bis zum 31.November 2025 auf '''eduVPN''' umgestellt werden.<br><br>Die Anleitung zur Einrichtung finden Sie unter:<br> [https://wiki.hs-mittweida.de/de/Kategorie:VPN https://wiki.hs-mittweida.de/de/Kategorie:VPN] |
| * Darf Ihr Kennwort nicht abgelaufen sein
| | </div> |
| Beides können Sie im Bereich Ihrer persönlichen [https://setup.hs-mittweida.de Einstellungen] prüfen.
| |
| '''
| |
| | |
| == Installation == | |
| | |
| Bitte führen Sie '''nur eine''' der Folgenden Installationen durch und beachten Sie die Bemerkungen am Ende jeder Installationsanleitung!
| |
| | |
| === Paketverwaltung unter Debian bzw. Linux Mint ===
| |
| | |
| ''' Debian Buster: '''
| |
| | |
| Buster ist die aktuelle Debian-Version. Folgende Installation
| |
| können Sie auch unter Linux Mint 20.2 durchführen:
| |
| | |
| <pre>
| |
| sudo apt-get update
| |
| sudo apt-get install ca-certificates
| |
| sudo apt-get install strongswan
| |
| sudo apt-get install libcharon-extra-plugins
| |
| sudo apt-get install libcharon-standard-plugins
| |
| sudo apt-get install libstrongswan-extra-plugins
| |
| sudo apt-get install libstrongswan-standard-plugins
| |
| </pre>
| |
| | |
| ''' Debian Jessie: '''
| |
| | |
| Jessie ist die vorige Debian Version.
| |
| | |
| Für die aktuelle Stronswan-Version muss folgende Paketquelle hinzugefügt werden (/etc/apt/sources.list):
| |
| <pre>
| |
| sudo deb http://http.debian.net/debian jessie-backports main
| |
| </pre>
| |
| | |
| Danach die folgenden Befehle für die Installation ausführen:
| |
| <pre>
| |
| sudo apt-get update
| |
| sudo apt-get -t jessie-backports install ca-certificates
| |
| sudo apt-get -t jessie-backports install strongswan
| |
| sudo apt-get -t jessie-backports install libcharon-extra-plugins
| |
| sudo apt-get -t jessie-backports install libcharon-standard-plugins
| |
| sudo apt-get -t jessie-backports install libstrongswan-extra-plugins
| |
| sudo apt-get -t jessie-backports install libstrongswan-standard-plugins
| |
| </pre>
| |
| | |
| Außerdem müssen im Init-Script (/etc/init.d/ipsec) die folgenden Zeilen um "$syslog" erweitert werden:
| |
| <pre>
| |
| # Required-Start: $network $remote_fs
| |
| # Required-Stop: $network $remote_fs
| |
| </pre>
| |
| | |
| ''' Weitere Schritte: '''
| |
| | |
| Unabhängig von der Linux-Version sollten Sie anschließend das [[VPN-Strongswan#Telekom-Zertifikat]] einrichten
| |
| und mit der [[VPN-Strongswan#Konfiguration]] fortfahren.
| |
| | |
| === Kompilieren unter Debian bzw. Linux Mint ===
| |
| | |
| Zur manuellen Kompilierung und Installation benötigen Sie das Terminal-Fenster.
| |
| Öffnen Sie dafür das (Start-) Menü unten links, tippen daraufhin in dem Suchfeld "Terminal"
| |
| ein und starten Sie das Programm "Terminal".
| |
| | |
| Alternativ können Sie auch gleichzeitig die Tasten Alt+Strg+T drücken.
| |
| | |
| Wechseln Sie nun in ein Verzeichnis Ihrer Wahl (im folgenden erstelle ich im "Downloads"
| |
| ein neues Verzeichnis mit der Bezeichnung "strongswan" und wechsle in dieses):
| |
| | |
| <pre>
| |
| mkdir ~/Downloads/strongswan
| |
| cd ~/Downloads/strongswan/
| |
| </pre>
| |
| | |
| Im Verzeichnis "strongswan" angekommen, sollten Sie die '''aktuelle''' Version von Strongswan
| |
| (in meinem Fall die Version 5.9.3) herunterladen und das Archiv entpacken.
| |
| Geben sie dafür im Terminal-Fenster folgende Befehle ein:
| |
| | |
| <pre>
| |
| wget https://download.strongswan.org/strongswan.tar.gz
| |
| tar -xzvf strongswan.tar.gz
| |
| </pre>
| |
| | |
| Das Verzeichnis sollte nun folgenden Inhalt haben:
| |
| | |
| <pre>
| |
| ls -al ~/Downloads/strongswan
| |
| strongswan-5.9.3
| |
| strongswan.tar.gz
| |
| </pre>
| |
| | |
| Wechseln Sie nun in das Unterverzeichnis mit der heruntergeladenen Version (in meinem Fall die 5.9.3).
| |
| Über "sudo su" machen Sie sich daraufhin zum "root"-Nutzer, da für die nächsten Schritte höhere
| |
| Berechtigungen notwendig sind mit mit "apt-get install ..." müssen sie vor den nächsten Schritten
| |
| noch zusätzliche Pakete für den Kompilierungsprozess installieren (falls nicht schon vorhanden):
| |
| | |
| <pre>
| |
| cd strongswan-5.9.3
| |
| sudo su
| |
| apt-get install libc-dev-bin
| |
| apt-get install libc6-dev
| |
| apt-get install libgmp-dev
| |
| apt-get install libcurl4
| |
| apt-get install libcurl4-openssl-dev
| |
| apt-get install libssl-dev
| |
| apt-get install zlib1g-dev
| |
| </pre>
| |
| | |
| Über den Befehl ".configure ..." werden nun noch Parameter festgelegt, um den korrekten
| |
| Installationsumfang des Strongswans zu gewährleisen:
| |
| | |
| <pre>
| |
| ./configure --enable-curl --enable-eap-mschapv2 --enable-eap-identity --enable-openssl
| |
| </pre>
| |
| | |
| Nach erfolgreicher Konfiguration sollte folg. Zusammenfassung angezeigt werden:
| |
| | |
| <pre>
| |
| strongSwan will be built with the following plugins
| |
| -----------------------------------------------------
| |
| libstrongswan:
| |
| aes des rc2 sha2 sha1 md5 mgf1 random nonce x509
| |
| revocation constraints pubkey pkcs1 pkcs7 pkcs8
| |
| pkcs12 pgp dnskey sshkey pem openssl fips-prf gmp
| |
| curve25519 xcbc cmac hmac drbg curl
| |
| libcharon:
| |
| attr kernel-netlink resolve socket-default stroke vici
| |
| updown eap-identity eap-mschapv2 xauth-generic counters
| |
| libtnccs:
| |
| libtpmtss:
| |
| </pre>
| |
| | |
| Über die Befehle "make" und "make install" kompilieren und installieren Sie letztendlich das Programm:
| |
| | |
| <pre>
| |
| make
| |
| make install
| |
| </pre>
| |
| | |
| '''Weitere Schritte:'''
| |
| | |
| Unabhängig von der Linux-Version sollten Sie dannach das [[VPN-Strongswan#Telekom-Zertifikat]] einrichten
| |
| und mit der [[VPN-Strongswan#Konfiguration]] fortfahren.
| |
| | |
| '''Bemerkungen nach der erfolgreichen Installation:''' | |
| | |
| Wenn Sie die zur Kompilierung notwendigen Pakete nicht mehr benötigen, können Sie diese wieder entfernen mit:
| |
| <pre>
| |
| apt-get remove libc-dev-bin
| |
| apt-get remove libc6-dev
| |
| apt-get remove libgmp-dev
| |
| apt-get remove libcurl4
| |
| apt-get remove libcurl4-openssl-dev
| |
| apt-get remove libssl-dev
| |
| apt-get remove zlib1g-dev
| |
| </pre>
| |
| | |
| Außerdem kann der Strongswan jederzeit wieder deinstalliert werden, solange das Verzeichnis "strongswan/strongswan-5.9.3"
| |
| (in meinem Fall war es die Strongswan-Version 5.9.3) nicht gelöscht wird. Öffnen Sie dafür wieder das Terminal, wechseln
| |
| in dieses Verzeichnis und führen Sie den Befehl "make uninstall" aus. Dieser Schritt sollte ebenfalls ausgeführt werden,
| |
| bevor Sie eine neue Version des Strongswan installieren.
| |
| | |
| <pre> | |
| make uninstall
| |
| </pre> | |
| | |
| == Telekom-Zertifikat ==
| |
| | |
| Im Verzeichnis "/usr/local/etc/ipsec.d/cacerts" muss ein Link zum Zertifikat
| |
| der T-TeleSec GlobalRoot Class2 (seit Sommer 2019) angelegt werden.
| |
| Sie können wie folgt prüfen, ob dieses auf Ihrem Rechner vorhanden ist mit: | |
| | |
| <pre>
| |
| cd /etc/ssl/certs
| |
| sudo find -iname "*.pem" | grep -i telesec
| |
| ./T-TeleSec_GlobalRoot_Class_3.pem
| |
| ./T-TeleSec_GlobalRoot_Class_2.pem
| |
| </pre>
| |
| | |
| Und anschließend so verlinken:
| |
| | |
| <pre> | |
| ln -s /etc/ssl/certs/T-TeleSec_GlobalRoot_Class_2.pem /usr/local/etc/ipsec.d/cacerts/
| |
| </pre>
| |
| | |
| Prüfen Sie den Link mit:
| |
| <pre>
| |
| ls -al /usr/local/etc/ipsec.d/cacerts
| |
| </pre>
| |
| | |
| Das Ergebnis sollte so aussehen:
| |
| <pre>
| |
| T-TeleSec_GlobalRoot_Class_2.pem -> /etc/ssl/certs/T-TeleSec_GlobalRoot_Class_2.pem
| |
| </pre>
| |
| | |
| | |
| == Konfiguration ==
| |
| | |
| Nach der Installation müssen folgende Dateien bearbeitet bzw. neu angelegt werden:
| |
| | |
| <pre>
| |
| ~/Downloads/strongswan/strongswan.conf
| |
| ~/Downloads/strongswan/ipsec.conf
| |
| ~/Downloads/strongswan/ipsec.secrets
| |
| </pre>
| |
| | |
| === strongswan.conf ===
| |
| | |
| Öffnen Sie die Datei mit einem Editor ihrer Wahl (ich habe dafür "nano" verwendet).
| |
| | |
| <pre>
| |
| sudo nano ~/Downloads/strongswan/strongswan.conf
| |
| </pre>
| |
| | |
| In dieser Datei '''darf nur noch''' folgender Text '''enthalten sein''':
| |
| | |
| <pre>
| |
| charon {
| |
| load = curl aes des sha1 sha2 md5 pem pkcs1 gmp random nonce x509 revocation hmac xcbc stroke kernel-netlink socket-default fips-prf eap-mschapv2 eap-identity updown openssl resolve
| |
| }
| |
| </pre>
| |
| | |
| '''Alles''' was sonst in der Datei steht ist '''unnötig''' und '''behindert''' die Verbindung.
| |
| | |
| === ipsec.conf ===
| |
| | |
| Öffnen Sie die Datei mit einem Editor ihrer Wahl (ich habe dafür "nano" verwendet).
| |
| | |
| <pre>
| |
| sudo nano ~/Downloads/strongswan/ipsec.conf
| |
| </pre>
| |
| | |
| In dieser Datei '''muss''' folgender Text '''hinzugefügt werden''':
| |
| | |
| <pre>
| |
| conn hsmw-vpn
| |
| keyexchange=ikev2
| |
| left=%defaultroute
| |
| leftid=%any
| |
| leftauth=eap
| |
| eap_identity=username@hs-mittweida.de
| |
| leftsourceip=%config
| |
| leftdns=%config4
| |
| leftfirewall=no
| |
| right=141.55.128.84
| |
| rightid=@vpn4.hs-mittweida.de
| |
| rightsubnet=0.0.0.0/0
| |
| rightauth=pubkey
| |
| auto=add
| |
| </pre>
| |
| | |
| '''Alles''' was sonst in der Datei steht '''wird''' für die Verbindung '''benötigt'''.
| |
| Ersetzen Sie '''username@hs-mittweida.de''' mit ihrem eigenem Nutzernamen, z.B. '''ameier3@hs-mittweida.de'''.
| |
| | |
| === ipsec.secrets ===
| |
| | |
| Öffnen Sie die Datei mit einem Editor ihrer Wahl (ich habe dafür "nano" verwendet).
| |
| | |
| <pre>
| |
| sudo nano ~/Downloads/strongswan/ipsec.secrets
| |
| </pre>
| |
| | |
| In diese Datei kann folgender Text hinzugefügt werden:
| |
| | |
| <pre>
| |
| username@hs-mittweida.de : EAP "K3nnw0rt"
| |
| </pre>
| |
| | |
| Ersetzen Sie '''username@hs-mittweida.de''' mit ihrem eigenem Nutzernamen, z.B. '''ameier3@hs-mittweida.de'''.
| |
| Ersetzen Sie '''K3nnw0rt''' mit ihrem eigenem Passwort, z.B. '''Top@Secret007'''.
| |
| | |
| Schützen Sie Ihre Zugangsdaten vor unbefugtem Zugriff mit:
| |
| | |
| <pre>
| |
| chmod 600 ~/Downloads/strongswan/ipsec.secrets
| |
| </pre>
| |
| | |
| Die Dateirechte sollten so gesetzt sein:
| |
| | |
| <pre>
| |
| -rw-rw-r-- 1 user user 370 Okt 8 07:52 ipsec.conf
| |
| -rw------- 1 user user 47 Okt 8 07:53 ipsec.secrets
| |
| -rw-rw-r-- 1 user user 195 Okt 8 07:51 strongswan.conf
| |
| </pre>
| |
| | |
| === Verlinkung ===
| |
| | |
| Erstellen Sie nun noch Links auf die Konfigurationsdateien:
| |
| | |
| <pre>
| |
| sudo ln -s ~/Downloads/strongswan/strongswan.conf /usr/local/etc/strongswan.conf
| |
| sudo ln -s ~/Downloads/strongswan/ipsec.conf /usr/local/etc/ipsec.conf
| |
| sudo ln -s ~/Downloads/strongswan/ipsec.secrets /usr/local/etc/ipsec.secrets
| |
| </pre>
| |
| | |
| Prüfen Sie die Links mit:
| |
| | |
| <pre>
| |
| ls -al /usr/local/etc
| |
| ipsec.conf -> ~/Downloads/strongswan/ipsec.conf
| |
| ipsec.secrets -> ~/Downloads/strongswan/ipsec.secrets
| |
| strongswan.conf -> ~/Downloads/strongswan/strongswan.conf
| |
| </pre>
| |
| | |
| == VPN-Tunnel aufbauen ==
| |
| | |
| Bevor ein VPN-Tunnel aufgebaut werden kann, muss der IPSEC-Dienst gestartet werden mit:
| |
| | |
| <pre>
| |
| sudo ipsec start
| |
| </pre>
| |
| | |
| Dannach wird der VPN-Tunnel wie folgt aufgebaut:
| |
| | |
| <pre>
| |
| sudo ipsec up hsmw-vpn
| |
| </pre>
| |
| | |
| Falls die Konfigurations-Dateien im falschen Verzeichnis liegen, meldet ipsec das beim Starten so:
| |
| | |
| <pre>
| |
| abort initialization due to invalid configuration
| |
| Starting strongSwan 5.9.3 IPsec [starter]...
| |
| failed to open config file '/usr/local/etc/ipsec.conf'
| |
| unable to start strongSwan -- fatal errors in config
| |
| </pre>
| |
| | |
| Die Datei (oder der symbolische Link) 'ipsec.conf' wurde im Verzeichnis '/usr/local/etc' erwartet,
| |
| liegt aber im Verzeichnis '/etc', Abhilfe:
| |
| | |
| <pre>
| |
| cp /etc/ipsec.conf /usr/local/etc/ipsec.conf
| |
| </pre>
| |
| | |
| Falls die Konfigurations-Dateien im richtigen Verzeichnis liegen, ipsec beim Starten jedoch immer noch Probleme hat,
| |
| könnte die Ursache dafür inhaltliche Fehler (z.B. falscher Nutzername, falsches Passwort) und/oder formale Fehler (z.B. falscher Zeichensatz, falsche Zeilenumbrüche, Sonderzeichen, fehlendes '=', fehlendes ':') in den Konfigurations-Dateien sein.
| |
| | |
| == VPN-Tunnel prüfen ==
| |
| | |
| Um den Zustand des VPN-Tunnels zu prüfen, ist folg. Befehl hilfreich:
| |
| | |
| <pre>
| |
| sudo ipsec status
| |
| </pre>
| |
| | |
| Es sollte ein Bericht angezeigt werden, der so ähnlich aussieht:
| |
| | |
| <pre>
| |
| Security Associations (1 up, 0 connecting):
| |
| hsmw-vpn[1]: ESTABLISHED 8 minutes ago, 192.168.178.43[192.168.178.43]...141.55.128.84[vpn4.hs-mittweida.de]
| |
| hsmw-vpn{1}: INSTALLED, TUNNEL, reqid 1, ESP in UDP SPIs: c70d1c9a_i c918ee5f_o
| |
| hsmw-vpn{1}: 141.55.149.125/32 === 0.0.0.0/0
| |
| </pre>
| |
| | |
| Falls der IPSEC-Dienst läuft, aber der VPN-Tunnel noch nicht aufgebaut wurde:
| |
| | |
| <pre>
| |
| Security Associations (0 up, 0 connecting):
| |
| none
| |
| </pre>
| |
| | |
| == VPN-Tunnel abbauen ==
| |
| | |
| Um den VPN-Tunnel abzubauen, muss folgender Befehl ausgeführt werden:
| |
| | |
| <pre>
| |
| sudo ipsec down hsmw-vpn
| |
| </pre> | |
| | |
| Dannach kann der IPSEC-Dienst wieder gestoppt werden mit:
| |
| | |
| <pre>
| |
| sudo ipsec stop
| |
| </pre>
| |
| | |
| [[Kategorie:VPN]]
| |
| [[Kategorie:Linux]]
| |
| [[en:VPN_Strongswan]]
| |