
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
- DynDNS o.ä Dienst einrichten
- 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
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:
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
Mac
Systemeinstellungen/Netzwerk/Hinzufügen VPN
und zum Schluss die Authentifizierungseinstellungen:
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
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…
Für mein Szenario reichte es. Inzwischen sollte es aber funktionieren.