IP Binding auf OpenVPN IP Adressen

Beitrag vom 14.10.2015

Ich betreibe einen kleinen 3-Euro-vServer als Proxy. Der Server ist aus dem offenen Internet mit keinem einzigen Dienst erreichbar. Selbst der SSH Service ist an die IP Adresse des VPN Interface gebunden.

Immer wieder war der Server dann über das VPN Netzwerk nicht mehr erreichbar. Bisher hatte ich auch nicht herausgefunden wieso. Ein Neustart war einfacher, als sich dem Problem mal wirklich anzunehmen.

Ursache

Die VPN Verbindung zu mir nach Hause bricht ab und zu mal zusammen. Logisch, wenn man einen normalen DSL/Kabel Anschluss hat. Da der Proxy Server selbst nur ein Client in dem VPN Netz ist, verliert dieser auch die VPN IP Adresse beim disconnect.

Dienste wie OpenSSH oder Squid scheinen das gar nicht zu mögen, wenn diese direkt auf die VPN IP Adressen horchen. Eine Kommunikation ist erst wieder möglich, wenn die Dienste (und nicht der ganze Server) kurz durchgestartet werden.

Lösung

Man kann OpenVPN ein Script ausführen lassen, wenn die Verbindung hergestellt ist. Vorher muss allerdings in den Einstellungen des OpenVPN Client die Script Security heruntergesetzt werden. In Debian geht dies über das passende defaults-File:

# /etc/default/openvpn
OPTARGS=" --script-security 2 "

Anschließend einfach ein Shellscript in der OpenVPN Verbindungskonfiguration hinterlegen:

# /etc/openvpn/tun0.conf
up /etc/openvpn/onup.sh

In dem Script dann einfach die entsprechenden Restart-Befehle definieren.

Das Script wird jedes mal ausgeführt, wenn die VPN Verbindung wiederhergestellt ist. So sollte es nach einem kleinen Schluckauf keine Probleme mehr geben.

Hallo Internet

Mein Name ist Christian, vom Beruf bin ich Anwendungsentwickler.

In meiner Freizeit beschäftige ich mich mit verschiedensten Technologien. Hier sammele ich Dinge, die für mich interessant waren oder sind.