Cisco Mikrotik VPN Standort Vernetzung mit dynamischem Routing
Inhaltsverzeichnis
1. Allgemeine Einleitung
Das nachfolgende Tutorial ist eine Fortführung der hier bei Administrator.de schon bestehenden VPN Tutorials und beschreibt eine heterogene VPN Standort Vernetzung auf Basis von IPsec zwischen Cisco Routern und Mikrotik Routern. Es deckt damit ein Szenario ab bei dem ggf. in der Zentrale ein leistungsfähiger VPN Router (Cisco) zum Einsatz kommt, in den Außenstandorten aber z.B. aus Budget Gründen preiswerte Mikrotik Router.Der Clou dieses Designs ist eine sicher verschlüsselte VPN Verbindung (IPsec im Transport Mode) über die eine GRE Tunnel Verbindung gelegt ist.
Die Verwendung von separaten GRE Tunneln bzw. Tunnel Interfaces im Vergleich zum direkten IPsec im Tunneling Mode ermöglicht den Einsatz von dynamischen Routing Protokollen wie RIPv2 oder OSPF.
Durch den vollständigen Entfall der manuellen Konfiguration statischer Routen bei Verwendung eines dynamischen Routing Protokolls, ergibt sich eine erhebliche Vereinfachung und Fehlersicherheit im Routing.
Bei einer Vielzahl von Außenstellen stellt das eine erhebliche Erleichterung der Installation und des Managements dieser remoten Netze dar.
Ferner sind damit einfache automatische Leitungs Backup Szenarien realisierbar ohne jede manuelle Intervention um z.B. gesonderte Außenstellen über eine zweite Leitung oder direkten Backup auf eine andere Außenstelle abzusichern. Gerade in Designs mit erhöhten Anforderungen wie remoter VoIP Telefonie usw. ergeben sich durch automatisches Backup und dynamisches Rerouting eine erheblich größere Betriebssicherheit.
Auch Multicast Routing (Audio- und Video Streaming) mit PIM ist über so ein Tunnel Design routebar.
Ziel ist es bei privaten oder Firmen VPNs im klein- und mittelständischen Umfeld Standort Vernetzungen ohne großes Probieren schnell zu einer funktionierenden und betriebssicheren Lösung zu kommen.
Die hier vorgestellten Beispiele und Screenshots können direkt auf bestehende Projekte übertragen werden, bei entsprechender Anpassung der IP Adressierung auf die eigenen Belange.
Die Beispiele können ebenfalls dazu dienen, solche VPN Designs auch in reinen Cisco oder Mikrotik Umgebungen zu realisieren, da die grundlegenden Konfigurations Schritte identisch sind.
In den weiterführenden Links unten findet man zusätzliche Informationen zu diesen Themen.
Generell ist diese Konfiguration auch von Laien umsetzbar. Ein klein wenig Basiswissen zum Thema IPsec VPNs generell und Cisco Command Line Interface bzw. Mikrotiks grafischer WinBox Konfig kann aber wie immer nicht schaden und hilft beim Verständnis !
Internet Testumgebung
Das Internet wird hier durch separate 10er IP Netze mit DHCP Adressvergabe simuliert. Alle VPN Router arbeiten mit ihrem WAN / Internet Port per NAT (Netzwerk Adress Translation) und einer aktiven Firewall untereinander auf diesem IP Netz. Somit genau wie im Internet bzw. über den Provider unter realen Bedingungen.Die VPN Verschlüsselung nutzt nur das aktuelle und derzeit sichere AES in einer 256Bit Variante.
Eigene IP Adressierung und ggf. WAN Port Konfigs wie xDSL müssen entsprechend angepasst werden.
Das VPN Design sieht so aus:

