Als Lösung für ein "Virual Private Network" können IBR-Mitarbeiter und -Studierende OpenVPN (2.3 oder neuer) nutzen. Im Gegensatz zu PPTP und IPsec vereint OpenVPN eine große Flexibilität, halbwegs einfache Konfiguration und Verfügbarkeit für alle wichtigen Plattformen.
Es werden geroutete Tunnels für IPv4 und IPv6 bereitgestellt, Bridging wird nicht angeboten. Clients erhalten private IPv4-Adressen, für die der IBR-Router nach außen NAT einsetzt. IPv6 wird über ein separates öffentliches Subnetz realisiert.
Die bereitgestellten Client-Konfigurationen können auf verschiedene Server-Ports zurückgreifen und so auch aus sehr restriktiv abgeschotteten Netzen einen Tunnel aufzubauen:
Derzeit stellen wir die folgenden allgemeinen Client-Konfigurationen für User-basierte Authentisierung von IBR-Usern bereit, die jeweils alle der ersten drei genannten Ports unterstützen. Wer mag, kann seine Konfiguration natürlich auch eigenen Bedürfnissen anpassen.
Die bereitgestellten Konfigurationen unterscheiden sich im Umfang des getunnelten Adressraumes. Die Beispiele sind getestet mit Mac OS "Tunnelblick" und mit der OpenVPN iOS App. Die Konfigurationen enthalten bereits eingebettet die Serverzertifikatskette, um die Authentizität des IBR OpenVPN-Servers sicherzustellen.
Außerdem wird mit all diesen Konfigurationen der IPv4-Traffic zur ACM Digital Library (104.18.0.0/16), zu IEEExplore (140.98.193.0/24) und Elsevier (198.185.19.18) durch den Tunnel geleitet, um so ggf. auf deren IP-Source-basiert für die TU Braunschweig authorisierte Dienste zugreifen zu können. Sollten Euch aktualiserte Adressbereiche oder weitere Dienste bekannt sein, deren Routen hier ergänzt werden sollten, wendet Euch bitte an Frank, um die bereitgestellten Konfigurationen zu aktualisieren.
Die Einrichtung unter Linux ist bei Verwendung der oben verlinkten Profile sehr einfach. Zuerst muss das Paket openvpn
installiert werden. Danach kann die VPN-Verbindung mit dem Befehl sudo openvpn IBR-TUonly.ovpn
(oder mit einem anderen Profil) gestartet werden.
Die Integration von OpenVPN in Gnome über die Netzwerkeinstellungen gestaltet sich recht schwierig, funktioniert aber nach einigen Anpassungen über die Importfunktion des NetworkManager CLI.
Notwendigen Pakete:
networkmanager openvpn networkmanager-openvpn
network-manager network-manager-gnome network-manager-openvpn network-manager-openvpn-gnome
Konfiguration anpassen:
<connection>
-Tags der verbleibenden Connection auskommentieren/entfernenImportieren des Profiles:
nmcli connection import type openvpn file <profile.ovpn>
Die Routeneinträge des importierten Profils werden durch die Gnome Settings als invalid erkannt (da dasGateway fehlt). Weitere Änderungen in den Settings können desshalb nicht gespeichert werden und müssen daher durch "nmcli" vorgenommen werden.
Setzten des Benutzernamens:
nmcli connection edit <configname>
set vpn.user-name <username>
save
quit
Done. Zum Debuggen könnt ihr euch den Output von OpenVPN mit sudo journalctl -f ansehen.
Es ist auch möglich, individuelle OpenVPN-Tunnel-Konfigurationen für Mitarbeiter:innen und Projekte bereitzustellen, die zertifikatsbasierte Authentifizierung, statische Client-Adressen, explizite Routen und andere spezifische Anpassungen erlauben. (@Admin: siehe openvpn:/etc/openvpn/README.IBR)
Mitarbeiter:innen können sich den aktuellen Status aktiver Tunnels mit ibr-vpn-status
anzeigen lassen.