PPTP VPN Tunnel von MacBookAir, Android, iPhone zu Mikrotik 750G mit RouterOS 5.6


  Nun hat es sich ergeben, dass mein Android Smartphone HTC Desire S entgegen meiner Hoffnung mehr als unbrauchbar ist, was VPN (und ein paar Dinge mehr…) angeht. Vom iPhone habe ich bisher ohne Probleme einen IPsec VPN Tunnel zur FritzBox herstellen können. Das derzeit installierte (und von HTC in der Aktualisierung vernachlässigte) Android 2.3.3 macht kein normales IPsec sondern L2TP/IPsec. Und das kann die FritzBox (die nur „reines“ IPsec macht) wiederum nicht. PPTP und OpenVPN kann das Android (und iPhone) ebenfalls auch nicht. Also musste etwas VPN-ähnliches her, was das Android ebenfalls kann. Wenn möglich natürlich auch das MacBookAir, das iPhone…

„Aus Gründen“ probiere ich mich hier an einem MikroTik 750G mit dem derzeit (August 2011) offiziellen Release RouterOS 5.6 aus. Eine sehr kleine und äußerst geniale Kiste, die alles kann, was IP macht. Naja, fast alles 😉

Die VPN Möglichkeiten sind derer vielfältig: OpenVPN, IPsec, PPTP, SSTP, LT2P.
PPTP ist somit leider quasi der einzige, kleinste gemeinsame Nenner zwischen Android, iPhone, MacBookAir und dem MikroTik Router OS. PPTP gehört schon seit Jahren nicht mehr zu den Protokollen, die man einsetzen wollen würde. Aber, es hilft leider nix ;-(
Das MacBookAir ließe sich auch mit OpenVPN einrichten und über dieses ein VPN Tunnel herstellen. Die Vorbereitungen, d.h. der benötige OpenVPN Server wären ja da. Aber wenn man das nicht über auf den Smartphones einsetzen kann, ist es auch unnötig. Als zusätzliche oder alternative Anbindung kann es ja bestehen bleiben.
Also beiße ich in den sauren Apfel und erstelle mir einen PPTP Zugang, um von remote wieder in mein LAN zu kommen. Und auch gleich, um darüber ins Internet und auch den OpenVPN Tunnel zu kommen. Somit also gar nicht sooo schlimm, auch wenn man sicherheitsrelevante Verbindungen sicherlich nicht über den PPTP Tunnel fahren wollen würde. Da hätte ich schon immense Bauchschmerzen. Aber das ist eine andere Geschichte…

Zum Aufbau:
Die FritzBox terminiert das Internet und wählt sich per PPPoE ins Internet ein. Der MikroTik Router ist wiederum an die FritzBox angeschlossen. Ein LAN Port des MikroTik ist quasi der Weg ins LAN (nachfolgend „Uplink Port“). An die anderen Ports des MikroTik sind derzeit keine weiteren Geräte dauerhaft angeschlossen, die LAN Ports sind als Switchports konfiguriert.
LAN Port 1 ist mit einer festen IP Adresse (IP -> Adresses; zugeordneter Switchport) aus dem normalen LAN (wir nennen es mal Intranet) konfiguriert. Ein zweiter LAN Port des MikroTik erhält eine IP Adresse aus einem ganz anderen IP Bereich und dient der Einrichtung u.a. der Firewall. Auf diesem wird ein DHCP Server eingerichtet, der IP Adressen vergibt. An den damit für den „internen Gebrauch“ konfigurierten LAN Port wird erstmal ein Laptop zur Konfiguration angeschlossen. Somit kann man die Firewall-Regeln anpassen und sägt sich bei einem Fehler nicht gleich den Ast ab 😉
Hat man den MikroTik so eingerichtet, dass man zur Not auch noch per SSH o.ä. vom Intranet drauf kommt, kann man sich das natürlich auch sparen.


Vorbereitung für den PPTP Server auf MikroTik RouterOS

  Damit ein neuer PPTP Server-Account genutzt werden kann muss der PPTP-Server-Dienst unter PPP -> PPTP Server aktiviert werden. Ebenfalls werden hier die Arten der Authentifizierung festgestellt sowie MTU & Co. eingestellt:

Es reicht leider nicht aus, einen neuen PPTP Server-Account anzulegen. Der Client kann sich nicht verbinden können.


Einrichten eines PPTP-Zugangs auf dem MikroTik per WebFig unter RouterOS 5.6

  Den Benutzern (Clients) weise ich statische IP Adressen zu. Dieses macht es nachher einfacher, Firewallregeln und ähnliche Dinge zu regeln. Man möchte ja vll. auch Benutzer haben, die nur per VPN und dann ins Internet, jedoch nicht ins Intranet kommen sollen.
Unbedingt default-encryption wählen. PPTP ist ja schon nicht der Hit. Aber ohne Verschlüsselung (gut, die ist auch eher einfach zu knacken) wäre das alles noch viel sinnfreier. So hat man zumindest MPPE128 Verschlüsselung. Besser als gar nix…

PPP > Secrets > Add new
Name: irgendeinbenutzername
Password: einMoegl1chstSIcher3sPazzworD
Service: pptp
default profile: default-encryption
Local Address: 192.168.1.1
Remote Address: 192.168.1.123

(Das IP Netz ist völlig unabhängig vom eigentlichen Intranet-IP-Bereich. Hier kann man sich frei auslassen und ein für sich brauchbares Netz wählen. Überschneidungen mit anderen IP Netzen sollte man natürlich vermeiden.)

Der Client kann sich nun mit seiner Benutzer-Passwortkombination anmelden. Zum Testen kann man nun einfach mal einen Rechner am internen LAN Port des MikroTik anschließen und den PPTP Zugang auf die (für die Switchports konfigurierte) IP des Routers verbinden. Das sollte schon einmal funktionieren. Klappt es, so ist der erste Schritt erfolgreich erledigt und man kann sich um die Firewall für den Uplink-Port kümmern.


Firewallregeln

  Der Router soll natürlich nicht alles von außen erlauben. Wie es sich gehört wird erstmal alles verboten. Wir machen in der Firewall nun die für den PPTP Zugang nötigen Ports auf, so dass man aus dem Intranet (also dem Netz, was an den Uplink-Port angeschlossen ist) per PPTP zugreifen können.
Zwei Regeln unter IP -> Firewall sind nötig, damit die PPTP Verbindung erfolgreich auf dem MikroTik ankommen kann und nicht direkt geblockt wird:

Chain: Input
Protocol: 6 (tcp)
Dst. Port: 1723
In. Interface: Name des Uplink Ports
Action: accept

Chain: Input
Protocol: 47 (GRE)
In. Interface: Name des Uplink Ports
Action: accept

Diese Regeln werden irgendwo sinnvoll zwischen der ersten und vor der letzten Regel (deny-any) durch drag&drop einsortiert. Ist man sehr restriktiv empfiehlt es sich, die Regeln vor allen deny-Regeln einzusortieren. Fertig.

Firewall MikroTik RouterOS 5.6

Zum Testen kann man nun versuchen, sich per PPTP aus dem Intranet zu verbinden. Hat man alle Regeln korrekt eingerichtet wird die PPTP Verbindung erfolgreich aufgebaut. Firewall und PPTP Zugang sind somit korrekt eingerichtet. Bingo 😉


Portweiterleitung aus dem Internet über die FritzBox auf den MikroTik

  Funktioniert der PPTP Tunnel aus dem Intranet, so hat man schon ein gutes Stück geschafft. Nun gilt es, die FritzBox zu überzeugen, die Verbindungen aus dem Internet anzunehmen und an den MikroTik Router weiterzuleiten.
Hierzu sind auf der FritzBox ein paar Portweiterleitungen einzurichten, die sich unter Internet -> Freigaben -> Portfreigaben finden. Dort sind zwei Einträge anzulegen, einer für GRE (Generic Routing Encapsulation), einer für Port 1723 (die PPTP Kontrollverbindung).
Router, die die Option „VPN Passthrough“ unterstützen brauchen diese Einstellungen nicht. Einfach aktivieren, dann sollte das auch ohne Probleme gehen.

Portfreigabe für die Kontrollverbindung:

Portfreigabe aktiv für: Andere Anwendung
Bezeichnung: PPTP Kontrollverbindung zu MikroTik (oder irgendein anderer Name für die Verbindung)
Protokoll: TCP
von Port: 1723
an Computer: Manuelle Eingabe der IP Adresse
an IP Adresse: 192.168.178.123
an Port: 1723

(Hier nehme ich exemplarisch die IP 192.168.178.123 als IP des MikroTik. Diese ist entsprechend dein eigenen Begebenheiten anzupassen.)


Und die GRE Verbindung wird wie folgt eingerichtet:

Portfreigabe aktiv für: Andere Anwendung
Bezeichnung: PPTP GRE-Verbindung zu MikroTik (oder irgendein anderer Name für die Verbindung)
Protokoll: GRE
an Computer: Manuelle Eingabe der IP Adresse
an IP Adresse: 192.168.178.123

(Auch hier ist die IP 192.168.178.123 entsprechend den eigenen Begebenheiten anzupassen.)


Das sieht auf der FritzBox dann so aus:



Die Porweiterleitung sollt nun alle Anfragen auf dem entsprechenden Port bzw. dem entsprechenden Protokoll zum MirkoTik Router weiterleiten.Ein Verbindungsversuch dem Internet per PPTP kommt nun auf dem MikroTik an. Hier kann man entweder in den Logs oder beispielsweise der Firewall unter den empfangenen Paketen eine Erhöhung sehen.


Einrichtung auf dem MacBook Air/ Mac OS-X 10.7

  Die Einrichtung beschränkt sich natürlich nicht nur auf ein MacBook Air. Da dieses jedoch bei mir das portable MacBook ist, was ich unterwegs mit VPN nutze, bezieht sich die Beschreibung auf das „Air“. Die PPTP-VPN Einrichtung sollte bei jedem anderen, MacOS-X 10.7 Gerät identisch sein. Auch Einrichtungen unter OS-X 10.6 und älter sollten nach dieser Anleitung einwandfrei funktionieren (oder zumindest die richtigen Hinweise geben)…
Einstellungen -> Netzwerk, hier unten auf das Pluszeichen. In dem darauffolgenden Fenster kann man sich einen Namen für die Verbindungen wählen, als Verbindungstyp PPTP.



Danach sind die Einstellungen für den PPTP Host, Benutzername und Verschlüsselungsstärke zu setzen:


Und das Passwort unter Authentifizierungseinstellungen eingeben, abspeichern.


Wenn mit diesen Einstellungen die PPTP aus dem internen Netz funktioniert, so kann die Serveradresse auf die externe (feste) IP Adresse (sofern vorhanden) oder einen DNS (auch dynamische DNS Dienste wie DynDNS.org usw.) Namen umgestellt werden.

Der VPN Tunnel kann über das in der oberen Statuszeile befindliche VPN Symbol einfach gestartet und beendet werden. Über den laufenden Timer ist man bestens im Blick, wie lange der Tunnel schon up ist.


Einrichtung auf dem Android

  Da dieses ganze Konstrukt nur wg. des Android-Smartphones entstanden ist, hier also endlich noch ein paar Infos zur Einrichtung unter Android…

Unter Einstellungen -> Drahtlos und Netzwerke -> VPN Einstellungen wird über „VPN hinzufügen“ ein neuer VPN Zugangspunkt definiert:
VPN-Name: irgendein Name für die Verbindung
VPN-Server festlegen: Der DNS, dynamische DNS Name oder eine feste, öffentliche IP Adresse
Verschlüsselung aktivieren: aktivieren

Abspeichern. Versucht man sich nun zu verbinden wird noch der Benutzername und das Passwort abgefragt. Beides eingeben, den Haken bei „Benutzername speichern“ setzen. Fertig.

(Und wenn es unter Android eine Möglichkeit gäbe, einfach und schnell und ohne Zusatzapp und ohne sein Android rooten zu müssen einen Screenshot zu erstellen, dann wäre dieser Screenshot hier zu sehen. Das ist aber wohl auch nicht vorgesehen, braucht ein Android-Nutzer wohl nicht „von Haus“ aus….)


Einrichtung auf dem iPhone

  Wie auch andere VPN Einstellungen wird die PPTP Verbindung unter Einstellungen -> VPN -> VPN hinzufügen neu angelegt (oder eine eingerichtete Verbindung verändert).


Der DNS Name (hier beispielhaft: irgendeinDNSname.tld) muss mit der externen IP Adresse oder einem DNS Namen (auch DynDNS Dienste) konfiguriert werden.

Eine bestehende VPN Verbindung wird einem in der Statuszeile mit dem VPN Symbol angezeigt. Leider fehlt den Einstellungen auf dem iPhone die Möglichkeit, eine Verbindung „dauerhaft“ aufzubauen. Schön wäre es, wenn man angeben kann, dass das Gerät immer (sofern irgendwie Internet da ist), den Tunnel aufbauen und bestehen lassen soll. Aber, man darf hoffen, dass das irgendwann vll. auch noch mal kommt…


Proxy oder kein Proxy?

Möchte man die Datenbandbreite /-volumen von unnötigen Werbebannern, Zählpixeln und sonstigem Datenmüll befreien und hat einen Proxyserver, so kann unter Proxy dieser eingetragen werden. HTTP-Verbindungen werden dann bei bestehender VPN Verbindung automatisch über den Proxy geschoben, man bekommt im Browser nur noch gesäuberte Inhalte. Das spart z.T. Zeit bei der Übertragung und verringert auch die zu übertragenden Daten. Lohnt sich nicht immer, aber für weniger Werbung sicherlich eine gute Udee.


Probleme

  – Ein Problem bei den VPN Verbindungen speziell vom iPhone (und eingeschränkt auch vom Android) nerven mich: Die Verbindung wird nicht dauerhaft aufrecht erhalten. Gerade beim iPhone nervt es, da dieses schon nach kurzer Zeit der Inaktivität die VPN Verbindung beendet. Das Android ist dort etwas besser und lässt den Tunnel auch länger bestehen. Nicht immer auch netzübergreifend (Wechsel beispielsweise vom WLAN in UMTS und zurück), trotzdem schon deutlich länger und besser als das iPhone. Und vor allem auch, wenn das Android einfach im WLAN dauerthaft eingebucht ist aber nicht wirklich genutzt wird. Damit kann man dann sogar schon über einen SIP-Softphone Client nachdenken, der eine SIP Verbindung durch den Tunnel aufbaut. Man sollte sich aber sicherlich nicht drauf verlassen und davon ausgehen, dass der Client „immer“ angemeldet ist und man somit über seine SIP Rufnummer (beispielsweise an der FritzBox) erreichbar ist.

  – PPTP Verbindung kann nicht aufgebaut werden, da der PPTP Server nicht antwortet?
Der PPTP Server-Dienst muss erstmal grundsätzlich aktiviert und die Art der „Verschlüsselung“ des Passwortaustausches eingerichtet werden. Dieses kann unter PPP -> PPTP Server vorgenommen werden. Leider aktiviert sich dieses nicht automatisch sobald man einen PPTP Server einrichtet. Etwas verwirrend, dass dieses doppelt vorgenommen werden muss…

  – Die Verbindung kann nicht aufgebaut werden (Passwort kann nicht geprüft werden)
Abermals die Einstellungen des PPTP Servers und PPP -> PPTP Server prüfen. Als Verschlüsselungsart wird Default-encryption genommen, bei Authentication stehen PAP/ CHAP/ mschap1 und mschap2 zur Auswahl. Hier muss man prüfen, was der Client unterstütz. Alternativ alles aktivieren.


Fazit

  Wenn man sicher und ohne große (Sicherheits)Probleme eine VPN Verbindung aufbauen möchte, würde ich selbstverständlich OpenVPN oder IPsec bevorzugen. Ist das nicht (aus welchen Gründen auch immer) einrichtbar, muss man sich halt andere VPN Verbindungen einfallen lassen.
PPTP ist hierbei leider nur eine Notlösung. Das Protokoll, der Verbindungsaufbau usw. ist schon lange nicht mehr state-of-the-art. (Und von Microsoft.) Seit Jahren gibt es sichere, deutlich bessere VPN Protokolle. Diese sollte man immer bevorzugen. Gibt es keine andere Wahl, so kann man natürlich auch auf PPTP zurückgreifen. Aber man sollte sich immer der Problematik bewusst sein die man hiermit eingeht. Für Verbindungen, die man über ein offenes WLAN einigermaßen sicher verschlüsselt haben möchte, ist es OK. Also dann, wenn man in einem offenen WLAN seine komplette IP Kommunikation einigermaßen gesichert übertragen möchte Aber für alles, was sicher ein soll ist es keien Lösung. Dafür ist das gesamte Protokoll lange überholt…. Und es kommt ursprünglich aus dem Hause „Microsoft“. Das würde mich ja normalerweise schon von sowas abhalten……….

Eine kleine, äußerst geniale Kiste ist der MikroTik Router. Und das wird sicherlich nicht der letzte Blogpost über den sein. Schließlich bietet der (was IP angeht) alles, was man braucht. Und zum Rumspielen und Experimentieren ist der einfach klasse… 😉


Dieser Beitrag wurde unter Android, Apple Mac & Co., Dokus und Tipps, FritzBox, iPhone, Technikspielkram abgelegt und mit , , , , , , , , , , , , , , , , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*