Dieses Design behandelt im ersten Schritt die Grundkonfiguration beider Komponenten. Die IP Adressierung hier im Tutorial:
Internet Adresse Cisco = 10.99.1.198
Internet Adresse Mikrotik = 10.1.1.150
GRE Tunnel Netz = 172.31.31.8 /30 (Cisco=172.31.31.9, Mikrotik=172.31.31.10)
Lokale LANs gemäß o.a. Abbildung.
Das Tunnel Netz ist ein Punkt zu Punkt Netz. Deshalb kommen hier immer /30er Netze (30er Prefix = 255.255.255.252 Subnetzmaske) mit 2 nutzbaren Hostadressen zum Einsatz.
Im zweiten Schritt des Tutorials wird ein zweiter Mikrotik Standort eingebunden und die Cisco sowie die Mikrotik Seite mit weiteren lokalen VLAN IP Netzen erweitert, um ein mehr Realitäts bezogenes Setup zu zeigen. Dazu später mehr...
Los gehts....
2. Cisco Router Setup
Das Tutorial geht bewusst nicht mehr im Detail auf ein Standard Internet Setup ein was den Rahmen dieses Tutorial sprengen würde. Aus Gründen der Übersicht wird dies vorausgesetzt bzw. kann vom hiesigen Cisco_Grundlagen_Tutorial einfach übernommen werden. Es gilt für alle Cisco IOS basierten Modelle.Es wird hier lediglich die VPN und GRE Tunnel Konfiguration in Verbindung mit einer Zone Based Firewall beschrieben die zur Konfiguration nötig sind.
(Alle hier rot markierten Konfig Parameter betreffen das erweiterte Design in Kapitel 6 für mehrere Standorte und zusätzliche lokale (V)LANs. Diese zusätzlichen lokalen LAN Netzwerke können in einem einfachen Design mit 2 Standorten und je einem einzigen lokalen LAN gem. der Zeichnung von oben natürlich weggelassen werden.
Kommentare zur Cisco Konfiguration in schwarz.)
!
hostname cisco_router
!
aaa new-model
!
aaa authentication login default local
aaa authorization network default local
!
clock timezone CET 1 0 ==> Uhrzeit auf Europa / Sommerzeit setzen
clock summer-time CEST recurring last Sun Mar 2:00 last Sun Oct 3:00
!
ip dhcp binding cleanup interval 600
ip dhcp excluded-address 192.168.77.1 192.168.77.100
ip dhcp excluded-address 192.168.77.150 192.168.77.254
!
ip dhcp pool LAN ==> DHCP Server für lokales LAN
network 192.168.77.0 255.255.255.0
dns-server 192.168.7.254
domain-name cisco.home.arpa
default-router 192.168.77.1
!
ip domain lookup source-interface Ethernet1
ip domain name cisco.home.arpa
ip name-server <DNS IP-Adresse>
ip inspect log drop-pkt ==> Logging der von der Firewall geblockten Pakete
!
class-map type inspect match-any internet-allowed ==> Festlegen der vom Internet erlaubten Pakete durch die Firewall
description Zugriff vom Internet erlauben
match access-group name WAN_IN
class-map type inspect match-any lan-allowed ==> Festlegen der vom LAN erlaubten Pakete durch die Firewall
description Lokale LAN Protokolle ins Internet erlauben
match protocol dns
match protocol http
match protocol https
match protocol imaps
match protocol smtp extended
match protocol sip-tls
match protocol rtsp
match protocol ssh
match protocol ntp
match protocol tcp
match protocol udp
match protocol icmp
!
policy-map type inspect lan-allowed-policy ==> Firewall Policy Lokales LAN zu Internet
description LAN zu Internet Policy
class type inspect lan-allowed
inspect
class class-default
drop
policy-map type inspect internet-allowed-policy ==> Firewall Policy Internet zu Router
description Internet zu Router Policy
class type inspect internet-allowed
pass
class class-default
drop
!
zone security lan
zone security wan
zone-pair security lan-wan source lan destination wan
description Firewall LAN-Internet
service-policy type inspect lan-allowed-policy
zone-pair security wan-self source wan destination self
description Firewall Internet-Router
service-policy type inspect internet-allowed-policy
!
crypto keyring MTVPN
pre-shared-key address 10.1.1.150 key test123
pre-shared-key address 10.99.1.149 key geheim123 ==> Zweiter VPN Router (Kapitel 6)
!
crypto isakmp policy 10 ==> Festlegen der IPsec Schlüsselparameter
encr aes 256
hash sha256
authentication pre-share
group 14
!
crypto isakmp profile Mikrotik-1 ==> Verbindungsparameter Mikrotik 1
description IPsec Mikrotik-1
keyring MTVPN
match identity address 10.99.1.149 255.255.255.255
crypto isakmp profile Mikrotik-2 ==> Verbindungsparameter Mikrotik 2
description IPsec Mikrotik-2
keyring MTVPN
match identity address 10.1.1.150 255.255.255.255
!
crypto ipsec transform-set mikrotik esp-aes 256 esp-sha256-hmac
mode transport
!
crypto map mikrotik 10 ipsec-isakmp
description IPsec Mikrotik-2
set peer 10.1.1.150
set transform-set mikrotik
set isakmp-profile Mikrotik-2
match address 107 ==> Alles was diese ACL definiert wird IPsec verschlüsselt
crypto map mikrotik 15 ipsec-isakmp
description IPsec Mikrotik-1
set peer 10.99.1.149
set transform-set mikrotik
set isakmp-profile Mikrotik-1
match address 108
!
interface Tunnel0 ==> GRE Tunnel Interface
description GRE zu Mikrotik-2
ip address 172.31.31.9 255.255.255.252
ip mtu 1400
zone-member security lan
tunnel source 10.99.1.198
tunnel destination 10.1.1.150
tunnel path-mtu-discovery
!
interface Tunnel1
description GRE zu Mikrotik-1
ip address 172.31.31.1 255.255.255.252
ip mtu 1400
zone-member security lan
tunnel source 10.99.1.198
tunnel destination 10.99.1.149
tunnel path-mtu-discovery
!
interface Vlan1
description Lokales LAN
ip address 192.168.77.1 255.255.255.0
ip nat inside
ip virtual-reassembly in
zone-member security lan
!
interface Vlan10
description Lokales VLAN-10
ip address 192.168.177.1 255.255.255.0
ip nat inside
ip virtual-reassembly in
zone-member security lan
!
interface Ethernet 1
description Internet / WAN Verbindung
ip address dhcp ==> (10.99.1.198)
no ip redirects
no ip unreachables
ip nat outside
zone-member security wan
crypto map mikrotik
!
router rip ==> Dynamisches RIP Routing mit Version 2 ! aktivieren
version 2
passive-interface default
no passive-interface Tunnel0
no passive-interface Tunnel1
network 172.31.0.0 ==> Netzwerke in klassischer Notation A,B,C angeben
network 192.168.77.0
network 192.168.177.0
no auto-summary ==> WICHTIG ! Aktiviert CIDR Masken
!
ip dns server ==> Cisco ist hier DNS Proxy. (Entfällt bei lokalem DNS Server !)
ip nat inside source list 101 interface Ethernet 1 overload
!
ip access-list extended WAN_IN
permit icmp any any echo-reply
permit icmp any any packet-too-big
permit icmp any any time-exceeded
permit udp any eq bootps any
permit udp any any eq isakmp
permit udp any any eq non500-isakmp
permit esp any any
permit gre any any
permit udp any eq domain any
permit tcp any eq domain any
permit udp any eq ntp any
!
access-list 101 deny ip 192.168.77.0 0.0.0.255 172.16.0.0 0.15.255.255 ==> VPN Traffic in lokale private IP Netze vom NAT ausgenommen (Tunnel)
access-list 101 deny ip 192.168.77.0 0.0.0.255 192.168.0.0 0.0.255.255
access-list 101 deny ip 192.168.177.0 0.0.0.255 172.16.0.0 0.15.255.255 ==> VLAN-10 VPN Traffic dto. vom NAT ausgenommen (Tunnel)
access-list 101 deny ip 192.168.177.0 0.0.0.255 192.168.0.0 0.0.255.255
access-list 101 permit ip 192.168.77.0 0.0.0.255 any Alles andere per NAT ins Internet
access-list 101 permit ip 192.168.177.0 0.0.0.255 any Dto. für VLAN-10
access-list 107 permit gre host 10.99.1.198 host 10.1.1.150 ==> GRE Traffic (IP 47) zu Mikrotik-2 IPsec verschlüsselt ##
access-list 108 permit gre host 10.99.1.198 host 10.99.1.149 ==> GRE Traffic (IP 47) zu Mikrotik-1 IPsec verschlüsselt ##
!
ntp server ntps1-0.cs.tu-berlin.de source Ethernet 1 ==> Router Uhrzeit einstellen per NTP (Referenz TU Berlin)
!
end
3. Mikrotik RouterOS Setup
3.1 Default Konfiguration
Der Mikrotik Router kann für eine Grundkonfiguration im Default Setup verbleiben. Im Default Setup ist der Port ether 1 ein Internet (WAN) Port mit Firewall und NAT (IP Adress Translation) und arbeitet als DHCP Client. Er erhält also automatisch eine IP Adresse wenn man ihn in ein Netzwerk mit DHCP Adressbergabe steckt an diesem Port.Dadurch, das in der Default Konfig eine sichere Firewall am ether1 Port arbeitet, geht man hier auch sicherheitstechnisch absolut auf Nummer sicher was den Schutz von außen anbetrifft !
Man kann den Mikrotik auch im Menüpunkt "System -> Reset Configuration" mit einem Werksreset (Haken bei "Default Configuration") in diesen Default Zustand bringen.
Default Konfiguration

