Dies ist eine alte Version des Dokuments!
Exit-VPN
Normalerweise wird das VPN mit OpenVPN gemacht, also erstmal das installieren:
aptitude install openvpn
Wichtiger Hinweis:
Immer sicherstellen, daß in der Konfiguration die Option route-noexec
eingestellt ist. Damit wird insbesondere keine Default-Route über das Exit-VPN
gesetzt. Vergißt man die Einstellung und startet die VPN-Verbindung, so schließt
man sich vom Server aus. Dann hilft meistens nur noch Booten in den Rettungsmodus.
IPv6-Unterstützung:
OpenVPN allgemein
Der zu verwendende Exit wird in /etc/default/openvpn
festgelegt
Der dort eingetragene Name kennzeichnet die Konfigurationsdatei unter etc/openvpn
, für die zu verwendende Datei wird das Suffix .conf
angehängt
Jedes ExitVPN wird in einem eigenen Unterverzeichnis verwaltet, unter /etc/openvpn
befinden sich nur Links zu den jew. Konfiguraionsdateien
In der ersten Zeile der Konfigurationsdatei wird das verwendete Land eingetragen. Das ist dann für Scripte auswertbar. Z.B. für Alfred.
Up- und Down Scripte
- /etc/openvpn/exitvpn-up
#!/bin/bash
ip route replace 0.0.0.0/1 via $4 table freifunk
ip route replace 128.0.0.0/1 via $4 table freifunk
# Prüfe, ob der Parameter angegeben sind. $1 ist der Provider.
# Falls nicht, versuche den Provider aus der Konfiguration zu ermitteln
if [ $# -eq 0 ]; then
VPNCONF=$(grep -e "^AUTOSTART=" /etc/default/openvpn)
PROVIDER=$(sed -e 's/^"//' -e 's/"$//' <<< ${VPNCONF#*=})
else
PROVIDER=$1
fi
# Masquerading Regel überprüfen und ggf. korrigieren
FWRULE=$(iptables --line-numbers -t nat -vnL | grep MASQUERADE | head -n 1 | awk '{$1=$1};1')
NATIF=$(echo "$FWRULE" | cut -d' ' -f 8)
RULENO=$(echo "$FWRULE" | cut -d' ' -f 1)
if [ "$NATIF" != "$PROVIDER" ]; then
logger -t exitvpn[$$] "change firewall interface from '$NATIF' to '$PROVIDER' (rule #$RULENO)"
iptables -t nat -D POSTROUTING $RULENO
iptables -t nat -A POSTROUTING -o $PROVIDER -j MASQUERADE
fi
exit 0
- /etc/openvpn/exitvpn-down
#!/bin/bash
# Prüfe, ob Parameter angegeben sind. $1 ist der Provider.
# Falls nicht, versuche den Provider aus der Konfiguration zu ermitteln
if [ $# -eq 0 ]; then
VPNCONF=$(grep -e "^AUTOSTART=" /etc/default/openvpn)
PROVIDER=$(sed -e 's/^"//' -e 's/"$//' <<< ${VPNCONF#*=})
else
PROVIDER=$1
fi
# Masquerading Regel entfernen
FWRULE=$(iptables --line-numbers -t nat -vnL | grep MASQUERADE | head -n 1 | awk '{$1=$1};1')
NATIF=$(echo "$FWRULE" | cut -d' ' -f 8)
RULENO=$(echo "$FWRULE" | cut -d' ' -f 1)
if [ "$NATIF" == "$PROVIDER" ]; then
logger -t exitvpn[$$] "removing firewall interface '$NATIF' (rule #$RULENO)"
iptables -t nat -D POSTROUTING $RULENO
fi
exit 0
Mullvad
Mullvad kostet 5€ je Monat. Am besten einen Briefumschlag nehmen, die Mullvad-ID auf eine A4-Seite drucken, einen Geldschein hineinlegen. Frankieren mit 90ct und nach Schweden senden. Schön anonym
Die Dateien für Mullvad werden in das Verzeichnis /etc/openvpn/mullvad
abgelegt:
ca.crt
, crl.pem
, mullvad.crt
, mullvad.key
, sowie mullvad.conf
- mullvad.conf
## ExitCountry = NL
client
dev-type tun
dev mullvad
proto udp
remote nl.mullvad.net
resolv-retry infinite
nobind
persist-key
persist-tun
comp-lzo
verb 3
remote-cert-tls server
ping-restart 60
script-security 2
route-noexec
up /etc/openvpn/exitvpn-up
ping 10
ca /etc/openvpn/mullvad/ca.crt
cert /etc/openvpn/mullvad/mullvad.crt
key /etc/openvpn/mullvad/mullvad.key
#!/bin/sh
ip route replace 0.0.0.0/1 via $4 table freifunk
ip route replace 128.0.0.0/1 via $4 table freifunk
exit 0
EarthVPN
Die Administration des EarthVPN-Zugangs wird von Henry durchgeführt.
http://www.earthvpn.com/
Dieser VPN-Zugang wird momentanvon gate01 genutzt.
oVPN.to
Dieser Zugang wurde 2015 für ein Jahr gesponsert, 2016 ebenfalls.
Aktuell genutzt von gate03
.