Freifunk Fulda/Gateway/VPN-Anbieter

Aus Magrathea Laboratories e.V.
Wechseln zu: Navigation, Suche

Der Zugang zum Internet wird den Freifunk-Knoten bzw. deren Nutzern mittels VPN über die Gateway-Server bereitgestellt. Dazu verbinden sich die Gateway-Server jeweils mit einem VPN-Anbieter (OpenVPN) und leiten sämtlichen Internet-Datenverkehr (alles was nicht in der Zone .fffd bzw. in unserem eigenen IP-Bereich liegt) an diesen weiter. Dieser Artikel gibt einen Überblick über die verschiedenen VPN-Anbieter und die entsprechende Konfiguration auf den Gateway-Servern.

Auf jedem Gateway-Server sollte mindestens ein VPN-Anbieter eingerichtet werden. Die Einrichtung verschiedener Anbieter ist möglich, jedoch sollte in diesem Fall jeweils nur ein VPN-Tunnel gestartet werden.


Übersicht Gateway-Server

Name Preis/Monat Traffic-Limit Bandwidth-Limit Connection-Limit Zahlung Authentication Verwendung
Mullvad 5 Euro Unlimited Unlimited Unlimited Bitcoin, Bankwire, Creditcard/Paypal Zertifikat gw01
hide.me 4,17 Euro (Laufzeit 1 Jahr) Unlimited 75 GB 1 Bitcoin, Bankwire, Creditcard/Paypal User/Pass gw02
hide.me 9.17 Euro (Laufzeit 1 Jahr) Unlimited Unlimited 5 Bitcoin, Bankwire, Creditcard/Paypal User/Pass

Einrichtung

Für die Einrichtung des VPN müssen jeweils verschiedene Konfigurationsdateien in das Verzeichnis /etc/openvpn kopiert werden. Abhängig vom VPN-Anbieter unterscheidet sich die Konfiguration minimal. Im folgenden sind die verwendeten Konfigurationen dargestellt.

Die fertigen Konfigurationen erhält man bei Major. Das Archiv wird einfach nach /etc/openvpn entpackt und stellt vollständige Konfigurationen für mullvad und hide.me bereit. Anschließend kann das VPN ohne weiteres manuelles Eingreifen sofort gestartet werden.


Mullvad

Bei Mullvad findet die Authentifizierung mittels Zertifikaten statt. Diese sind in oben genanntem Archiv enthalten.

Konfigurationsdatei für OpenVPN (/etc/openvpn/mullvad.conf)

# Freifunk Fulda - Mullvad VPN Config
#

client

dev-type tun
dev mullvad

proto udp

remote openvpn.mullvad.net 1194   # Default Servers
remote se.mullvad.net             # Servers in Sweden
remote nl.mullvad.net             # Servers in the Netherlands

# Keep trying indefinitely to resolve the host name of the OpenVPN server.
resolv-retry infinite

# Most clients don't need to bind to a specific local port number.
nobind

# Try to preserve some state across restarts.
persist-key
persist-tun

# Enable compression on the VPN link.
comp-lzo

# Set log file verbosity.
verb 3

# Keep alive settings
ping 10
ping-restart 60

# Allow calling of built-in executables and user-defined scripts.
script-security 2

# Update routing information.
# Do not use standard configuration pushed via DHCP!
route-noexec
up /etc/openvpn/mullvad/mullvad-up

# Authentication specific settings
remote-cert-tls server

ca /etc/openvpn/mullvad/ca.crt
cert /etc/openvpn/mullvad/mullvad.crt
key /etc/openvpn/mullvad/mullvad.key

crl-verify /etc/openvpn/mullvad/crl.pem


Konfigurationsdatei für Routing (/etc/openvpn/mullvad/mullvad-up)

#!/bin/bash
/sbin/ip route replace default via $4 table 42
/sbin/ip route replace 0.0.0.0/1 via $4 table 42
/sbin/ip route replace 128.0.0.0/1 via $4 table 42

/sbin/sysctl net.ipv4.conf.mullvad.rp_filter=0

exit 0

hide.me

Bei hide.me findet die Authentifizierung mittels Benutzername und Passwort statt. Diese sind in oben genanntem Archiv enthalten.

Konfigurationsdatei für OpenVPN (/etc/openvpn/hideme.conf)

# Freifunk Fulda - hide.me VPN Config
#

client

dev-type tun
dev mullvad

proto udp

remote free-nl.hide.me 3478

cipher AES-128-CBC

# Keep trying indefinitely to resolve the host name of the OpenVPN server.
resolv-retry infinite

# Most clients don't need to bind to a specific local port number.
nobind

# Try to preserve some state across restarts.
persist-key
persist-tun

# Set log file verbosity.
verb 3
mute-replay-warnings

# Keep alive settings
reneg-sec 0

# Allow calling of built-in executables and user-defined scripts.
script-security 3 system

# Update routing information.
# Do not use standard configuration pushed via DHCP!
route-noexec
up /etc/openvpn/hideme/hideme-up

# Authentication specific settings
ca /etc/openvpn/hideme/TrustedRoot.pem
auth-user-pass /etc/openvpn/hideme/auth.txt


Konfigurationsdatei für Routing (/etc/openvpn/hideme/hideme-up)

#!/bin/bash
/sbin/ip route replace default via $4 table 42
/sbin/ip route replace 0.0.0.0/1 via $4 table 42
/sbin/ip route replace 128.0.0.0/1 via $4 table 42

/sbin/sysctl net.ipv4.conf.mullvad.rp_filter=0

exit 0


Konfigurationsdatei für die Authentifizierung (/etc/openvpn/hideme/auth.txt)

username
password