3.2 Interface und IP Adress Konfiguration
Im ersten Schritt richtet man dazu unter Interfaces - GRE ein Tunnel Interface ein.Tunnel Interface einrichten und der "LAN" Interface Liste hinzufügen:


IP Adressen der Interfaces setzen:

3.3 IPsec Schlüsselparameter setzen
Der Mikrotik bietet die Option ein separates IPsec Policy Profil für die Phase 1 und 2 zu setzen. Wer möchte kann das natürlich machen.Einfacher und übersichtlicher ist es aber die schon bestehenden Default Profile im Mikrotik von Altlasten (3DES und SHA1) zu befreien und die modernere und sichere AES Verschlüsselung zu setzen. Damit können die Default Profile dann einfach beibehalten werden.
IPsec Peer Profil (Phase 1) einstellen

IPsec Policy Profil (Phase 2) einstellen

IPsec Peer auf den Cisco einrichten

(Für Mikrotik-2 aus Kapitel 6 entsprechend das Passwort: geheim123 )
IPsec Peer Policies einstellen

(Adressen für Mikrotik-2 (Kapitel 6) entsprechend anpassen !)
Wenn hier der Phase 2 Status auf "Established" geht, ist die IPsec Verbindung OK. Der Cisco Router zeigt dann im Gegenzug mit show crypto isakmp sa den QM_IDLE Status an.
cisco_router#sh crypto isakmp sa
IPv4 Crypto ISAKMP SA
dst src state conn-id status
10.99.1.198 10.1.1.150 QM_IDLE 2002 ACTIVE
10.1.1.150 10.99.1.198 QM_IDLE 2001 ACTIVE
4. Dynamisches Routing mit RIPv2 Protokoll
Generell kann hier jedes beliebige, dynamische Routing Protokoll verwendet werden. Ein Distance Vector Protokoll wie OSPF ist hier also durchaus auch eine Option sofern dies gefordert ist.Das Tutorial beschreibt hier der Einfachheit halber ein einfaches Next Hop Protokoll wie das bekannte RIP (Routing Information Protocol) in der Version 2.
RIP ist auch in KMU Modellen von L3 Switches und Routern sowie in so gut wie allen Firewalls sehr weit verfügbar. OSPF eher mehr im High End Bereich. (Bei entsprechendem Interesse (PM) kann das Tutorial um ein OSPF Kapitel erweitert werden.)
Ganz wichtig ist das hier unbedingt und zwingend die Version 2 von RIP aktiviert wird !!!
Nur RIPv2 kann mit CIDR_Subnetzmasken umgehen, also mit variablen Subnetz Masken. Diese modernen und heutzutage allseits verwendeten CIDR Masken ersetzen endgültig die alte und 1993 abgeschaffte Einteilung in feste Netzwerk Klassen.
RIPv2 auf dem Mikrotik aktivieren

