Inhaltsverzeichnis

IN-VPN

Der IN-Berlin bietet auch VPN-Verbindungen an. VPNs haben z.B. Vorteile, wenn man

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:

In den anderen Einstellungsoptionen:

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.