E.T. phone home – IPSec VPN mit Mikrotik Router

E.T. hat 1982 das erste mal nach Hause telefonieren wollen, weit vor der Erfindung des heutigen Internets. Sein Problem einmal neu aufgegriffen:

Das Szenario

  • Mikrotik Router zuhause hinter nahezu beliebigem Anbieter
  • Remote Zugriff über iPhone und Mac OSX über IPsec mit preshared Key

Auf gehts in zwei Schritten

  1. DynDNS o.ä Dienst einrichten
  2. IPSec VPN konfigurieren

Voraussetzung ist ein funktionierender DynDNS Dienst oder der Mikrotik eigene DnyDNS Cloud Service (noch Beta im Dezember 2014).
Nachdem das RouterOS nicht einfach eine Einstellung für die diversen DynDNS Services hat muss ein Script her, welches regelmässig ausgeführt wird. Etwa so:

Variante 1 – Anbieter No-IP

##############Script Settings##################
:local NOIPUser „USERNAME“
:local NOIPPass „PASSWORD“
:local WANInter „ether1-gateway“
:local NOIPDomain „DOMAINNAME“

:local IpCurrent [/ip address get [find interface=$WANInter] address];
:for i from=( [:len $IpCurrent] – 1) to=0 do={
:if ( [:pick $IpCurrent $i] = „/“) do={
:local NewIP [:pick $IpCurrent 0 $i];
:if ([:resolve $NOIPDomain] != $NewIP) do={
/tool fetch mode=http user=$NOIPUser password=$NOIPPass url=“http://dynupdate.no-ip.com/nic/update\3Fhostname=$NOIPDomain&myip=$NewIP“ keep-result=no
:log info „NO-IP Update: $NOIPDomain – $NewIP“
}
}
}

Das Script muss dann nur mit dem Scheduler regelmässig ausgeführt werden.
Menü System/Scheduler

routerOSScript

Variante 2 – RouterOS Feature Cloud

Im Menü IP findet sich ab Version 6.14 der Menüpunkt „Cloud“ – dem Mikrotik eigenen DynDNS Service. Einfach zu aktivieren und in der Oberfläche wird sofort der (nicht änderbare) FQDN angezeigt:

routerOS_IPCloud
Funktioniert wie alles andere auch über die Kommandozeile:
[admin@MikroTik] /ip cloud
[admin@MikroTik] /ip cloud> set enabled=yes
[admin@MikroTik] /ip cloud> print
enabled: yes
update-time: yes
status: updated
dns-name: 123456789abc.sn.mynetname.net
public-address: 8.8.8.8

Weiter mit dem IPSec VPN – zurück ins RouterOS

/ip ipsec proposal
set [ find default=yes ] enc-algorithms=3des,aes-256-cbc

/ppp profile
add change-tcp-mss=yes local-address=x.x.x.x name=L2TP-VPN remote-address=dhcp
# meine interne IP Adresse

/ip firewall filter
add chain=input in-interface=ether1-gateway protocol=ipsec-esp
# müssen den Traffic auch reinlassen…

/ip ipsec peer
add enc-algorithm=3des exchange-mode=main-l2tp generate-policy=port-override hash-algorithm=md5 secret=GEHEIM
# wäre mit Zertifikat besser, brauchen wir später für die Clients
/ip ipsec policy
set 0 dst-address=0.0.0.0/0 src-address=0.0.0.0/0
# egal von wo – der User darf rein

/ppp secret
add name=USERNAME password=PASSWORD profile=L2TP-VPN service=l2tp
# ein Username/Password für die VPN Clients

VPN auf den Clients einrichten

iPhone
Einstellungen/VPN

IPSecVPN

Mac
Systemeinstellungen/Netzwerk/Hinzufügen VPN

MacOSXVPN1
MacOSXVPN2
und zum Schluss die Authentifizierungseinstellungen:
MacOSXVPN3
haben fertig…..

Weitere Info bei Mikrotik

DynDNS Scripte – http://wiki.mikrotik.com/wiki/Dynamic_DNS_Update_Script_for_No-IP_DNSIPsec VPN – http://wiki.mikrotik.com/wiki/Manual:IP/IPsec

Über Jörg Sahlmann 286 Artikel
Specialization is for insects

2 Kommentare

  1. Dumm nur, dass mehr als 1 Client sich per IPsec von einer Site mit dem Mirkrotik nicht verbinden können – oder Mikrotik hat es mittlerweile hinbekommen IPsec richtig in RouterOS zu implementieren…

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahren Sie mehr darüber, wie Ihre Kommentardaten verarbeitet werden .