Stunnel unter Android mit OpenVPN einrichten (AirVPN)

Problemstellung

Restriktive Firewalls blocken die Verwendung von OpenVPN. Eine Möglichkeit Firewalls auszutricksen ist einen VPN Server zu verwenden der den TCP Port 443 benutzt. Das funktioniert deshalb weil der HTTPS Verkehr auch auf diesem Port läuft und die Verwendung von HTTPS kann nicht blockiert werden (weil sonst sehr viele Seiten nicht mehr aufrufbar sind).

Manche Firewall gehen aber noch weiter: sie schauen sich die Pakete genau an (Deep Packet Inspection) und können HTTPS und OpenVPN unterscheiden. Dadurch können OpenVPN Pakete blockiert werden obwohl sie tcp/443 benutzen.

stunnel

Realitätsabgleich

Wo werden Pakete gefiltert? Dazu gibt es eine informative Seite mit einer Weltkarte. Das sind Länder die zensieren. Es gibt aber auch private Dienstleister die diese Methoden verwenden. Konkret ist mir das in einem spanischen Hotel und auf dem römischen Flughafen passiert. Einmal war nur tcp/443 möglich, ein anderes mal ging OpenVPN gar nicht. Es ist also keine Sache die sehr selten ist.

Lösung: Stunnel!


Ich verwende bewusst AirVPN da man damit durch diese Firewalls durchkommt. Die Windows App liefert schon alles mit. Kompliziertes wird es bei Android. Aber auch dafür gibt es im AirVPN Forum eine gute Anleitung die ich “verfilmt” habe.

Stunnel funktioniert deshalb weil er eine echte HTTPS Verbindung aufbaut.

Anleitung

Als erstes müssen folgende Apps auf dem Handy installiert sein:

Im Config Generator von AirVPN müssen folgende Dateien erzeugt werden:

  • OpenVPN Konfigurationsdatei
  • SSL Zertifikat
  • SSL Konfigurationsdatei

Die genaue Vorgehensweise dazu findet man im Video. Die drei Dateien müssen auf das Android Gerät kopiert werden.

Nun startet man den SimpleHttpServer und sucht sich den Link zur *.crt Datei und kopiert diesen in die Zwischenablage.

stunnelNun startet man die “Tunnel” App und importiert das Zertifikat mittels des kopierten Links.

Nun legt man in der Tunnel App eine neue Verbindung an. Die Daten die hier eingegeben werden müssen aus der *.ssl Datei entnommen werden. Ansonsten kann man sich an dem Screenshot orientieren. Danach kann der stunnel gestartet werden.

Nun startet man noch OpenVPN und importiert das heruntergeladene Profil von AirVPN. Nun kann man sich mit OpenVPN verbinden. Damit ist jetzt eine Verbindung mittels stunnel und OpenVPN hergestellt.