Für wenige Bitcoin und ohne Angabe persönlicher Details ermöglichen Anbieter wie Private Internet Access (Empfehlungslink) ein entspannteres Nutzen des Internet mit den IP Adressen ihrer VPN-Server.
Um die Einwahl via OpenVPN beim Systemstart zu automatisieren und somit die Passwortabfrage zu vermeiden, können die entsprechenden Zugangsdaten in einer einfachen Textdatei abgelegt werden.
Ein Verweis aus der OpenVPN-Client Konfigurationsdatei reicht aus um die Textdatei zu nutzen.
OpenVPN Konfigurationsdateien von Private Internet Access laden
Nach der OpenVPN Installation (Ubuntu: sudo apt-get install openvpn
) lädt man mit folgenden Befehlen das Konfigurationspaket herunter.
url='https://www.privateinternetaccess.com/openvpn/openvpn.zip'
tmpdir=`mktemp -d`
zip="${tmpdir}/openvpn.zip"
cd "${tmpdir}"
curl "${url}" > "${zip}"
unzip "${zip}" && rm "${zip}"
OpenVPN Konfigurationsdateien zur Nutzung der Credentials-Datei umschreiben
sed --in-place=_before_credentials_file \
's/auth-user-pass/auth-user-pass credentials.txt\nauth-nocache/g' *.ovpn
Credentials-Datei mit Benutzername und Kennwort erstellen
# Hier müssen die entsprechenden Daten eingetragen werden:
PIA_BENUTZERNAME=
PIA_PASSWORT=
# Daten in eine Datei schreiben
credentials_file=`mktemp`
echo "${PIA_BENUTZERNAME}\n${PIA_PASSWORT}" > ${credentials_file}
chmod go-rwx ${credentials_file}
sudo mv -i * /etc/openvpn/
OpenVPN-Verbindung aktivieren
PIA_SERVER=Sweden
sudo ln -s /etc/openvpn/${SERVER}.ovpn /etc/openvpn/pia.conf
sudo service openvpn restart
An dieser Stelle sollte die Verbindung zum gewünschten Server des VPN-Anbieters hergestellt sein.
Tipps und Tricks
Gerätename für VPN-Tunnel festlegen
Standardmäßig wird beim Verbindungsaufbau ein neues tun-Gerät verwendet.
Dadurch könnte man theoretisch zu allen VPN-Servern gleichzeitig eine Verbindung aufbauen.
Möchte man sicherstellen, dass dies unterbunden ist, vergibt man in der Konfigurationsdatei explizit einen Namen:
sed --in-place=_before_dev_rename \
's/^dev tun$/dev tunPIA/g' *.ovpn
Nun wird das tun-Gerät stets als tunPIA
benannt.
Das ist vor allem dann praktisch, wenn man den Schnittstellennamen in Skripten nutzen möchte.
Bestimmte IP Adressen von VPN-Tunnel ausnehmen
Bei manchen VPN-Anbietern muss man explizit ein Whitelisting von Mailservern beantragen, da sie ansonsten Verbindungen über die entsprechenden Ports blocken.
Möchte man den Aufwand vermeiden, oder vertraut man einer Verbindung zum Mailserver einfach mehr, kann man einzelne IP-Adressen via OpenVPN-Konfigurationsdatei am Tunnel vorbeileiten:
# IP hier angeben
AUSNAHME_IP=
echo "route ${AUSNAHME_IP} 255.255.255.255 net_gateway" | tee -a *.openvpn
Netzwerkschnittstellen elegant formatiert auflisten
# Aktive Schnittstellen auflisten
ip -family inet -oneline addr show scope global |
awk '{ printf "%s %s up\n", $2, $4 }'
# Inaktive Schnittstellen auflisten
ip -family inet -oneline link show scope global |
grep ' DOWN ' | sed 's/\://g' |
awk '{ printf "%s none down\n", $2}'