VPN unter NixOS: Unterschied zwischen den Versionen
Die Seite wurde neu angelegt: „= VPN unter NixOS = Diese Anleitung beschreibt die Einrichtung des FernUni Hagen VPN unter NixOS mit vpnc. == Voraussetzungen == * NixOS mit NetworkManager * FernUni Hagen Zugangsdaten * 2FA-Token (z.B. Authenticator-App) == Installation == Füge folgende Pakete zur <code>environment.systemPackages</code> in deiner <code>configuration.nix</code> hinzu: <syntaxhighlight lang="nix"> environment.systemPackages = with pkgs; [ networkmanager-vpnc vpn…“ |
Keine Bearbeitungszusammenfassung |
||
| (Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
| Zeile 2: | Zeile 2: | ||
Diese Anleitung beschreibt die Einrichtung des FernUni Hagen VPN unter NixOS mit vpnc. | Diese Anleitung beschreibt die Einrichtung des FernUni Hagen VPN unter NixOS mit vpnc. | ||
Diese Anleitung wurde von Kore Nordmann erstellt. Der Helpdesk kann zu Linux leider keinen weitergehenden Support anbieten. | |||
== Voraussetzungen == | == Voraussetzungen == | ||
Aktuelle Version vom 26. Januar 2026, 10:22 Uhr
VPN unter NixOS
Diese Anleitung beschreibt die Einrichtung des FernUni Hagen VPN unter NixOS mit vpnc. Diese Anleitung wurde von Kore Nordmann erstellt. Der Helpdesk kann zu Linux leider keinen weitergehenden Support anbieten.
Voraussetzungen
- NixOS mit NetworkManager
- FernUni Hagen Zugangsdaten
- 2FA-Token (z.B. Authenticator-App)
Installation
Füge folgende Pakete zur environment.systemPackages in deiner configuration.nix hinzu:
environment.systemPackages = with pkgs; [
networkmanager-vpnc
vpnc
];
Grundkonfiguration
Erstelle die VPN-Konfigurationsdatei über NixOS:
environment.etc."vpnc/fernuni.conf".text = ''
IPSec gateway vpn.fernuni-hagen.de
IPSec ID IPsec
IPSec secret IPsec
IKE Authmode psk
Xauth username DEIN_BENUTZERNAME
'';
Verbindung herstellen
sudo vpnc fernuni
Wichtiger Hinweis zur Passwort-Eingabe
Die Eingabereihenfolge ist:
- Erste Aufforderung "Enter password": Dein Passwort
- Zweite Aufforderung "Enter password": Nur der 6-stellige 2FA-Token (nicht Passwort+Token!)
Der Server sendet zwar die korrekte Nachricht ("Bitte jetzt den Token-Code eingeben:"), aber vpnc ignoriert diese und zeigt stattdessen die generische Passwort-Aufforderung an.
Verbindung trennen
sudo vpnc-disconnect
Passwort speichern (optional)
Es ist möglich, das Passwort in der Konfiguration zu hinterlegen:
environment.etc."vpnc/fernuni.conf".text = ''
IPSec gateway vpn.fernuni-hagen.de
IPSec ID IPsec
IPSec secret IPsec
IKE Authmode psk
Xauth username DEIN_BENUTZERNAME
Xauth password DEIN_PASSWORT
'';
Split Tunneling
Standardmäßig wird der gesamte Netzwerkverkehr durch das VPN geleitet. Um nur FernUni-Traffic über das VPN zu routen:
Automatische Konfiguration
Erstelle ein Wrapper-Script für vpnc-script:
environment.etc."vpnc/fernuni.conf".text = ''
IPSec gateway vpn.fernuni-hagen.de
IPSec ID IPsec
IPSec secret IPsec
IKE Authmode psk
Xauth username DEIN_BENUTZERNAME
Script /etc/vpnc/vpnc-script-split
'';
environment.etc."vpnc/vpnc-script-split" = {
mode = "0755";
text = ''
#!/bin/sh
# Force split tunneling for FernUni network only
export CISCO_SPLIT_INC=1
export CISCO_SPLIT_INC_0_ADDR=132.176.0.0
export CISCO_SPLIT_INC_0_MASK=255.255.0.0
export CISCO_SPLIT_INC_0_MASKLEN=16
export CISCO_SPLIT_INC_0_PROTOCOL=0
export CISCO_SPLIT_INC_0_SPORT=0
export CISCO_SPLIT_INC_0_DPORT=0
exec ${pkgs.vpnc-scripts}/bin/vpnc-script "$@"
'';
};
Manuelle Konfiguration
Alternativ nach dem Verbinden manuell ausführen:
# VPN-Default-Route entfernen
sudo ip route del default dev tun0
# Nur FernUni-Netzwerk über VPN routen
sudo ip route add 132.176.0.0/16 dev tun0
Überprüfung
# Sollte normale Schnittstelle zeigen (z.B. enp0s31f6)
ip route get 1.1.1.1
# Sollte tun0 zeigen
ip route get 132.176.1.1
# Öffentliche IP prüfen (sollte NICHT 132.176.x.x sein)
curl ifconfig.me
Fehlerbehebung
PAYLOAD_MALFORMED Fehler
Dieser Fehler kann auftreten, wenn:
- Der 2FA-Token falsch eingegeben wurde
- Der Token abgelaufen ist (zu lange gewartet)
- Copy & Paste Probleme verursacht hat
Lösung: Erneut verbinden und Token manuell eintippen.
Debug-Ausgabe
Für detaillierte Fehleranalyse:
sudo vpnc --debug 99 fernuni