Der Parameter "Passive" auf dem LAN Interface bedeutet das der Router hier keine RIPv2 Updates sendet und keine Routing Daten weitergibt.
Wer hier im LAN weitere RIPv2 Router betreibt, aktiviert hier natürlich KEINEN Passive Modus !
Zusätzlich ist es möglich die RIPv2 Routing Updates mit einem Passwort zu versehen um nicht authorisierte Router im Netz daran zu hindern Fake (Falsche) Routing Updates zu senden um so den Datenverkehr zu manipulieren.
Routing Updates werden dann nur mit Gegenstellen akzeptiert die gleiche Passwörter haben.
Kontrolle der Routing Tabelle und IP Verbindung

(DAC = Connected IP Netze, DAr = via RIPv2 dynamisch gelernt)
Cisco Router:
cisco_router#sh ip rou
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
a - application route
+ - replicated route, % - next hop override, p - overrides from PfR
Gateway of last resort is 10.99.1.254 to network 0.0.0.0
S* 0.0.0.0/0 [254/0] via 10.99.1.254
10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 10.99.1.0/24 is directly connected, Ethernet1
L 10.99.1.198/32 is directly connected, Ethernet1
172.31.0.0/16 is variably subnetted, 2 subnets, 2 masks
C 172.31.31.8/30 is directly connected, Tunnel0
L 172.31.31.9/32 is directly connected, Tunnel0
192.168.77.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.77.0/24 is directly connected, Vlan1
L 192.168.77.1/32 is directly connected, Vlan1
R 192.168.88.0/24 [120/1] via 172.31.31.10, 00:00:01, Tunnel0
cisco-router#sh ip rip database
172.31.0.0/16 auto-summary
172.31.31.8/30 directly connected, Tunnel0
192.168.77.0/24 auto-summary
192.168.77.0/24 directly connected, Vlan1
192.168.88.0/24 auto-summary
192.168.88.0/24
[1] via 172.31.31.10, 00:00:19, Tunnel0
5. Vertrauen ist gut, Kontrolle ist besser !...
Sind keine Konfigurationsfehler gemacht worden ? Ist auch wirklich alles sicher und verschlüsselt ? Latente Zweifel bleiben immer wenn man sich den Datenverkehr der Standorte nicht explizit ansieht.Eine Kontrolle ob die VPN Daten wirklich sicher verschlüsselt über öffentliche Netze (Internet) gehen ist also nie falsch und schafft Sicherheit ! Der Cisco Router zeigt die Sicherheit an:
cisco_router#sh crypto isakmp policy
Global IKE policy
Protection suite of priority 10
encryption algorithm: AES - Advanced Encryption Standard (256 bit keys).
hash algorithm: Secure Hash Standard 2 (256 bit)
authentication method: Pre-Shared Key
Diffie-Hellman group: #14 (2048 bit)
lifetime: 86400 seconds, no volume limit

