Inhaltsverzeichnis
IN-VPN
Der IN-Berlin bietet auch VPN-Verbindungen an. VPNs haben z.B. Vorteile, wenn man
- in einem unsicheren WLAN oder im Handynetz ist und der Verbindung nicht traut
- einen sehr günstigen DSL-Anschluss hat, aber gerne im IN-Berlin-Netz rauskommen möchte
- man eine statische IP im Internet braucht
- man ungefiltertes Internet haben möchte
- man ein IPv6-Netz haben möchte und der Provider das nicht anbietet.
VPN-Teilnehmer können mehrere IP-Adressen bekomen. Standardmäßig vergeben wir eine IPv4-Adresse und ein /60-IPv6-Netz. Der Hostname sitename.in-vpn.de
zeigt auf diese Adresse.
OpenVPN
Die einfachste Möglichkeit, ein VPN beim IN-Berlin zu bekommen, geht mit OpenVPN. Nach der Anfrage bzw. dem Teilnahmeantrag kann man sich die Konfiguration im Service-Interface herunterladen.
Wer OpenVPN mit dem Networkmanager z.B. unter Gnome/xfce4 usw. einrichten möchte, kann dies in der Kommandozeile (Shell) tun - siehe weiter unten oder findet alternativ hier Screenshots:
In der Shell geht das mit der heruntergeladenen Konfigurationsdatei so:
- snippet.sh
nmcli connection import type openvpn file in-berlin-vpn.conf
Dies führe man als der Benutzer aus, der die Verbindung benutzen möchte.
Danach kann man diese wie gewohnt über die grafische Oberfläche oder einen andere Network-Manager Schnittstelle (nmtui
, nmcli
) benutzen oder auch anpassen.
Bei Nutzung der grafischen Tools, ist zu beachten das evtl. noch das network-manager-openvpn-gnome Paket installiert werden muss, da sonst der VPN Reiter beim bearbeiten der Verbindung fehlt.
Wichtig: Man muss noch (vor Verbindungsstart) den Benutzernamen - meist sitename@vpn.in-berlin.de - und das Passwort in der grafischen Oberfläche bei der ersten Verbindungsaufnahme eingeben,
Vorsicht bei Verbindungen mit gleichem Namen (z.B. nach Update).
Linux/BSD
Zur Einrichtung muss OpenVPN auf dem eigenen Rechner installiert sein. Wie man das genau installiert, hängt von der verwendeten Distribution ab. Bei Debian tut man das z.B. mit apt-get install openvpn
).
Du bekommst dafür von uns die Konfigurationsdatei in-berlin-vpn.tgz
und entpackst sie (meist nach /etc/openvpn
oder /usr/local/etc/openvpn
).
Falls man seine Dateien nicht in /etc/openvpn
entpackt hat, muss man noch in der Datei in-berlin-vpn/in-berlin-vpn.conf
die Pfade zu den Dateien ändern.
Um z.B. bei Debian das OpenVPN automatisch zu starten, wenn das Interface eth1
hochkommt, muss man noch die Zeile openvpn in-berlin-vpn
zu dem entsprechenden Interface in seiner /etc/network/interfaces
hinzufügen.
Eine komplette /etc/network/interfaces
sieht z.B. so aus:
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface allow-hotplug eth0 auto eth1 iface eth1 inet dhcp openvpn in-berlin-vpn
MacOSX
Für MacOSX empfehlen wir das Programm Tunnelblick, in das man die Konfigurationsoptionen aus der Konfiguration von Linux eintragen muss.
Android
Für Android gibt es die App OpenVPN, die auch ohne root läuft. Diese installiert man sich aus dem Play-Store (sie ist auch von F-droid verfügbar) und außerdem lädt man sich die Dateien startssl-chain.crt
und in-berlin.tls-auth
von dem Konfigurationspaket, das einem zugeschickt wurde, aufs Handy.
Nun startet man die App „OpenVPN für Android“. Im Profile-Reiter erstellt man ein neues Profil (links unten), als Namen benutzt man z.B. „IN-VPN“. Als erstes ist man in den Grundeinstellungen. Dort wählt man folgende Einstellungen:
- Server:
openvpn-1.in-berlin.de
- Server Port: 1194
- LZO-Komprimierung: Haken
- UDP: Haken
- Typ: Benutzername/Passwort
- CA Zertifikat: Hier wählt man sich die vorher heruntergeladene Datei
in-berlin-ca-chain.pem
aus. - Benutzername: Der von uns mitgeteilte Benutzername
- Passwort: Das von uns mitgeteilte Passwort (hier muss man leider alle 31 Zeichen eingeben).
In den anderen Einstellungsoptionen:
- IP und DNS
- Pull Settings: An
- Alles andere aus
- Routing:
- Ignoriere gepushte Routen: Aus
- Alles andere nach Vorlieben, im Zweifelsfall nicht anfassen, bei IPv4 und IPv6 Default-Routen benutzen
- Authentifizierung/Verschlüsselung:
- TLS-Serverzertifikat erwarten: An
- Zertifikat NAmen überprüfen: An
- Serverzertifikat Subject:
rdn: openvpn.in-berlin.de
(wichtig: Das muss man editieren! Sonst steht hier openvpn-1 (mit einer eins)) - Benutze TLS-Authentifizierung: An
- TLS Auth Datei: Die heruntergeladene Datei
in-berlin-tls-auth.pem
- TLS Richtung: Unspezifiziert
- Erweitert:
- Kein Häkchen, außer unten:
- Eigene Konfigurationsoptionen: Aktiviert
- Eigene Optionen:
remote-cert-ku 00a8
(nur diese eine Zeile, genau so)
Nachdem man das gespeichert hat, reicht ein Klick auf die Verbindung „IN-VPN“ und das VPN sollte sich aufbauen.
ddwrt
ddwrt ist eine beliebte freie firmware für Router. Zwar bietet diese einen OpenVPN-Client an, dieser ist aber aus diversen Gründen nicht trivial mit in-berlin einzurichten. Hier ist ein Screenshot wie es geht: https://wiki.in-berlin.de/_media/ddwrt_inbev_vpn.png
Die zu ändernden Felder sind rot markiert. Insbesondere ist zu beachten, dass der TLS Schlüssel nicht in dem dafür vorgesehenen Feld eingetragen wird, sondern „inline“ in dem Feld für extra Konfig-Zeilen.
pfSense
Hier eine vom Teilnehmer übermittelte Anleitung für pfSense: https://wiki.in-berlin.de/_media/doku_in-vpn_via_pfsense.pdf
OPNsense
Bei der Nutzung von OPNsense als OpenVPN Client kann der pfSense Anleitung soweit grundlegend gefolgt werden (Stand 07/2021, OPNsense 21.1.8_1, OpenVPN 2.5.3).
Wichtig ist dabei das wie in der pfSense Anleitung, der tls-auth Key unter „Advanced“ als Konfigoption eingetragen wird und nicht mit der GUI-Option „TLS-Authentication“ konfiguriert wird.
Dazu muss im Format wie auf Seite 3 der pfSense Anleitung, der TLS-Auth-Key als Datei ins Dateisytem der OPNsense hochgeladen werden, zum Beispiel /conf, und auf diese Datei mit dem tls-auth Konfigparameter verwiesen werden. Die GUI Option muss explizit deaktiviert sein.
Hintergrund ist das beim IN-Berlin aktuell keine key-direction mitgegeben werden darf, diese aber von der OPNsense automatisch auf 1 gesetzt wird. Das ist auch in der Konfigdatei der OPNsense unter: „/var/etc/openvpn/“, sichtbar. Da steht dann sowas wie „tls-auth FILE KEY-DIRECTION“ wenn das einfach ueber die GUI konfiguriert wird.
Bei 1, schickt die OPNsense Daten zum OpenVPN Server und dieser beantwortet keine der Pakete.
Auf Serverseite ist vermutlich sowas wie „TLS Error: incoming packet authentication failed from…“ zu sehen.
Bei 0 kehrt sich das Problem um und diese Fehler sind auf OPNsense Seite zu sehen.
Nur wenn keine Nummer gesetzt ist, funktioniert der Verbindungsaufbau und das laesst sich eben ueber das setzen im Advanced Reiter erreichen.
Portfilter
Wir sperren derzeit standardmäßig keine Ports oder Routen oder begrenzen künstlich die Geschwindigkeit (siehe auch Netzneutralität). Falls wir Portsperren einrichten, geschieht dies lediglich aus Sicherheitsgründen und man kann sich dann auch explizit wieder freischalten lassen.
Mehrere IPs, größere Netze
Natürlich kann man auch mehrere IPs bzw. kleinere Subnetze bekommen. Hierfür bitte den Support kontaktieren.