FBIVPN: Unterschied zwischen den Versionen

Aus Fachschaft_Informatik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(24 dazwischenliegende Versionen von 16 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Im Informatik-Netz gibt es leider viele Port-Beschränkungen. Daher ist die Verwendung einer [[VPN|VPN-Verbindung]] zu empfehlen. Eine VPN-Verbindung ist auch dann sinnvoll, wenn man von außerhalb des Informatik-Netzes auf Seiten zugreifen möchte, die nur aus dem Informatik-Netz abgerufen werden können.
Im Informatik-Netz gibt es leider viele Port-Beschränkungen. Daher ist die Verwendung einer [[VPN|VPN-Verbindung]] zu empfehlen. Eine VPN-Verbindung ist auch dann sinnvoll, wenn man von außerhalb des Informatik-Netzes auf Seiten zugreifen möchte, die nur aus dem Informatik-Netz abgerufen werden können.


Vom RZ gibt es eine [http://www.informatik.uni-hamburg.de/RZ/netz/notebook/vpn.shtml Anleitung für Windows und OS X]. Hier gibt es eine kurze Anleitung, wie man dies unter Linux (speziell Debian/Ubuntu) mit dem Network-Manager realisieren kann:
Vom IRZ gibt es [https://www.inf.uni-hamburg.de/inst/irz/it-services/private-devices/vpn-clients.html Anleitungen für MacOS, Windows und Ubuntu]. Hier gibt es weitere Anleitungen, wie man die Verbindung unter verschiedenen Linux-Distributionen realisieren kann:


== Kurzanleitungen ==
== Kurzanleitungen ==
Hier sind Kurzanleitungen für Ubuntu, Windows XP & 7, Mac OS X und iOS, längere Anleitungen gibt es unten, oder auf den Seiten des RZ
Hier sind Kurzanleitungen für Ubuntu, Windows XP & 7, Mac OS X und iOS, längere Anleitungen gibt es unten.
Besonders empfehlenswert sind die [[https://www.inf.uni-hamburg.de/inst/irz/it-services/private-devices/vpn-clients/ubuntu.html|offiziellen Anleitungen des IRZ]].


=== Debian-Testing ===
=== Debian-Testing ===
Zeile 10: Zeile 11:
Unter neueren Debian System kann es vorkommen, dass erst network-manager-pptp-gnome oder pptp-linux installiert werden muss. Danach funktioniert die Anleitung von Ubuntu.
Unter neueren Debian System kann es vorkommen, dass erst network-manager-pptp-gnome oder pptp-linux installiert werden muss. Danach funktioniert die Anleitung von Ubuntu.


=== Ubuntu (getestet unter 12.04 und 12.10)===
 
Anmerkung Debian 12 - l2tp
 
Einrichtung wie unter Ubuntu, bitte Anmerkung 4 beachten.
 
=== Ubuntu (getestet unter 12.04 bis 23.04 [Mai 2023])===
(über GUI [nm-applet]):
(über GUI [nm-applet]):


Zeile 32: Zeile 38:
*** Anmerkung4: Unter (X)Ubuntu 16.04) gehts ohne "Allow stateful encryption". PS: In einer VM (das war das Problem bei mir) müsst ihr in den Settings eine "Netzwekbrücke" einstellen. "NAT" funktioniert nicht.
*** Anmerkung4: Unter (X)Ubuntu 16.04) gehts ohne "Allow stateful encryption". PS: In einer VM (das war das Problem bei mir) müsst ihr in den Settings eine "Netzwekbrücke" einstellen. "NAT" funktioniert nicht.
*** Anmerkung5: MSCHAP ausschalten und nur MSCHAPv2 aktiv lassen hat hier geholfen.
*** Anmerkung5: MSCHAP ausschalten und nur MSCHAPv2 aktiv lassen hat hier geholfen.
*** Anmerkung6: Auf Ubuntu 18.04.4, Juni 2020, galt bei mir:  "Allow stateful encryption" nicht angekreuzen sowie MSCHAP ausschalten und nur MSCHAPv2 aktiv lassen.
***Anmerkung7: Auf Ubuntu 21.10 ( April 2022) gilt: "Allow stateful encryption" ankreuzen, MSCHAP aus und MSCHAPv2 aktiv lassen. (Hat bei Ubuntu 23.04 auch funktioniert.)
** <OK>
** <OK>
* IPv4-Einstellungen
* IPv4-Einstellungen
Zeile 37: Zeile 45:
** DNS-Server: 134.100.9.61
** DNS-Server: 134.100.9.61
** Suchdomänen: informatik.uni-hamburg.de
** Suchdomänen: informatik.uni-hamburg.de
*** Anmerkung: Bei mir waren die IPv4-Einstellungen nicht nötig (Ubuntu 18.04.4, Juni 2020 und 23.04, Mai 2023)
* <Speichern>
* <Speichern>
* <Schließen>
* <Schließen>
Zeile 45: Zeile 54:
* VPN-Verbindungen --> FBI-VPN
* VPN-Verbindungen --> FBI-VPN
Du hast jetzt Internet!!!
Du hast jetzt Internet!!!
==== Troubleshooting ====
Es kann sein dass etwaige lokale Firewalls, wie Opensnitch (https://github.com/evilsocket/opensnitch) oder UFW (fancy iptables) Probleme bereiten könnten.
Um herauszufinden ob eine Firewall dazwischenfunkt, könnte man sie entweder temporär ausschalten und danach probieren (nur in geschützten Netzwerken empfohlen) oder in den Logs nach verdächtigen Einträgen suchen.
So könnten bei UFW Einträge wie <code>kernel: [UFW BLOCK] IN=<interface> OUT= MAC=<mac> SRC=134.100.5.65 DST=192.168.x.x</code> auftauchen.
Bei Opensnitch schlägt der Aufbau meist durch Timeouts fehl, was auch geloggt wird.
In der CLI könnte folgender Befehl zum verfolgen der Logs des Netzwerkmanagers hilfreich sein: <code>journalctl -e -f -u NetworkManager</code>.
Falls pppd in dem Networkmanager Plugin für pptp genutzt wird, kann der Debug Output aktiviert werden, indem "debug" in der Datei /etc/ppp/options auskommentiert/hinzugefügt wird.
===== Opensnitch =====
Damit PPTP bei einer aktiven Opensnitch-Instanz funktioniert, muss in der Datei /etc/opensnitchd/system-fw.json eine Regel hinzugefügt werden, sodass es danach so aussehen könnte:
<pre>
{
    "SystemRules": [
        {
            "Rule": {
                "Description": "Allow pptp VPN",
                "Table": "mangle",
                "Chain": "OUTPUT",
                "Parameters": "-p gre",
                "Target": "ACCEPT",
                "TargetParameters": ""
            }
        }
}
</pre>
Siehe https://github.com/evilsocket/opensnitch/issues/219
===== UFW =====
Wenn standardmäßig alle eingehenden Verbindungen geblockt werden, sollte die IP vom Gateway freigeschaltet werden, z.B. Src: 134.100.5.65, Protocol both und alles andere beim default.
Man könnte es mit einer Iptables Regel noch weiter einschränken, indem Packete vom Protocol "GRE" (oder 47) erlaubt sind: https://askubuntu.com/questions/757228/adding-vpn-exception-allow-protocol-to-ufw-firewall-rules
=== Ubuntu 18.04 ===
Verbindungsart: L2TP
* sudo apt-get update
* sudo apt-get install network-manager-l2tp
* sudo apt-get install network-manager-l2tp-gnome
VPN Hinzufügen und "Layer 2 Tunneling Protocol (L2TP)" auswählen
* Daten eingeben:
** Verbindungsname: FBI-VPN (ist beliebig)
** Gateway: fbivpn.informatik.uni-hamburg.de
** User name: <Deine Kennung (0musterm)>
** Passwort: <Dein Passwort>
** NT Domain: <nicht nötig>
* IPsec:
** Haken setzen bei "Enable IPsec tunnel to L2TP host"
** Gateway ID: <frei lassen>
** Pre-shared key: [[file:irz-vpnpw.png]]
*** advanced:
*** Phase1 Algorithms: 3des-sha1-modp1024
*** Phase2 Algorithms: 3des-sha1
* PPP Settings:
** Use Point-to-Point encryption (MPPE)
** Sicherheit: 128-bit (most secure)
** allow stateful encryption
** die nächsten Optionen zu compression ankreuzen
Debugging mit "tail -f /var/log/syslog"
* Fehler: "Failed to request VPN secrets #3: No agents were available for this request."
** Lösung: Rechts vom Passwortfeld aufs Fragezeichen klicken und "Passwort für alle Nutzer speichern".


=== Kubuntu 13.04 per KDE Controle Module & Arch Linux (Manjaro), Januar 2016 ===
=== Kubuntu 13.04 per KDE Controle Module & Arch Linux (Manjaro), Januar 2016 ===
Zeile 72: Zeile 146:




=== Fedora 23 ===
=== Fedora 23 bis 30 ===


* Auch hier scheint es ein firewall Problem zu geben.
* Auch hier scheint es ein firewall Problem zu geben.
Zeile 80: Zeile 154:
** firewall-cmd --reload
** firewall-cmd --reload
** Quelle: https://ask.fedoraproject.org/en/question/63759/pptp-connection-fails-after-last-update/
** Quelle: https://ask.fedoraproject.org/en/question/63759/pptp-connection-fails-after-last-update/
* Unter Fedora 27 erfolgreich getestet
 
=== Fedora 35 bis 36 ===
 
* Die voherigen Befehle alleine haben nicht ausgereicht.
* Folgender Befehl hat zum Erfolg geführt:
** sudo sysctl net.netfilter.nf_conntrack_helper=1
* Die Einstellung persistent machen:
** echo net.netfilter.nf_conntrack_helper=1 | sudo tee /etc/sysctl.d/98-nf_conntrack.conf
* Quelle: https://ask.fedoraproject.org/t/pptp-vpn-blocked-by-firewall/8097
* Seit Kernel-Version 6.0 gibt es net.netfilter.nf_conntrack_helper nicht mehr. Stattdessen kann in der Firewall gre freigeschaltet werden.
** Quelle: https://ask.fedoraproject.org/t/nf-conntrack-helper-is-missing-from-kernel-6-0-5/28210/2
 
 
=== Qubes OS (getestet unter Qubes 4.2.1, April 2024) ===
 
Es werden neben einer Network-VM (standardmäßig gibt es sys-net und sys-firewall, Anleitung nutzt sys-firewall) zwei weitere VMs (ein Template, ein Proxy) benötigt, damit gezielt nur eine Auswahl an Qubes und auch nur auf Wunsch das VPN verwenden, und nicht zwangsläufig das gesamte System.
 
==== sys-net ====
 
In sys-net muss eingestellt werden, dass eingehender pptp Traffic erlaubt wird und überhaupt verarbeitet werden kann:
* sudo vim /rw/config/rc.local
* modprobe ip_conntrack_pptp
* modprobe ip_nat_pptp
* iptables -I FORWARD -p 47 -s fbivpn.informatik.uni-hamburg.de -j ACCEPT
* iptables -Z
 
==== Proxy Template ====
 
Qube Manager -> New Qube
* Label: sys-vpn-template (Beispiel)
* Type: TemplateVM
* Template: Default (im Folgenden von fedora-39-xfce ausgehend)
* Network: None
 
Anschließend den Template-Qube starten und ein Terminal öffnen
* sudo dnf remove libreswan
* sudo dnf install strongswan (sofern nicht bereits installiert)
* Begründung: libreswan enthält den notwendigen Phase 1 Encryption Algorithmus 3des-sha1-modp1024 nicht mehr
 
==== VPN Proxy-VM ====
 
Qube Manager -> New Qube
* Label: sys-vpn (Beispiel)
* Type: AppVM
* Template: sys-vpn-template
* Networking: "sys-firewall" (oder "sys-net", discouraged)
* Advanced: Provides network access to other qubes
 
Qube Einstellungen (Qube Manger -> sys-vpn -> Settings)
* Zum Services-Reiter wechseln
* network-manager Service auswählen
 
Terminal in sys-vpn öffnen
* sudo vim /rw/config/rc.local
* iptables -I INPUT -p 47 -s fbivpn.informatik.uni-hamburg.de -j ACCEPT
* modprobe l2tp_ppp
 
==== VPN einrichten ====
* Zunächst alle obigen Qubes (neu)starten
* Netzwork Manager Icon der Proxy-VM im Tray anklicken
* VPN Connections -> Configure VPN... -> +
* Point-to-Point Tunneling Protocol (PPTP)
** Gateway: fbivpn.informatik.uni-hamburg.de
** User-name: FBI Kennung
** Password: FBI Password
** IPsec Settings...
*** Enable IPsec tunnel to L2TP host
*** Pre-shared key: fbivpn
*** (Advanced) Phase1 Algorithms: 3des-sha1-modp1024
*** (Advanced) Phase2 Algorithms: 3des-sha1
** PPP Settings...
*** Alles unter "Security and Compression" auswählen
*** Security: 128-bit (most secure)
*** Unter "Authentication" nur "MSCHAP" und "MSCHAPv2"
 
Fertig! Jetzt müsste eine Verbindung über das gleiche Tray-Icon funktionieren! Soll ein Qube das FBI VPN verwenden, kannst du einfach dessen Network-VM auf "sys-vpn" stellen und das VPN aktivieren. Möchtest du, dass die Qubes bei deaktiviertem VPN trotzdem Internet haben, kannst du im gleichen Menü einfach den "VM uplink eth0" anstelle des VPNs aktivieren. Dann wird stattdessen einfach die Verbindung von sys-firewall direkt verwendet.


=== Windows XP ===
=== Windows XP ===
Zeile 150: Zeile 299:


In der Programmsuche nach VPN suchen. Dann öffnet sich ein Fenster, in welchem du auf VPN hinzufügen klickst. Die Einstellungen trägst du wie folgt ein:  
In der Programmsuche nach VPN suchen. Dann öffnet sich ein Fenster, in welchem du auf VPN hinzufügen klickst. Die Einstellungen trägst du wie folgt ein:  
Verbindungsname (optional): FBI-VPN
* Verbindungsname (optional): FBI-VPN
Servername oder IP-Adresse: fbivpn.informatik.uni-hamburg.de
* Servername oder IP-Adresse: fbivpn.informatik.uni-hamburg.de
VPN-Typ: L2TP/IPsec mit vorinstalliertem Schlüssel
* VPN-Typ: L2TP/IPsec mit vorinstalliertem Schlüssel (Anmerkung 14.1.19: Statt L2TP klappt bei mir PPTP)
Vorinstallierter Schlüssel: fbivpn
* Vorinstallierter Schlüssel: [[file:irz-vpnpw.png]]
Anmeldeinformationstyp: Benutzername und Kennwort
* Anmeldeinformationstyp: Benutzername und Kennwort
Benutzername: dein Informatik Nutzername z.B. 0mustermann
* Benutzername: dein Informatik Nutzername z.B. 0mustermann
Kennwort: dein Kennwort zum zugehörigen Informatikaccount
* Kennwort: dein Kennwort zum zugehörigen Informatikaccount
Speichern, verbinden und fertig!!
Speichern, verbinden und fertig!!


Zeile 175: Zeile 324:
** Passwort: Dein Passwort zur Kennung
** Passwort: Dein Passwort zur Kennung
** Rechner-Authentifizierung:
** Rechner-Authentifizierung:
*** Schlüssel ("Shared Secret"): fbivpn
*** Schlüssel ("Shared Secret"): [[file:irz-vpnpw.png]]


* Weitere Optionen:
* Weitere Optionen:
Zeile 182: Zeile 331:
*** [X] Beim Abmelden des Benutzers die Verbindung trennen
*** [X] Beim Abmelden des Benutzers die Verbindung trennen
*** [X] Gesamten Verkehr über die VPN-Verbindung senden
*** [X] Gesamten Verkehr über die VPN-Verbindung senden
*** Bei Verbindungsproblemen: [X] Ausführliches Protokoll
** TCP/IP
** TCP/IP
*** IPv4 Konfigurieren: PPP
*** IPv4 Konfigurieren: PPP
*** IPv6 Konfigurieren: Automatically
*** IPv6 Konfigurieren: Automatically
** DNS und Proxies nichts vornehmen
** DNS: "informatik.uni-hamburg.de" als Such-Domain hinzufügen
** Proxies: nichts vornehmen
* <Verbinden>
* <Verbinden>
* Du hast Internet!
* Du hast Internet!
'''Zusätzlich:'''
Seit MacOSX 10.7 gibt es das nervige PopUp-Feld welches einen zum Einloggen auffordert, dieses wird durch den "Captive Network Assistant" ausgelöst.
Um dieses "Feature" abzustellen muss folgendes getan werden: '''Achtung! Damit wird dieser Dialog auch in allen anderen Hotspots deaktiviert!'''
* zu folgendem Ordner navigieren: /System/Library/CoreServices/
* "Captive Network Assistant.app" umbenennen. z.B. zu: "_Captive Network Assistant.app"
* fertig


=== iOS ===
=== iOS ===
Zeile 211: Zeile 353:
** RSA-SecurID: Aus
** RSA-SecurID: Aus
** Kennwort: dein Kennwort zur Kennung
** Kennwort: dein Kennwort zur Kennung
** Shared Secret: fbivpn
** Shared Secret: [[file:irz-vpnpw.png]]
** Gesamten Verkehr senden: An
** Gesamten Verkehr senden: An
** Proxy: Aus (sofern du keinen benutzt)
** Proxy: Aus (sofern du keinen benutzt)
Zeile 413: Zeile 555:
== Weblinks ==
== Weblinks ==


* [http://www.informatik.uni-hamburg.de/RZ/netz/notebook/vpn.shtml Nutzung von VPN-Diensten im Informatik-Netz]
* [https://www.inf.uni-hamburg.de/inst/irz/it-services/private-devices/vpn-clients.html Offizielle Anleitung des IRZ]
** [https://www.inf.uni-hamburg.de/inst/irz/it-services/private-devices/vpn-clients/macos.html Für macOS]
** [https://www.inf.uni-hamburg.de/inst/irz/it-services/private-devices/vpn-clients/ubuntu.html Für Ubuntu]
** [https://www.inf.uni-hamburg.de/inst/irz/it-services/private-devices/vpn-clients/win10.html Für Windows]
* [http://pptpclient.sourceforge.net/howto-diagnosis.phtml#conventions Nützliches Howto zum Debuggen von PPTP Client Syslog-Infos]
* [http://pptpclient.sourceforge.net/howto-diagnosis.phtml#conventions Nützliches Howto zum Debuggen von PPTP Client Syslog-Infos]
* [http://www.cyberciti.biz/tips/howto-configure-ubuntu-fedora-linux-pptp-client.html Howto VPN on Fedora]
* [http://www.cyberciti.biz/tips/howto-configure-ubuntu-fedora-linux-pptp-client.html Howto VPN on Fedora]
== Siehe Auch ==
== Siehe Auch ==



Aktuelle Version vom 10. September 2024, 18:09 Uhr

Im Informatik-Netz gibt es leider viele Port-Beschränkungen. Daher ist die Verwendung einer VPN-Verbindung zu empfehlen. Eine VPN-Verbindung ist auch dann sinnvoll, wenn man von außerhalb des Informatik-Netzes auf Seiten zugreifen möchte, die nur aus dem Informatik-Netz abgerufen werden können.

Vom IRZ gibt es Anleitungen für MacOS, Windows und Ubuntu. Hier gibt es weitere Anleitungen, wie man die Verbindung unter verschiedenen Linux-Distributionen realisieren kann:

Kurzanleitungen[Bearbeiten]

Hier sind Kurzanleitungen für Ubuntu, Windows XP & 7, Mac OS X und iOS, längere Anleitungen gibt es unten. Besonders empfehlenswert sind die [Anleitungen des IRZ].

Debian-Testing[Bearbeiten]

Unter neueren Debian System kann es vorkommen, dass erst network-manager-pptp-gnome oder pptp-linux installiert werden muss. Danach funktioniert die Anleitung von Ubuntu.


Anmerkung Debian 12 - l2tp

Einrichtung wie unter Ubuntu, bitte Anmerkung 4 beachten.

Ubuntu (getestet unter 12.04 bis 23.04 [Mai 2023])[Bearbeiten]

(über GUI [nm-applet]):

  • VPN-Verbindungen->VPN-Konfigurieren
  • Hinzufügen
  • Erzeugen (PPTP)
  • Daten eingeben:
    • Verbindungsname: FBI-VPN (ist beliebig)
    • Gateway: fbivpn.informatik.uni-hamburg.de
    • User name: <Deine Kennung (0musterm)>
    • Passwort: <Dein Passwort>
    • NT Domain: informatik
  • Advanced:
    • Use Point-to-Point encryption (MPPE)
    • Sicherheit: 128-bit (most secure)
    • die nächsten 4 Optionen ankreuzen
      • Anmerkung: Bei mir (Ubuntu 13.10) funktioniert das VPN nur, wenn "Allow stateful encryption" nicht angekreuzt ist. Mach ich was falsch?
      • Anmerkung2: Bei mir (Ubuntu 14.04 neu installiert) gehts auch nur ohne. Also vermutlich bei allen Ubuntus ab 13.10 den einen Haken weglassen.
        • Bei mir (Ubuntu 14.04) gehts wieder nur mit. Einfach beides ausprobieren.
      • Anmerkung3: Bei mir (Ubuntu 15.04 neu installiert) gehts weder mit noch ohne. Funktioniert diese Methode noch bei den alten Ubuntu Versionen?
      • Anmerkung4: Unter (X)Ubuntu 16.04) gehts ohne "Allow stateful encryption". PS: In einer VM (das war das Problem bei mir) müsst ihr in den Settings eine "Netzwekbrücke" einstellen. "NAT" funktioniert nicht.
      • Anmerkung5: MSCHAP ausschalten und nur MSCHAPv2 aktiv lassen hat hier geholfen.
      • Anmerkung6: Auf Ubuntu 18.04.4, Juni 2020, galt bei mir: "Allow stateful encryption" nicht angekreuzen sowie MSCHAP ausschalten und nur MSCHAPv2 aktiv lassen.
      • Anmerkung7: Auf Ubuntu 21.10 ( April 2022) gilt: "Allow stateful encryption" ankreuzen, MSCHAP aus und MSCHAPv2 aktiv lassen. (Hat bei Ubuntu 23.04 auch funktioniert.)
    • <OK>
  • IPv4-Einstellungen
    • Methode: Automatisch (VPN), nur Adressen
    • DNS-Server: 134.100.9.61
    • Suchdomänen: informatik.uni-hamburg.de
      • Anmerkung: Bei mir waren die IPv4-Einstellungen nicht nötig (Ubuntu 18.04.4, Juni 2020 und 23.04, Mai 2023)
  • <Speichern>
  • <Schließen>
  • Zum W-LAN UHH verbinden.
  • Fertig

Zum verbinden jetzt:

  • VPN-Verbindungen --> FBI-VPN

Du hast jetzt Internet!!!

Troubleshooting[Bearbeiten]

Es kann sein dass etwaige lokale Firewalls, wie Opensnitch (https://github.com/evilsocket/opensnitch) oder UFW (fancy iptables) Probleme bereiten könnten. Um herauszufinden ob eine Firewall dazwischenfunkt, könnte man sie entweder temporär ausschalten und danach probieren (nur in geschützten Netzwerken empfohlen) oder in den Logs nach verdächtigen Einträgen suchen. So könnten bei UFW Einträge wie kernel: [UFW BLOCK] IN=<interface> OUT= MAC=<mac> SRC=134.100.5.65 DST=192.168.x.x auftauchen. Bei Opensnitch schlägt der Aufbau meist durch Timeouts fehl, was auch geloggt wird. In der CLI könnte folgender Befehl zum verfolgen der Logs des Netzwerkmanagers hilfreich sein: journalctl -e -f -u NetworkManager. Falls pppd in dem Networkmanager Plugin für pptp genutzt wird, kann der Debug Output aktiviert werden, indem "debug" in der Datei /etc/ppp/options auskommentiert/hinzugefügt wird.

Opensnitch[Bearbeiten]

Damit PPTP bei einer aktiven Opensnitch-Instanz funktioniert, muss in der Datei /etc/opensnitchd/system-fw.json eine Regel hinzugefügt werden, sodass es danach so aussehen könnte:

{
    "SystemRules": [
        {
            "Rule": {
                "Description": "Allow pptp VPN",
                "Table": "mangle",
                "Chain": "OUTPUT",
                "Parameters": "-p gre",
                "Target": "ACCEPT",
                "TargetParameters": ""
            }
        }
}

Siehe https://github.com/evilsocket/opensnitch/issues/219

UFW[Bearbeiten]

Wenn standardmäßig alle eingehenden Verbindungen geblockt werden, sollte die IP vom Gateway freigeschaltet werden, z.B. Src: 134.100.5.65, Protocol both und alles andere beim default. Man könnte es mit einer Iptables Regel noch weiter einschränken, indem Packete vom Protocol "GRE" (oder 47) erlaubt sind: https://askubuntu.com/questions/757228/adding-vpn-exception-allow-protocol-to-ufw-firewall-rules


Ubuntu 18.04[Bearbeiten]

Verbindungsart: L2TP

  • sudo apt-get update
  • sudo apt-get install network-manager-l2tp
  • sudo apt-get install network-manager-l2tp-gnome

VPN Hinzufügen und "Layer 2 Tunneling Protocol (L2TP)" auswählen

  • Daten eingeben:
    • Verbindungsname: FBI-VPN (ist beliebig)
    • Gateway: fbivpn.informatik.uni-hamburg.de
    • User name: <Deine Kennung (0musterm)>
    • Passwort: <Dein Passwort>
    • NT Domain: <nicht nötig>
  • IPsec:
    • Haken setzen bei "Enable IPsec tunnel to L2TP host"
    • Gateway ID: <frei lassen>
    • Pre-shared key: Irz-vpnpw.png
      • advanced:
      • Phase1 Algorithms: 3des-sha1-modp1024
      • Phase2 Algorithms: 3des-sha1
  • PPP Settings:
    • Use Point-to-Point encryption (MPPE)
    • Sicherheit: 128-bit (most secure)
    • allow stateful encryption
    • die nächsten Optionen zu compression ankreuzen

Debugging mit "tail -f /var/log/syslog"

  • Fehler: "Failed to request VPN secrets #3: No agents were available for this request."
    • Lösung: Rechts vom Passwortfeld aufs Fragezeichen klicken und "Passwort für alle Nutzer speichern".

Kubuntu 13.04 per KDE Controle Module & Arch Linux (Manjaro), Januar 2016[Bearbeiten]

Verbindungsart: PPTP

  • Daten eingeben
    • Verbindungsname: FBI-VPN (ist beliebig)
    • Gateway: fbivpn.informatik.uni-hamburg.de
    • Username: <Deine iRZ-Kennung (0musterm)>
    • Passwort: <Dein Passwort>
    • NT Domain: informatik
  • Advanced
    • Authentication Methods: MSCHAP und MSCHAPv2 (alle anderen deaktivieren)
    • Use Point-to-Point encryption (MPPE)
    • Sicherheit: 128-bit (most secure)
    • stateful encryption
    • Compression: BSD, Deflate, TCP header
  • DNS Server und Suchdomäne sollten nicht mehr nötig sein.

Fedora 21[Bearbeiten]

  • Den VPN über die GUI mit den gleichen daten wie bei Ubuntu konfigurieren.
  • Da die Firewall ab kernel 3.18 per default mehr block ist es noch nicht möglich eine verbindung aufzubauen.
  • Folgende Befehle helfen:


Fedora 23 bis 30[Bearbeiten]

Fedora 35 bis 36[Bearbeiten]


Qubes OS (getestet unter Qubes 4.2.1, April 2024)[Bearbeiten]

Es werden neben einer Network-VM (standardmäßig gibt es sys-net und sys-firewall, Anleitung nutzt sys-firewall) zwei weitere VMs (ein Template, ein Proxy) benötigt, damit gezielt nur eine Auswahl an Qubes und auch nur auf Wunsch das VPN verwenden, und nicht zwangsläufig das gesamte System.

sys-net[Bearbeiten]

In sys-net muss eingestellt werden, dass eingehender pptp Traffic erlaubt wird und überhaupt verarbeitet werden kann:

  • sudo vim /rw/config/rc.local
  • modprobe ip_conntrack_pptp
  • modprobe ip_nat_pptp
  • iptables -I FORWARD -p 47 -s fbivpn.informatik.uni-hamburg.de -j ACCEPT
  • iptables -Z

Proxy Template[Bearbeiten]

Qube Manager -> New Qube

  • Label: sys-vpn-template (Beispiel)
  • Type: TemplateVM
  • Template: Default (im Folgenden von fedora-39-xfce ausgehend)
  • Network: None

Anschließend den Template-Qube starten und ein Terminal öffnen

  • sudo dnf remove libreswan
  • sudo dnf install strongswan (sofern nicht bereits installiert)
  • Begründung: libreswan enthält den notwendigen Phase 1 Encryption Algorithmus 3des-sha1-modp1024 nicht mehr

VPN Proxy-VM[Bearbeiten]

Qube Manager -> New Qube

  • Label: sys-vpn (Beispiel)
  • Type: AppVM
  • Template: sys-vpn-template
  • Networking: "sys-firewall" (oder "sys-net", discouraged)
  • Advanced: Provides network access to other qubes

Qube Einstellungen (Qube Manger -> sys-vpn -> Settings)

  • Zum Services-Reiter wechseln
  • network-manager Service auswählen

Terminal in sys-vpn öffnen

  • sudo vim /rw/config/rc.local
  • iptables -I INPUT -p 47 -s fbivpn.informatik.uni-hamburg.de -j ACCEPT
  • modprobe l2tp_ppp

VPN einrichten[Bearbeiten]

  • Zunächst alle obigen Qubes (neu)starten
  • Netzwork Manager Icon der Proxy-VM im Tray anklicken
  • VPN Connections -> Configure VPN... -> +
  • Point-to-Point Tunneling Protocol (PPTP)
    • Gateway: fbivpn.informatik.uni-hamburg.de
    • User-name: FBI Kennung
    • Password: FBI Password
    • IPsec Settings...
      • Enable IPsec tunnel to L2TP host
      • Pre-shared key: fbivpn
      • (Advanced) Phase1 Algorithms: 3des-sha1-modp1024
      • (Advanced) Phase2 Algorithms: 3des-sha1
    • PPP Settings...
      • Alles unter "Security and Compression" auswählen
      • Security: 128-bit (most secure)
      • Unter "Authentication" nur "MSCHAP" und "MSCHAPv2"

Fertig! Jetzt müsste eine Verbindung über das gleiche Tray-Icon funktionieren! Soll ein Qube das FBI VPN verwenden, kannst du einfach dessen Network-VM auf "sys-vpn" stellen und das VPN aktivieren. Möchtest du, dass die Qubes bei deaktiviertem VPN trotzdem Internet haben, kannst du im gleichen Menü einfach den "VM uplink eth0" anstelle des VPNs aktivieren. Dann wird stattdessen einfach die Verbindung von sys-firewall direkt verwendet.

Windows XP[Bearbeiten]

  • Mit dem W-Lan UHH verbinden
  • Systemsteuerung --> Netzwerkverbindung
  • Neue Verbindung erstellen
    • Verbindung mit dem Netzwerk am Arbeitsplatz herstellen
    • <Weiter>
  • VPN-Verbindung
    • <Weiter>
  • Daten Eingeben:
    • FBI-VPN (beliebig)
    • <weiter>
    • Hostname: fbivpn.informatik.uni-hamburg.de
    • <weiter>
    • <weiter>
    • <Fertig Stellen>
  • Der Verbinden Dialog erscheint, Daten eingeben:
    • Benutzername: <Deine Kennung (0musterm)>
    • Kennwort: <Dein Passwort>
    • <Verbinden>
  • Du hast Internet!


Windows 7[Bearbeiten]

  • Mit dem W-Lan UHH verbinden (an der Uni) oder mit Internet verbinden (bspw. zuhause)
  • Systemsteuerung --> Netzwerk- und Freigabecenter
  • Neue Verbindung oder Netzwerk einrichten
  • Verbindung mit dem Arbeitsplatz herstellen
    • <weiter>
  • Nein, neue Verbindung erstellen
    • <weiter>
  • Die Internetverbindung (VPN) verwenden
  • Daten Eingeben:
    • Internetadresse: fbivpn.informatik.uni-hamburg.de
    • Zielname: FBI-VPN (beliebig)
    • <Weiter>
    • Benutzername: <deine Kennung (0musterm)>
    • Kennwort: <Dein Passwort>
    • <verbinden>
  • Fertig!

Wenn Ihr ein Antivirenprogramm mit Firewall verwendet, dann achtet darauf, dass GRE-Pakete beidseitig durchgelassen werden. Das müsstet ihr bei der jeweiligen Firewall konfigurieren können.

Am Beispiel von Avira AntiVir InternetSecurity hier ein Beispiel:

  • Avira AntiVir öffnen (Adminrechte erforderlich)
  • Auf den Punkt Firewall klicken
  • Auf Konfigurieren klicken
  • Unter Adapterregeln eure Internetverbindung auswählen
  • Unter eingehende Regeln eine "Eingehende IP-Protokollregel" erstellen
  • Als Protokoll GRE auswählen (Nummer 47)
  • Unter ausgehende Regeln eine "Ausgehende IP-Protokollregel" erstellen
  • Als Protokoll GRE auswählen (Nummer 47)
  • Die Änderungen abspeichern.
  • Vorsorglich neustarten.
  • Fertig.

Diese Schritte waren bei mir nötig, um das Einwählen zu ermöglichen. Bei anderen Betriebssystemen (vornehmlich Windows/Mac) und/oder anderen Antivirenprogrammem mit integrierter Firewall können die Einstellungen anders heißen und andere Schritte nötig sein. Wenn es bei euch ohne diese Schritte klappt, dann müsst ihr auch nichts ändern.

Win 8[Bearbeiten]

Die Firewall von Win 8 blockiert den Zugang, sodass nach dem Einrichten (wie bei Win 7) keine Verbindung hergestellt werden kann (ging bei mir auch mit dem Cisco-Client des RRZ nicht).

Wenn man dann aber über Systemsteuerung -> Windows Firewall -> Erweiterte Einstellungen -> Eingehende/Ausgehende Regeln die "Routing und Remotezugriff"-Regeln (sind 3 Stück) mittels Rechtsklick aktiviert, wird die Verbindung erfolgreich aufgebaut. (vgl. http://www.heise.de/ct/hotline/Firewall-Regeln-fuers-VPN-unter-Windows-8-2056705.html)

Win 10[Bearbeiten]

In der Programmsuche nach VPN suchen. Dann öffnet sich ein Fenster, in welchem du auf VPN hinzufügen klickst. Die Einstellungen trägst du wie folgt ein:

  • Verbindungsname (optional): FBI-VPN
  • Servername oder IP-Adresse: fbivpn.informatik.uni-hamburg.de
  • VPN-Typ: L2TP/IPsec mit vorinstalliertem Schlüssel (Anmerkung 14.1.19: Statt L2TP klappt bei mir PPTP)
  • Vorinstallierter Schlüssel: Irz-vpnpw.png
  • Anmeldeinformationstyp: Benutzername und Kennwort
  • Benutzername: dein Informatik Nutzername z.B. 0mustermann
  • Kennwort: dein Kennwort zum zugehörigen Informatikaccount

Speichern, verbinden und fertig!!

Mac OS X[Bearbeiten]

Mit dem W-Lan UHH verbinden

System Preferences -> Network

  • Neue Verbindung einrichten ("+" Button)
  • VPN Auswählen
    • VPN Typ: L2TP über IPSec
  • Service Name: FBI-VPN
  • Konfiguration: Standard
  • Sever Address: fbivpn.informatik.uni-hamburg.de
  • Account Name: Deine Kennung (0musterm)
  • Authentifizierungseinstellungen
    • Passwort: Dein Passwort zur Kennung
    • Rechner-Authentifizierung:
      • Schlüssel ("Shared Secret"): Irz-vpnpw.png
  • Weitere Optionen:
    • Optionen:
      • [X] Bei Benutzerwechsel abmelden
      • [X] Beim Abmelden des Benutzers die Verbindung trennen
      • [X] Gesamten Verkehr über die VPN-Verbindung senden
      • Bei Verbindungsproblemen: [X] Ausführliches Protokoll
    • TCP/IP
      • IPv4 Konfigurieren: PPP
      • IPv6 Konfigurieren: Automatically
    • DNS: "informatik.uni-hamburg.de" als Such-Domain hinzufügen
    • Proxies: nichts vornehmen
  • <Verbinden>
  • Du hast Internet!

iOS[Bearbeiten]

  • Unter den W-Lan-Netzen bei "UHH" auf den Pfeil nach Rechts tippen
    • "Automatisch Anmelden" deaktivieren
  • Mit dem W-Lan UHH verbinden
  • Unter Einstellungen -> Allgemein -> VPN kannst du eine eigene VPN-Verbindung einrichten.
  • Daten eingeben:
    • Typ: L2TP
    • Beschreibung: (ist dir überlassen)
    • Server: fbivpn.informatik.uni-hamburg.de
    • Account: deine Informatik-Kennung (0musterm)
    • RSA-SecurID: Aus
    • Kennwort: dein Kennwort zur Kennung
    • Shared Secret: Irz-vpnpw.png
    • Gesamten Verkehr senden: An
    • Proxy: Aus (sofern du keinen benutzt)
  • Unter Einstellungen dann VPN einschalten (natürlich sofern du im UHH Netz bist)
  • Du hast Internet!

Fehlerbehebung Solltet ihr euch nicht mit UHH verbinden können, tut folgendes:

  • Unter den W-Lan-Netzen bei "UHH" auf den Pfeil nach Rechts tippen
    • "Automatisch Anmelden" deaktivieren (nicht in iOS Version 6.0.1 verfügbar).

Chrome OS[Bearbeiten]

Das PPTP-VPN lässt sich auf einem chromebook nicht einrichten, weil PPTP wegen angeblich mangelnder Sicherheit nicht unterstützt wird. Stattdessen funktioniert aber die Methode "L2TP/IPSec + vorinstallierter Schlüssel". Hierfür wird der vorinstallierte Schlüssel (aka Shared Secret) vom iRZ erfragt. Der Name des Servers ist die URL fbivpn.inf..., der Benutzername und das Passwort wie gewohnt eure Anmeldedaten, das Feld "Gruppenname" bleibt einfach leer.

GUI[Bearbeiten]

Diese Sektion beschreibt die Einrichtung des VPNs mittels dem NetworkManager. Wenn du keine grafische Oberflaeche benutzt, schaue weiter unten für eine Beschreibung mit nur Commandline-Tools.

Benötigtes Paket[Bearbeiten]

networkmanager-pptp (PPTP-Backend für Network-Manager)

Nach dem installieren des Pakets musste bei mir (Kubunty Hardy) der knetworkmanager neugestartet werden. Vorher waren die VPN-Optionen nicht sichtbar.

Einstellungen[Bearbeiten]

Network-Manager -> VPN-Verbindungen -> VPN konfigurieren -> Hinzufügen

Im Verbindungsassistent dann folgende Einstellungen vornehmen:

Hardy Heron und früher[Bearbeiten]

  • Verbinden mit: PPTP Tunnel
  • Name: FBI VPN (oder nach Gusto)
  • Typ: Windows VPN (PPTP)
  • Gateway: fbivpn.informatik.uni-hamburg.de

Tipp: Wenn du das VPN nur nutzen möchtest, um von zu Hause bestimmte Seiten aus dem Uni-Netz abzurufen, auf die du normalerweise nicht von außen zugreifen dürftest, solltest du die VPN-Verbindung so konfigurieren, dass nur Verbindungen mit dem Uni-Netz über das VPN aufgebaut werden. Das hat den Vorteil, dass andere Dinge, die du im Internet noch so tust, evt. schneller sind, da sie nicht getunnelt werden. Dazu bearbeitest du die bestehende Verbindung über Network-Manager -> VPN-Verbindungen -> VPN konfigurieren -> Bearbeiten (dazu muss natürlich deine Verbindung ausgewählt sein). Auf der Karteikarte Routing markierst du dann VPN-Verbindungen nur für diese Adressen verwenden und trägst das Subnetz der Uni (134.100.0.0/16) als IP-Adressbereich ein.

Der Knetworkmanager hat unter Hardy einen Bug, so dass keine VPN-Verbindung konfiguriert werden kann. Eine gefixte Version findet sich unter https://launchpad.net/~nytmyn/+archive (siehe auch https://bugs.launchpad.net/ubuntu/+source/knetworkmanager/+bug/151867 )

Intrepid Ibex und später[Bearbeiten]

  • Verbindungstyp: Point-to-Point Tunneling Protocol (PPTP)
  • Name: FBI VPN (oder nach Gusto)
  • Gateway: fbivpn.informatik.uni-hamburg.de
  • User name: Informatik\RZ-Benutzerkennung (RZ-Benutzerkennung ist dabei natürlich deine Kennung!)
  • NT Domain: Unbedingt leer lassen, hier nicht Informatik eintragen. Die Domäne muss dem Benutzernamen wie oben beschrieben vorangestellt werden.
  • Auf Advanced klicken:
    • Haken vor Use Point-To-Point encryption (MPEE) aktivieren
    • Security auf 128bit (most secure) setzen

Neustarten[Bearbeiten]

Nach Einrichtung der Verbindung ist evt. ein Neustart des Network-Manager notwendig, damit die Verbindung dort angezeigt wird. Unter Ubuntu geht das durch Aufrufen folgender Befehle:

  • sudo /etc/dbus-1/event.d/25NetworkManager restart
  • sudo /etc/dbus-1/event.d/26NetworkManagerDispatcher restart

Verbinden[Bearbeiten]

Zunächst muss eine Internetverbindung oder eine Verbindung zu einem UHH-Netz (z.B. FBI-WLAN) aufgebaut werden. Eine Gateway-Authentifizierung ist nicht notwendig.

Networkmanager -> VPN-Verbindungen -> FBI VPN

Wichtig: Bei der Authentifizierung am VPN-Gateway muss dem Benutzernamen die Windows-Domäne vorangestellt werden. Der korrekte Benutzername lautet also: Informatik\RZ-Benutzerkennung.

CLI[Bearbeiten]

Dieser Abschnitt beschreibt, wie mensch eine VPN Verbindung ins FBI mit Commandline-Tools erstellt.

Pakete[Bearbeiten]

Installiere pptp-linux (Ubuntu) bzw pptpclient (Arch Linux) oder ein ähnlich benanntes Paket, das dir einen Client für das Microsoft Point-to-Point Tunneling Protocol (PPTP) bietet.

Konfiguration[Bearbeiten]

Credentials:

echo $FBIUSER PPTP $FBIPASS 134.100.5.65 | sudo tee -a /etc/ppp/chap-secrets

Wobei $FBIUSER und $FBIPASS dein Benutzername (e.g. 0bock) und dein Passwort sind.

Dialup:

echo <<EOF
pty "pptp fbivpn.informatik.uni-hamburg.de --nolaunchpppd"
name $FBIUSER
remotename PPTP
require-mppe-128
file /etc/ppp/options.pptp
ipparam stellingen
EOF | sudo tee /etc/ppp/peers/stellingen 

Routing:

echo <<EOF
#!/bin/sh

[ "$6" != "stellingen" ] && exit 0

ip route add 0.0.0.0/1 dev "$1"
ip route add 128.0.0.0/1 dev "$1"
EOF | sudo tee /etc/ppp/ip-up.d/route-traffic.sh
sudo chmod +x /etc/ppp/ip-up.d/route-traffic.sh

Network config:

echo <<EOF
iface stellingen inet ppp
    provider stellingen
EOF | sudo tee -a /etc/network/interfaces

Starten/Stoppen[Bearbeiten]

sudo ifup stellingen

oder

sudo pon stellingen

bzw.

sudo ifdown stellingen

oder

sudo poff stellingen

VPN automatisch bei Verbindung mit $WLAN[Bearbeiten]

Das ganze Verbinden kann man auch automatisch machen, indem man das Netzwerk identifiziert, in dem man sich befindet. Aus der oberen Anleitung braucht man dann nicht mehr den Punkt "Network config"

/etc/wpa_supplicant/wpa_supplicant.conf

network={
	ssid="UHH-WPA"
	key_mgmt=WPA-EAP
	eap=TTLS
	group=TKIP CCMP
	pairwise=TKIP CCMP
	ca_cert="/etc/ssl/certs/Deutsche_Telekom_Root_CA_2.pem"
	identity="RRZ_Kennung@uni-hamburg.de"
	password="very_secret_password"
	anonymous_identity="anonymous@uni-hamburg.de"
	phase2="auth=PAP"
	id_str="uni" # wichtig, weil das der interfacename ist
}
ODER
network={
	ssid="UHH"
	key_mgmt=NONE
	id_str="uni"
}

/etc/network/interfaces

iface wlan0 inet manual
      wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

iface uni inet dhcp
      #vpn up and down
      up /usr/bin/pon stellingen
      down /usr/bin/poff stellingen

Manuell lässt sich immer noch VPN mit sudo pon stellingen starten. Beendet tut man dies dann mit sudo poff stellingen

Testen[Bearbeiten]

Zum Testen der Verbindung (bei Nutzung von außerhalb des Informatik-Netzes) kann zum Beispiel die Seite [1] abgerufen werden. Kann eine Gedaechnissprotokoll geladen werden arbeitet die Verbindung

Autoconnect Script[Bearbeiten]

Es gibt unter Linux Möglichkeiten sich bei bestehendem (UHH-) Netz direkt mit dem VPN zu befinden. Dazu sind folgende Änderungen am System notwendig.

(Im folgenden stehen (sofern nicht anders vermekt) $VPN$ für den VPN-namen und $WIFI$ für den WLAN-Namen)

/etc/NetworkManager/system-connections/$VPN$

Die Zeile password-flags muss von 1 auf 0 gesetzt werden. Falls die nicht existiert, muss sie unter dem Reiter vpn angelegt werden. In der selben Datei muss ein weiterer Reiter nämlich vpn-secrets angelegt werden. Unter vpn-secrets wird folgender eintrag angelegt.

password=Your_Password

Beachte, dass das Passwort hier im Klartext gespeichert wird. Deswegen ist darauf zu achten, dass die Zugriffsrechte für diese Datei auf 0600 zu setzen sind! (Es sei denn, man möchte es der Welt mitteilen)

Dann kommt als nächstes das eigentliche Skript. Dies ist anzulegen unter

/etc/NetworkManager/dispatcher.d

Hier muss man eine Datei anlegen nach dem Schema wie sie in dem Ordner vorliegt (\d\d-NAME). Die Zugriffsrechte sind auf 0755 zu setzen.

#! /bin/bash

REQUIRED_CONNECTION_NAME="$WIFI$" # namen beachten! Case-sensitive
VPN_CONNECTION_NAME="$VPN$"

sleep 1 #sleep ist nötig, warum? Keine Ahnung ;)

activ_con=$(nmcli con status | grep "${REQUIRED_CONNECTION_NAME}")
activ_vpn=$(nmcli con status | grep "${VPN_CONNECTION_NAME}")
if [ "${activ_con}" -a ! "${activ_vpn}" -a "$2" = "up" ];
then
    nmcli con up id "${VPN_CONNECTION_NAME}"
fi

Beim nächsten Verbinden der Netzwerkverbindung sollte sich der PC automatisch mit dem VPN verbinden.

Weblinks[Bearbeiten]

Siehe Auch[Bearbeiten]