Letzte Gewissheit das die Daten sicher sind schafft aber wie üblich ein Wireshark Trace:

Das ESP Paket transportiert die verschlüsselten Daten zwischen den 2 Standorten ! Works as designed...!
6. Erweiterte Standort Konfiguration mit mehreren lokalen VLANs
Ein mehr Praxis orientiertes VPN Standort Design ist eines, welches auch mehrere lokale (V)LANs berücksichtigt, denn die Mehrheit der KMU Netze sind heutzutage segmentiert. Größere sowieso. Dies muss schon aufgrund der Einführung von VoIP so sein um Voice Daten von produktiven Netzen fernzuhalten.Das Beispiel beschreibt 3 Standorte und kann beliebig auf weitere Standorte erweitert werden. Die Konfigurationsschritte sind dazu immer gleich.

Die für den Cisco Router zu erweiternden Konfigurations Kommandos für einen zweiten Standort und ein weiteres lokales LAN (VLAN 10) findet man oben rot markiert.
Die VLAN Grundkonfiguration der Mikrotiks findet man einem separaten VLAN_Tutorial
Es müssen lediglich der RIP Routing Prozess aktiviert werden und die zusätzlichen lokalen IP Netze und Interfaces dort im RIP Routing eingetragen werden.
Wird fortgeführt...
Weiterführende Links
Cisco Router Grundkonfiguration:https://administrator.de/wissen/cisco-880-890-router-konfiguration-adsl- ...
RIP Protokoll Übersicht:
https://de.wikipedia.org/wiki/Routing_Information_Protocol
https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/iproute_rip/configurat ...
https://wiki.mikrotik.com/wiki/Manual:Routing/RIP
Heterogene IPsec VPN Standort Kopplung unterschiedlicher Hersteller:
https://administrator.de/wissen/ipsec-vpn-praxis-standort-kopplung-cisco ...
Mikrotik VLAN Konfiguration:
https://administrator.de/wissen/mikrotik-vlan-konfiguration-router-os-ve ...
Mikrotik WLAN AP mit MSSID Konfiguration:
https://administrator.de/content/detail.php?id=370669&token=397#comm ...
Ähnliche Inhalte
Neue Wissensbeiträge
Heiß diskutierte Inhalte