aqui
Goto Top

IPsec VPNs einrichten mit Cisco, Mikrotik, pfSense Firewall, FritzBox, Smartphone sowie Shrew Client Software

article-picture
Dieses Tutorial beschreibt wie zwischen freien VPN Clients oder einem Cisco Router und einer externen freien Firewall Lösung (pfSense) ein VPN Tunnel mit IPsec zu realisieren ist, der eine gesichterte Verbindung zweier lokaler Netze mit privaten RFC-1918 IP Adressen über ein öffentliches Netzwerk (Internet) ermöglicht.
Das VPN kann entweder durch einen remoten Client wie z.B. den bekannten Shrew Client erfolgen oder durch eine VPN LAN zu LAN Kopplung 2er oder mehrerer Standorte. Dies entweder mit 2 pfSense Firewalls oder auch Fremdfabrikate die IPsec fähig sind was hier an 3 Routern von Cisco, Mikrotik und AVM (FritzBox) gezeigt wird.
Das Praxisbeispiel des Tutorials zeigt das auch die Hersteller unabhängige Zusammenarbeit unterschiedlicher IPsec Systeme kein Hexenwerk mehr ist.


back-to-topAllgemeine Einleitung


Das folgende Tutorial lehnt sich sehr eng an die bei Administrator.de bereits bestehenden Tutorials zur Einrichten eines mit der kostenfreien Software pfSense oder OPNsense an.
Aus diesem Grunde wird nicht mehr detailiert auf die Installation der pfSense bzw. OPNsense Firewall Software auf PC Mainbords oder embedded Mainbords (APU) an sich eingegangen, da das die o.a. Tutorials bzw. die pfSense / OPNsense Anleitungen schon abdecken.
Aktuelle Aufmerksamkeit erhalten IPsec basierende VPNs durch die Angriffe auf das weit verbreitete PPTP Protokoll für VPNs !
PPTP gilt als nicht mehr sicher !
Folglich ist dies ein mehr als triftiger Grund aus Sicherheitsgründen auf das als sicher geltende IPsec umzusteigen !!

Es wird vorausgesetzt das ein wenig Basiswissen zum Thema Cisco Command Line Interface und generell IPsec VPNs im allgemeinen vorhanden ist !
Dazu empfiehlt sich als Lektüre das Tutorial von @spacyfreak :
IPSEC Protokoll - Einsatz, Aufbau, benötigte Ports und Begriffserläuterungen
Bzw. eine Übersicht der wichtigsten Cisco IOS Kommandos: http://www.coufal.info/cisco_ios/index.shtml
Für Fortgeschrittene IOS User gibt es eine Grundkonfiguration hier die zusätzlich das Dialin für remote User mit iPhone, remoten Clients usw. beschreibt.

Eine Cisco VPN Lösung mit dem L2TP Protokoll beschreibt ein separates Cisco Tutorial.

Mittlerweile ist das Angebot auch älterer Cisco Router bei bekannten Auktionsplattformen oder Gebrauchthändlern recht groß. Auch ältere Cisco Systeme supporten mit entsprechenden IOS Images das VPN Protokoll IPsec und L2TP, so das eine Realisierung von IPsec VPN Tunneln zur Kopplung lokaler Netze und auch mobiler onboard Clients problemlos umsetzbar ist.
Auch bessere Consumer Systeme wie die von Mikrotik, Lancom, AVM oder Draytek supporten IPsec, so das man auch dorthin problemlos VPN Tunnel mit IPsec realisieren kann.
Als Beispiel kommt hier stellvertretend die freie Router/Firewall Lösung pfSense oder OPNsense zum Einsatz.
Das Tutorial berücksichtigt auch leistungsfähige und preiswerte VPN Router von Mikrotik und auch der FritzBox die ebenso IPsec benutzen.

back-to-topInstallation


Als VPN Laboraufbau, der aber 1 zu 1 auf eine funktionierende Internet Konfiguration übertragbar ist, wird folgendes Szenario benutzt:


fcdf4c4646add3cd0de6571fdcb1ab14-mono-cisco

IP Netze Cisco Router:
Lokales Netzwerk 172.16.1.0 /24
Interface: ETH 0: 172.16.1.254, Maske: 255.255.255.0
Öffentliches Netzwerk 192.168.100.0 /24
Interface: ETH 1: 192.168.100.254, Maske: 255.255.255.0 *)

IP Netze M0n0wall bzw. pfsense:
Lokales Netzwerk 172.32.1.0 /24
Interface: LAN: 172.32.1.254, Maske: 255.255.255.0
Öffentliches Netzwerk 192.168.100.0 /24
Interface: WAN: 192.168.100.1, Maske: 255.255.255.0 *)

(* Als Laboraufbau wird hier nur beispielhalber ein öffentliches Netzwerk mit einer privaten RFC 1918 IP Adresse ersetzt. Diese IP Adressen müssen im real Life Aufbau durch die entsprechenden öffentlichen IP Adressen ersetzt werden !!)

back-to-topZugang mit einem VPN Client


⚠️ Das Tutorial wurde überarbeitet bitte die aktuellen Versionen Nutzen:
Cisco VPN Client Einwahl
IKEv2 VPN Server für Linux / Raspberry Pi für onboard Clients
VPN Server OPNsense / pfSense
pfSense L2TP VPN Server für onboard Clients
Mikrotik L2TP VPN Server für onboard Clients

Für den mobilen Client VPN Zugang empfiehlt sich unter Windows der freie VPN Client Shrew. Die Support Seiten des Shrew Clients beschreiben die Einrichtung des VPN Zugagngs für remote Mitarbeiter oder Fernzugriff detailiert auf ihren Support Seiten
Einmal für M0n0wall
und einmal für dessen "Schwester" Pfsense
Eine andere freie IPsec VPN SW ist GateProtect mit der unter gleichen Parametern ebenfalls ein VPN Zugang problemlos gelingt. GateProtect biete zudem noch eine Version für PDAs mit Windows Mobile zum Download.
Für Apple Mac OS-X Benutzer bietet sich der freie VPN Client IP_Securitas an. der problemlos mit ein paar Mausklicks den VPN Zugang zur Monowall oder Pfsense sicherstellt.
Allerdings ist das mit neueren OS-X Versionen nicht mehr erforderlich, da OS-X und auch samtlich iOS basierten Gadgets wie iPhone und iPad per se den Cisco VPN Client onboard haben.
Eine zusätzliche Installation von IPsec Clients ist damit nicht mehr erforderlich oder kann sogar kontraproduktiv sein !
Die Behandlung einer Router zu Router Netzwerkkopplung zweier IP Netze behandelt das nächste Kapitel.

back-to-topKonfiguration Cisco Router


⚠️ Das Tutorial wurde überarbeitet bitte die aktuellen Versionen Nutzen:
Cisco VPN mit Fritzbox und Mikrotik
IPsec IKEv2 Standort VPN Vernetzung mit Cisco, pfSense OPNsense und Mikrotik
Cisco, Mikrotik, pfSense VPN Standort Vernetzung mit dynamischem Routing

Generell funktioniert natürlich eine Kopplung 2er zweier Pfsense / OPNsense Firewall/Router völlig problemlos. Das das IPsec Protokoll aber ein weltweiter Standard ist macht erst die Kopplung mit anderen Systemen eine Netz zu Netz Kopplung erst richtig interessant.
Problemlos funktioniert eine Kopplung zu AVM oder Draytek Router z.B. Als Beispiel sei hier eine IPsec Netz zu Netz Kopplung mit einem Cisco Router beschrieben die bei Firmen recht häufig im Einsatz sind oder auch gebraucht bei eBay für kleines Geld zu erweren sind.

Die VPN IPsec Konfiguration des Cisco Routers sieht entsprechend zum o.a. Aufbau so aus:
!
hostname CiscoRouter
!
clock timezone CET 1
clock summer-time CEST recurring last Sun Mar 2:00 last Sun Oct 3:00
!
ip tcp path-mtu-discovery
ip dhcp excluded-address 172.16.1.1 172.16.1.149
ip dhcp excluded-address 172.16.1.200 172.16.1.254
!
ip dhcp pool cisco
   network 172.16.1.0 255.255.255.0
   default-router 172.16.1.254
   dns-server 172.16.1.254
!
crypto isakmp policy 100
 hash md5
 authentication pre-share
crypto isakmp key Geheim address 192.168.100.1 (no -xauth)
!
crypto ipsec transform-set VPN esp-des esp-md5-hmac
!
crypto map vpntest 10 ipsec-isakmp
 set peer 192.168.100.1
 set transform-set VPN
 match address vpntest
!
interface Ethernet0
 description Lokales Ethernet
 ip address 172.16.1.254 255.255.255.0
 ip nat inside
!
interface Ethernet1
 description Öffentliches Netzwerk (* Test IP Netzwerk)
 ip address 192.168.100.254 255.255.255.0
 ip nat outside
 no cdp enable
 no ip redirects
 no ip proxy arp
 no ip unreachables
 crypto map vpntest
!
ip classless
!
ip route 0.0.0.0 0.0.0.0 <Provider_IP>
!
ip nat inside source route-map nonat interface ethernet 1 overload
!
access-list 111 deny ip 172.16.1.0 0.0.0.255 172.32.1.0 0.0.0.255
access-list 111 permit ip 172.16.1.0 0.0.0.255 any
!
ip access-list extended vpntest
 permit ip 172.16.1.0 0.0.0.255 172.32.1.0 0.0.0.255
!
route-map nonat permit 10
match ip address 111
!
end
Weitere Infos zur IPsec Konfiguration auf Cisco Routern findet man auf einem speziellen Cisco_Tutorial hier bei administrator.de.

back-to-topKonfiguration pfSense Router/Firewall für Cisco Router VPN


Alle Einstellungen werden ausschliesslich im Menü VPN -> IPsec vorgenommen. Weitere Einstellungen sind zum Aufbau des Tunnels nicht erforderlich.

53a986794a4178ad9c65f626a533fcfd-vpn1

3fd53f40e8099f59b9ceeffd7e9a87de-vpn2

da3e713215abdff8f57f3c5341a18576-vpn3

Achtung: Als Beispiel ist hier als Encryption immer DES angehakt, da ältere Cisco Router wie 1700er, 2500er etc. z.B. von eBay nur DES Encryption supporten. Hat man ein IOS Image mit 3DES Support kann die Encryption natürlich auf 3DES (Beidseitig !) eingestellt werden was sie auch sollte um höhere Sicherheit zu bekommen.
Ebenso kann der Hash Algorhytmus auch auf SHA gewechselt werden. Beim Cisco ist dann lediglich die Konfig in:

crypto isakmp policy 100
hash sha
!
crypto ipsec transform-set VPN esp-des esp-sha-hmac
!
crypto map vpntest 10 ipsec-isakmp
set peer 192.168.100.1
set transform-set VPN
match address vpntest

abzuändern und bei der M0n0wall bzw. pfSense auf SHA im Hash zu klicken ! Beide Verfahren funktionieren problemlos.
Der MD-5 Hash ist aber erheblich performanter im VPN Betrieb und sollte deshalb bevorzugt werden !

Noch eine weitere Anmerkung:
Lässt man die VPN Kopplung auf Seiten der pfSense / M0n0wall auf ein anderes Interface als dem LAN Interface zu wie z.B. ein WLAN Interface (bei integriertem WLAN wie ausführlich beschrieben), oder DMZ oder eines der alternativen OPTx Interfaces der pfSense/M0n0wall, muss man die Firewall Regeln entsprechend in den Firewall Rules anpassen
Das ist zwingend erforderlich um Pakete wie z.b. ICMP (Ping) und andere ausgehend zu erlauben.
Beim Standard LAN Interface der pfSense/M0n0wall ist das per Default eingestellt ! Auf den o.a. alternativen Interface hingegen, wie bei Firewalls generell üblich, nicht und muss deshalb in den FW Regeln explizit immer beachtet werden !!!
Erste Anlaufstelle beim Troubleshooting ist deshalb immer das Firewall Log der pfSense/Monowall wo alle geblockten Pakete dokumentiert werden !

back-to-topKonfiguration FritzBox


⚠️ Aktuelle Infos:
IPsec Krypto Infos und Beispiele
Fritzbox Wireguard Besonderheiten

Auch die Kopplung der pfSense VPN Verbindung mit einer FritzBox bzw. Fritz VPN ist mit dem gemeinsam verwendeten IPsec Protokoll völlig problemlos möglich.
Die Konfig wurde freundlicherweise vom Forums Mitglied --Spi-- unter dem folgenden Link veröffentlicht:
http://www.ip-phone-forum.de/showthread.php?t=244185
Hier nochmals die FritzBox VPN Konfig:
vpncfg {
        connections {
                enabled = yes;
                conn_type = conntype_lan;
                name = "name"; //Name der Verbindung  
                always_renew = no;
                reject_not_encrypted = no;
                dont_filter_netbios = yes;
                localip = 0.0.0.0;
                local_virtualip = 0.0.0.0;
                remoteip = 0.0.0.0;
                remote_virtualip = 0.0.0.0;
                remotehostname = "remotename.dyndns.org"; //IP-Adresse oder Domain der m0n0wall  
                localid {
                        fqdn = "localname.dyndns.org"; //IP-Adresse oder Domain der fritzbox  
                }
                remoteid {
                        fqdn = "email@mail.de"; //irgendeine e-mail Adresse, muss aber die gleiche sein, wie später bei m0n0wall unter My identifier  
                }
                mode = phase1_mode_aggressive;
                phase1ss = "def/3des/sha";  
                keytype = connkeytype_pre_shared;
                key = "key"; //Passwort, max 32 byte lang  
                cert_do_server_auth = no;
                use_nat_t = no;
                use_xauth = no;
                use_cfgmode = no;
                phase2localid {
                        ipnet {
                                ipaddr = 192.168.2.0; //lokale Netz der Fritz
                                mask = 255.255.255.0;
                        }
                }
                phase2remoteid {
                        ipnet {
                                ipaddr = 192.168.1.0; //lokale Netz der m0n0wall
                                mask = 255.255.255.0;
                        }
                }
                phase2ss = "esp-3des-sha/ah-no/comp-no/pfs";  
                accesslist = "permit ip any 192.168.1.0 255.255.255.0"; //lokale Netz der m0n0wall  
        }
        ike_forward_rules = "udp 0.0.0.0:500 0.0.0.0:500",   
                            "udp 0.0.0.0:4500 0.0.0.0:4500";  
}


// EOF 

ACHTUNG:
Die Fritzbox nutzt hier, wie man im Konfig File sehen kann, 3DES und SHA für das Schlüsselprotokoll. 3Des gilt als nicht mehr sicher und sollte zwingend durch AES ersetzt werden ! Alle halbwegs aktuellen FritzBoxen nutzen mittlerweile AES. Siehe dazu:
https://avm.de/service/fritzbox/fritzbox-5490/wissensdatenbank/publicati ...

Die Schlüsselverfahren müssen natürlich beim "Gegenüber" in den Cisco Router und Firewall Einstellungen der pfSense identisch gesetzt werden ansonsten Scheitert die Aushandlung des gemeinsamen Schlüsselverfahrens auf beiden Seiten.

back-to-topKonfiguration pfSense Router/Firewall für FritzBox Router VPN


Alle Einstellungen werden ausschliesslich im Menü VPN -> IPsec vorgenommen. Weitere Einstellungen sind zum Aufbau des Tunnels nicht erforderlich.

64ffaf1e27bf218e4304e51613cf6718

back-to-topTeil 1: Praxisbeispiel IPsec VPN Client Verbindung Shrew Client, Windows, Mac und iPhone/iPad mit L2TP


Die beiden folgenden Konfigurationsbeispiele zeigen jeweils praxisorientierte, lauffähige IPsec VPN Verbindungen zu einem Mikrotik Router, pfSense o. M0n0wall Firewall Router und einem Cisco Router.
Analog wird vieles aus diesen hier vorgestellten Konfigs auch gelten für die IPsec Einrichtung mit Systemen von Draytek, Lancom, Bintec usw. da IPsec ein weltweiter Standard ist.
Die Router arbeiten hierbei als VPN Server.
Diese Konstellation hat erhebliche Vorteile zu internen Servern Windows etc.), da man sich das Port Forwarding an der NAT Firewall erspart und der Netzwerkzugriff auch gewährleistet ist wenn der interne Server einmal nicht erreichbar ist. Außerdem sind die täglichen Betriebskosten (Stromverbrauch) erheblich niedriger !

Der erste Teil behandelt die VPN Client Einwahl also ein sog. "Road Worrior" Szenario mit dem remote PCs, Laptops oder Smartphones eine IPsec Verbindung zu einem der o.a. Router herstellen um so gesicherten Zugriff auf das lokale LAN und dortige Anwendungen zu bekommen.
Als Basis dient der unter Windows kostenfreie, populäre Shrew_VPN_Client.
Auf Debian/Ubuntu basierten Linux Rechnern zu denen auch z.B. der Raspberry Pi gehört, kann der Shrew Client mit dem Kommando apt-get install ike installiert werden und hat dort ebenfalls eine grafische Konfigurationsoberfläche wie unter MS Windows.
Mit z.B. dem Raspberry Pi sind so kleine VPN Szenarien einfach umsetzbar !
Eine Anleitung für den auf allen Windows, Apple Mac Rechnern und iPhone iPad integrierten IPsec Client (L2TP) behandelt das folgende Praxisbeispiel.

Der darauffolgende 2. Teil der Praxisbeispiele behandelt dann eine Standortvernetztung (LAN to LAN) mit den o.a. Routermodellen.
Los gehts....

back-to-topIPsec VPN Einwahl Mikrotik Router


Als Beispiel Hardware dient hier der preiswerte Miktorik 750(GL) oder sein mit WLAN ausgestattetes Modell 751U. Generell ist die Syntax aber für alle Mikrotik Router gültig.
Das auf der Mikrotik Webseite vorhandene Shrew Beispiel funktioniert leider nur in einem einfach gerouteten Beispiel, nicht aber in klasssichen Internet Konfigurationen mit NAT !
Die folgenden Konfigurationsschritte berücksichtigen das aber im Detail so das diese Konfig universell einsetzbar ist.
Wichtig: Der Mikrotik wird mit seiner Default Konfiguration hier betrieben ! Also eth1, Port 1 ist der WAN/DSL Port ins Internet mit NAT (Adress Translation) und die Ports 2 bis 5 sind das lokale LAN !
Die klassische DSL Router Konfig also.
1.) Die Mikrotik Router Konfiguration
Die Router Einstellungen zu IPsec sind beim Mikrotik über die grafische Oberfläche schnell gemacht mit dem "WinBox" Tool oder dem WebGUI im Bereich IP -> IPsec -> Peers.

399bb051acbe43abcba2b2aba6dfde59
  • Es wird lediglich ein Peer mit der Adresse 0.0.0.0 eigerichtet, mehr nicht. Die 0.0.0.0 muss so sein, denn mobile Clients befinden sich ja wechselweise in unterschiedlichen Absender IP Netzen also kann hier keine feste Peer IP angegeben werden. 0.0.0.0 dient hier quasi als universeller IP Adress "Platzhalter".
  • Unter "Secret" wird das Passwort definiert. Dieses muss auf Router und Client identisch sein ! (Keine Sonderzeichen !)
  • Wichtig ist der Haken bei "NAT Traversal" andernfalls können mobile Clients keine VPN Verbindung aufbauen wenn eine NAT Firewall (Home DSL Router, Firewall etc.) dazwischen liegt !
  • Den ganzen Rest belässt man auf den Default Einstellungen.
Zusätzlich wichtig ist der Haken bei Generate Policy ! Dieser muss zwingend gesetzt sein, da der Router eine dynamische VPN Policy generieren muss, weil die mobilen Clients ja wechselnde Absender IPs haben.
  • Im "Proposal" Reiter wird zusätzlich nur noch "md5" als Authentication Algorythmus im Default Proposal angehakt.

Im Mikrotik Router ist wie üblich auf dem Internet (WAN) Port (im Default Port 1) eine Firewall aktiv, die unerwünschte, eingehende Verbindungen fernhält um das interne Netz sicher zu schützen.
Damit nun vom Internet eingehende IPsec VPN Verbindungen angenommen werden, muss die Firewall Filterliste unter IP -> Firewall -> Filter erweitert werden mit 2 zusätzlichen Einträgen und zwar den Ports UDP 500, UDP 4500 und dem ESP Protokoll.
Das ist erforderlich damit diese IPsec Pakete die Firewall von außen passieren können und so den VPN Router erreichen. Fehlt diese Liste wird IPsec blockiert und die VPN Verbindung scheitert !

Der folgende Screenshot zeigt die richtige Position dieser Regel an Position 3 und 4 der Liste:
f1f8bc456b4f6bd94532f51f02cbcd54
(WICHTIG: Diese Einstellung sollte man beim Mikrotik Router generell machen, denn sie muss auch bei einer Standortvernetzung (LAN zu LAN, siehe Teil 2) gemacht werden wenn der Mikrotik Router eingehende IPsec Verbindungen als VPN Server annehmen soll !!)

Last but not least muss die Client VPN Tunnelverbindung vom NAT (Adress Translation) Prozess ins Internet ausgenommen werden, denn es soll ja eine direkte Verbindung des VPN Tunnels ins lokale LAN bestehen.
Auch dieser Schritt ist wichtig für die Funktion des Client Zugriffs auf das lokale Netz !

Dazu geht man im Mikrotik Setup auf den Reiter "NAT" unter IP -> Firewall -> NAT und fügt die folgende Regel hinzu:
1de26549c9fc5eff9d02ba68bd53edbb
Ganz WICHTIG: Diese Regel muss vor der Default NAT Regel stehen an Position 0 !! (Reihenfolge zählt !)

Als Beispiel IP Netz für den VPN Tunnel wurde hier die 10.1.1.0 /24 genommen die man aber an eigene Bedürfnisse anpassen kann oder muss ! Sie ist frei wählbar, sollte aber immer im Bereich der Privaten_IP_Netze liegen !
Dazu unten bitte unbedingt das Kapitel zum VPN Adressdesign lesen !
Fertig...!! Das war die Routerkonfiguration und nun das Setup des Shrew VPN Clients...:

2.) Die Shrew Client Konfiguration (Mikrotik)
Nach der Installation des Clients startet man das Programm und fügt mit "Add" eine neue Tunnelverbindung hinzu mit den folgenden Einstellungen die passend zur o.a. Router Konfiguration sind:
3881398ff483ce08abb7445587e26dc1

Der Mikrotik hat im obigen Test Setup die 172.16.30.153 als "Internet" IP Adresse. Diese muss natürlich im "wahren VPN Leben" mit der festen IP des Routers oder seiner DynDNS Adresse ersetz werden !
Sein lokales LAN hat die 192.168.88.0 /24 (Mikrotik Default)
Wichtig sind hier wieder die Einstellungen:
  • NAT Traversal aktivieren
  • Internen Tunnel Adapter setzen auf IP 10.1.1.1 /24 (Achtung: dies muss pro Client einzigartig sein ! Keine doppelten IPs wenn mehrere Clients gleichzeitig zugreifen !)
Zusatzinfo zur Client Adressierung:
Die IP Adressierung muss hier nicht zwingend statisch sein ! Mit dem Mikrotik kann man das auch sehr bequem über einen IP Pool lösen und die IP Adressen dann bequem dynmaisch auf die VPN Clinets verteilen:
Die MikroTik Router Konfig sieht dann so aus:
  • IP/Pool einen neuen Pool erstellen natürlich passend zu dem konfigurierten IP Bereich in der Firewall, im Beispiel 10.1.1.1
  • IPsec/Mode Configs neuen Eintrag z.B Name . vpndhcp und Pool auswählen
  • IPsec/Peer unter Mode Configuration "vpndhcp" auswählen

  • In der Client Policy das lokale LAN am Router eintragen (Hier 192.168.88.0 /24)
Mit "Save" abspeichern, fertig !
Damit ist der VPN Tunnel auf den Mikrotik einsatzbereit ! Ein Klick auf Connect öffnet den Tunnel ins lokale LAN und man hat mit dem Client vollen Zugriff auf alle Resourcen dort !


3.) iPhone, iPad, Mac und Windows L2TP via IPsec Client Konfiguration (Mikrotik)
Der Mikrotik supportet derzeit kein XAUTH Verfahren, so das natives IPsec nicht funktioniert und man L2TP über IPsec machen muss.
Dies ist eine klassische VPN Clientkonfiguration die auch von vielen anderen Onboard VPN Clients supportet werden die L2TP als Default gleich mit an Bord haben wie Windows, Apple Mac, iPhone/iPad, Android und Linux.
Damit ist ein schneller und vor allem sicherer VPN Zugang im Handumdrehen konfiguriert.
Die folgende Beispielkonfiguration nimmt eine Mikrotik Default Standard Konfiguration: Lokales LAN: 192.168.88.0 /24 und an Port Ethernet 1 ist das WAN mit NAT angeschlossen wie bei einem klassischen Internet DSL NAT Router.
Einrichtung Mikrotik mit dem Winbox Tool oder über die Web GUI. Los gehts….

  • Im ersten Schritt wird im Menü PPP unter Profiles ein L2TP Profil erstellt. Alternativ kann man auch das Default Profil anpassen so ist es aber übersichtlicher in der Konfig:
b89470d40e34d1c34a23f1b90c42ec88
Als lokale Server IP nimmt man hier eine feste freie IP aus dem lokalen LAN die nicht mit dem DHCP Pool kollidiert. Die VPN Clients bekommen dynamische IPs aus dem IP Pool des lokalen LANs.
  • Im nächsten Schritt aktiviert man im Menü General den L2TP Server:
b5effe49701621c134652c3683990d87
!! Wichtig: ist hier das Profil auf das zuvor erstellte L2TP-VPN Profil zu setzen. Ferner müssen alle Authentisierungs Protokolle außer mschapv2 entfernt werden (Sicherheit !)
  • Damit verlässt man den PPP Teil des Menüs und wählt nun den Menüpunkt IPsec und richtet hier eine Peer Definition ein:
d79a37f7c43e8e47a9a4e0ecccf02b9f
Wichtig hier die Settings unter Exchange Mode auf main-l2tp und das Aktivieren von NAT Traversal und der Policy Generation.
  • Unter Proposal erstellt man ein entsprechendes IPsec Proposal:
7b5b047c006a36e7231f935266a5d3b1
Hier ist zu beachten das bei iPhone und iPad zusätzlich zu 3des der Algorithmus aes-256 aktiviert sein muss. Damit bedient der Mikrotik dann alle bekannten L2TP Clients unter Windows, Apple, iPhone und allen Smartphones.
  • Nun kann man den Menüpunkt IPsec verlassen und muss wieder (wichtig !) die NAT Firewall anpassen, das diese auf dem WAN/Internet Port Ethernet 1 eingehende L2TP/IPsec Pakete passieren lässt. Das geschieht analog zu oben allerdings erfordert L2TP zusätzlich den Port UDP 1701 so das insgesamt für L2TP die folgenden Ports bzw. Protokolle eingetragen werden müssen:
  • UDP 500, 1701, 4500
  • ESP (IP Protokoll 50)
f331c60a50c8589db49d2907c68b78c6
Ganz WICHTIG wieder: Diese Regel muss vor der Drop Regel stehen an Position 5 !! (Reihenfolge zählt !)
Fertig... !
Eine L2TP Client VPN Verbindung auf den Mikrotik ist jetzt schon möglich aber….
ARP Broadcasts werden nicht an den L2TP Client weitergeleitet, so das keine VPN Verbindung auf alle anderen Geräte im lokalen Netz möglich ist.
Das bekommt man aber schnell mit einem simplen Mausklick in den Griff. Am lokalen LAN Port muss lediglich Proxy ARP aktiviert werden:
4564207f7c5765bc7f371dc26043de20
Die Ports 2 bis 5 arbeiten hier als lokaler Switch mit Port Ethernet 2 als Master Port. Es reicht also hier Proxy ARP am Master Port zu aktivieren, das gillt dann gleichzeitig für alle der 4 Switchports.
Damit ist die L2TP Konfiguration dann final abgeschlossen und funktionsfähig und dem Zugriff von unterwegs aufs lokale Netzwerk und den darin arbeitenden Komponenten steht nichts mehr im Wege !

Der Vollständigkeit halber hier 2 Screenshots der L2TP Client Einrichtig auf iPhone und iPad:
022ea339283c0c1ec36458e45c5064be

Und der eines MacBooks:
f7a7edcc759465a6776273048f6c4869

Die Windows Client Einstellungen bei XP, 7 und 8 sind dazu analog in kann hier_im_Detail nachgelesen werden !

back-to-topIPsec VPN Einwahl pfSense / M0n0wall Firewall-Router


Analog zur obigen Mikrotik Installation die gleiche Konfiguration mit der Einwahl des Shrew Clients auf eine pfSense / Monowall Firewall mit nativem IPsec, XAUTH ohne L2TP.
Die Client Einwahl kann natürlich sowohl einzeln als auch zusätzlich zu einer Standortvernetzung definiert werden !
Im pfSense Web Setup unter VPN -> IPsec definiert man mit Klick auf das "+" eine (weitere) Phase 1:
47daffc2656c8c9f13c0fd06bd81392c

Dann unten im Phase 2 Feld auch mit Klick auf "+" eine weitere Phase 2 für die Mobilen Clients":
c9b30d513690c2dc0ae23a668d19a5c8

In der Client Konfiguration definiert man nun die IP Adresse des Tunnel IP Netzwerks, den Doamin Namen, den DNS Server und ggf. eine Banner Meldung:
42091bcec4a8930d72747183644b8165

Last but not least den Usernamen und das Passwort des Client:
319af2121706c1186eab246b5ff8b040
Fertig !
Das wäre alles was die IPsec Konfig auf der pfSense / Monowall betrifft die als VPN Server arbeitet.

Es ist, wie bei einer Firewall aber üblich, noch etwas Security Finetuning erforderlich damit alles zum Fliegen kommt.
Als erstes muss in den Firewall Regeln der Zugriff auf das lokale LAN vom VPN IPsec Interface erlaubt werden, sonst blockt die Firewall den Zugriff aufs lokale LAN.
Hier kann man mehrere Regeln erstellen auf einzelne Hostrechner oder Dienste um den remoten Zugang einzuschränken (Sicherheit).
Der Einfachheit halber ist hier eine Regel gezeigt die generell alles erlaubt (any):
f5b2e44f6195ade6c123905df2ded02c

Und noch ein wichtiger Tip:
Auf dem WAN Interface MÜSSEN wie bei der Mikrotik Konfig oben ebenfalls die IPsec Ports: UDP 500, UDP 4500 und das ESP Protokoll auf die WAN IP Adresse freigegeben werden:

2b12d4b5ae92edaf081b8f8e55aeccaa

Das war der IPsec Server Part. Los gehts mit den Shrew Client Settings...:

2.) Die Shrew Client Konfiguration (pfSense / M0n0wall)
Auch hier ist analog ähnliches einzustellen wie bei der Mikrotik Konfiguration. Die pfSense überträgt einzelne Parameter automatisch so das man hier im Client Setup teilweise die Default Einstellungen beibehalten kann:
88ba9f8a82fae64f563924f5f07d535a
509d5e7a1d49b445d22d1f461b79abb4

Damit steht dann dem remoten Zugriff mit dem freien Shrew VPN Client (oder einem anderen IPsec Client) oder allgemein IPsec von Smartphones und PCs nichts mehr im Wege !

back-to-topIPsec VPN Einwahl pfSense mit Apple iPhone und iPad sowie Mac OS-X onboard IPsec VPN Client


Die Konfig bzw. Screenshots folgen der pfSense Dokumentation:
https://doc.pfsense.org/index.php/IPsec_Road_Warrior/Mobile_Client_How-T ...
und gilt damit auch exemplarisch für alle Android basierten Smartphones und Pads. Setzt man die Settings auf der pfSense und dem iPhone / iPad korrekt um kommt die VPN Verbindung sofort zustande.
Beispielsettings die individuell ggf. angepasst werden müssen: Internes IPsec Netz: 10.11.77.0, WAN Port IP zum Testnetz: 192.168.7.161.
Los gehts....
Aktivieren des IPsec Servers für Mobile Clients:
1b3147ef18553a61dc7da3b6c5456e9b

IPsec Phase 1 Settings: (NAT Traversal auf FORCE hier nicht vergessen !)
8be52b4a6894d195cc15b3de5ac23c96

IPsec Phase 2 Settings: (Ggf. hier Local Network auf LAN einstellen !! Hier im Test wurde das OPT1 Netzwerk verwendet)
ba37af82e4cb8637c94692122b558079

Client Settings:
15dec1a0a4ee9e173dffa85ae7c1754b

Als Banner kann wer will unten eingeben Willkommen im VPN von xyz oder leer lassen dann ohne Haken !
Achtung die Usernamen müssen unter System -> User Manager in der lokalen User Datenbank der pfSense eingerichtet werden und ihnen dann die Priviliges User - VPN - IPsec xauth Dialin zugewiesen werden.
Hat man mehrere VPN User macht man das über die Gruppenfunktion und fasst so diese User zusammen.

Der FW WAN / Internet Port muss den Eingang von IPsec Paketen erlauben:
06fc8cbd14667174abf918759ad8aaf1

Diese wurden vorab unter Firewall -> Aliases definiert: (IPsec besteht aus UDP 500, 4500 und dem ESP Protokoll (IP Nr.50))
30dd5435df35c9c39be5a93231f10d80

ACHTUNG: Bitte NICHT die Management Regel so definieren wie oben. Diese ist hier im Testaufbau lediglich dazu nutze Zugriff auf die FW vom WAN Port zu erlauben. In realen Leben wäre das tödlich ! Also: Bitte NICHT nachmachen !!
Fazit: Diese Regel bitte ignorieren und weglassen in einem Produktivsetup am Internet Port !!! Für einen Labor Aufbau zum Test ist das natürlich kein Thema.

Hier die entsprechende Konfig des iPhone / iPad IPsec Clients:
a81c1c9a09491839512183295e8fa2c0

Und last but not least die des Mac OS-X onboard IPsec Clients:
7cee21171bfcbb09faae93875a9c578a

back-to-topTeil 2: Praxisbeispiel einer gemischten IPsec VPN Standort Vernetzung


Um die Theorie und Einzelbeispiele oben mit etwas Leben zu füllen, wird im folgenden ein funktionierendes Praxisbeispiel einer heterogenen IPsec VPN Vernetzung von Standorten (Lan zu LAN) vorgestellt.
Das VPNs problemlos und einfach per Mausklick im GUI mit gleicher Hardware wie pfSense, FritzBox, Mikrotik und Cisco realisiert werden können weiss jeder Netzwerker und ist einen Binsenweisheit.
Sehr häufig ist das aber nicht der Fall, denn es gibt die "historisch" gewachsenen Infrastrukturen wo man sehr oft unterschiedliche Welten (Standorte) mit unterschiedlicher Hardware verheiraten muss mit einem IPsec VPN.
Das hört sich oft schwer an, ist aber eigentlich recht einfach wenn man ein paar Grundlagen beachtet.
Dieses Praxisbeispiel soll die Angst vor solchen gemischten IPsec Umgebungen nehmen und auch Anregungen geben wie man mit etwas anspruchsvoller Hardware am Hauptstandort dann auch mit einfachen und preiswerten Komponenten wie einem Mikrotik Router, einer FritzBox oder einer pfSense Firewall sehr erfolgreich sein kann im VPN Umfeld.

Beispielhaft kommen hier außer einem Cisco Router am Hauptstandort ein preiswerter 30 Euro Mikrotik 750(GL) bzw. 751U (WLAN) Router und die oben schon vorgestellte Open Source Firewall pfSense/Monowall zum Einsatz.
Beide Systeme haben eine "klassische" Grundkonfiguration mit einem LAN Anschluss für das lokale Netzwerk und einem WAN/DSL Port mit NAT (Adress Translation) für den Internet Zugang.
Diese VPN Firewall / Router sind für wechselnde Provider IP Adressen am Internet Zugang konfiguriert, was einem gängigen weit verbreiteten DSL / Kabel TV Standardszenario entspricht.
Der VPN "Server" Router hat eine feste statische Provider IP. Auch hier wäre eine dynamisch wechselnde Provider IP möglich, was aber dann die Verwendung eines DynDNS Dienstes wie No-IP oder DynDNS usw. voraussetzt, da dann das gesamte VPN Netz auf wechselnden IPs beruht. Nicht günstig, aber technisch machbar.
Wenigstens eine IP sollte besser statisch sein um die Zuverlässigkeit zu erhöhen !
Netzplan des VPN LAN zu LAN Laboraufbaus mit IPsec:

7e614dc3a2960318db7d6acdd4b1ed82

Dabei simulieren das 172.16.3er und 172.16.30er Netzwerk das "Internet" hier im Praxistest.
Die VPN Konfiguration des Ciscos wo alle VPNs terminieren lautet wie folgt:
(Anmerkung: Jedes andere System hier kann auch VPN Einwahlrouter sein ! Der Cisco ist hier nur ein Beispiel.)
crypto isakmp policy 10
hash md5
authentication pre-share
crypto isakmp key test123 address 172.16.3.2
crypto isakmp key dyn123 address 0.0.0.0 0.0.0.0
!
!
crypto ipsec transform-set test esp-des esp-md5-hmac
!
crypto dynamic-map dyntest 20
description Dyn. Tunnel pfSense
set transform-set test
match address 102
!
crypto dynamic-map dyntest 21
description Dyn. Tunnel Mikrotik
set transform-set test
match address 103
!
crypto map testpeer 10 ipsec-isakmp
description Fester Tunnel Cisco 831
set peer 172.16.3.2
set transform-set test
match address 101
crypto map testpeer 30 ipsec-isakmp dynamic dyntest
!
interface Ethernet0
description Lokales Netzwerk
ip address 10.1.1.1 255.255.255.0
ip nat inside
!
interface Ethernet1
description Internet Verbindung
ip address 172.16.30.1 255.255.255.0
ip nat outside
crypto map testpeer
!
ip route 0.0.0.0 0.0.0.0 172.16.30.254
!
ip nat inside source route-map nonat interface Ethernet1 overload
!
access-list 101 permit ip 10.1.1.0 0.0.0.255 172.16.10.0 0.0.0.255
access-list 102 permit ip 10.1.1.0 0.0.0.255 192.168.1.0 0.0.0.255
access-list 103 permit ip 10.1.1.0 0.0.0.255 192.168.88.0 0.0.0.255
access-list 111 deny ip 10.1.1.0 0.0.0.255 172.16.10.0 0.0.0.255
access-list 111 deny ip 10.1.1.0 0.0.0.255 192.168.1.0 0.0.0.255
access-list 111 deny ip 10.1.1.0 0.0.0.255 192.168.88.0 0.0.0.255
access-list 111 permit ip 10.1.1.0 0.0.0.255 any
!
route-map nonat permit 10
match ip address 111
!

Gehen wir gleich zum Standort D dem Mikrotik. Hier realisiert mit dem 750(GL) oder seinem WLAN Pendant dem 751U.
Der Mikrotik verwendet die in der Grundeinstellung aktivierte Default Konfig, wo Port 1 den Internet Zugang realsiert.
Sei es per DSL (PPPoE), Kabel TV o.ä.
Die Ports 2 bis 5 des Mikrotik sind dem lokalen LAN zugeordnet. Die klassische DSL Router Einstellung also...
Per WebGUI oder WinBox öffnet man die Mikrotik Konfiguration im Bereich IP -> IPsec
Man fängt mit den Policies an und trägt hier die beiden lokalen LAN Netze ein 192.168.88.0 /24 und 10.1.1.0 /24
4949c7262b5ac2adedc90a7c170c473c

Unter "Action" erkennt man das die SA Source Adresse auf 0.0.0.0 steht, das muss so sein, denn der Mikrotik ist im Beispiel hier praxisbezogen an einem DSL Anschluss mit täglich wechselnder Provider IP !!
24dff6812036619dc686a89d697f55f7

Nun wird die Tunnelpeer IP Adresse (Ziel) definiert auf den zentralen VPN Router (Standort A)
ef207c7436a6161aa9cc7d534024e18a
Anm.: "DPD (Dead Peer Detection) ist hier deaktiviert auf allen Systemen, da einige Geräte damit nicht umgehen können. In reinrassigen Hardware Umgebungen ist es aber ggf. sinnvoll es zu aktivieren.
Cisco, pfSense, und Mikrotik supporten es aber problemlos auch untereinander.


Die IPsec Proposals werden definiert. Hier MD5 Hash und DES Verschlüsselung.
b73c4964936e7ae3aaf5a97d95feb086
Supporten es beide Seiten kann man in der Verschlüsselung auch auf 3DES oder AES gehen was die Tunnel Sicherheit erhöht. Der Hash sollte immer MD5 sein, da dieser am performantesten arbeitet.
Achtung: Diese Parameter müssen auf beiden Seiten immer identisch sein !

Der letzte wichtige Punkt ist das man den Tunnel IP Verkehr zwischen den lokalen Netzen 192.168.88.0 (D) und 10.1.1.0 (A) natürlich vom NAT (Adress Translation) des Routers ausnehmen muss, denn der interne Verkehr soll ja eben nicht per NAT ins Internet sondern lokal transparent geroutet werden.
Cisco macht es oben über die NAT Regel 111 und hier im Mikrotik erstellt man eine NAT Regel in der Firewall Einstellung.
Achtung: Diese Regel MUSS unbedingt VOR der globalen NAT Regel (Pos. 1, Reihenfolge) stehen sonst greift sie nicht ! Hier im Beispiel an Position 0:
92d574d6163ac2548847ec1cd5d773ea

Fertig !
Damit baut der Mikrotik nun einen IPsec Tunnel zum Cisco auf und ein Ping auf interne Geräte in beiden IP Netzen zeigt sofort die Funktionalität der Standort VPN Verbindung.

Kommen wir jetzt zum Standort C und zur pfSense/M0n0wall Firewall die hier auch mit einer wechselnden Provider IP arbeitet.
Der Übersicht halber zeigen die Screeshots die Einstellungen der pfSense Variante. Bei der M0n0wall sind sie identisch wie man auch oben in den Screenshots sehen kann.
Die Konfiguration der pfSense FW ist etwas einfacher, da pfSense die NAT Regeln und auch Firewall Regeln praktischerweise gleich automatisch beim Einrichten des VPNs anpasst.
Zudem sind die Log Meldungen sehr detailiert, was ggf. das spätere Troubleshooting erheblich vereinfacht.
Auch diese IPsec VPN Konfiguration ist schnell und einfach über das GUI per Mausklick gemacht und man sieht das die Konfig Schritte hier zu den obigen des Mikrotik weitgehend identisch sind:
Zuerst wird der Tunnel eingerichtet:
7387e449afefcdcb110eda143ce7cc79

Mit einem Klick auf + öffnet man die IPsec Phase 2 Einstellungen und fügt diese mit Klick auf + hinzu:
87a72758c58055e88f10df033c224b2e

Im nächsten Schritt aktiviert man diese Tunnelverbindung und sichert wieder mit Klick auf den "Save" Button:
293abbadba5a22789aa7218038393781

Danach ist noch das Passwort (Preshared Key) dieser Verbindung einzutragen:
32dd32da299aa838dee3f6877e827698

Ein Klick auf Status --> IPsec im Hauptmenü zeigt nun die VPN Verbindung mit einem gelben Kreuz, das besagt das die Verbindung (noch) nicht aktiv ist.
046e02bb7745023596807ddd0ae768ed

Klickt man nun das Kreuz, aktiviert man damit den Tunnel was am dann erscheinenden grünen Dreieck abzulesen ist:
1e109265624962919350068d5780604c

Fertig...!
Damit ist auch die pfSense VPN Konfig aktiv. Ein kurzer Blick ins IPsec Log bestätigt das alles sauber aufgebaut wurde:
7e311e6efd5ace9998f6b5bb4a0bae8d
Jetzt sind alle remoten Lokationen mit dem Hauptstandort verbunden und können übergreifend alle IT Resourcen nutzen.

Dieses Beispiel zeigt das es keineswegs eine Hürde ist heterogene IPsec VPN Umgebungen miteinander zu verbinden. Mit der richtigen Hardware und den Router/Firewall Logs als nützliche Hilfe ist so etwas im Handumdrehen erledigt und ermöglicht mit sehr geringen Kosten eine Standort übergreifende, firmeninterne Kommunikation und Nutzung aller IT Anwendungen.
Natürlich kann man diese Konfiguration in beliebiger Form ausführen. Auch können sich alle Geräte zentral auf einer pfSense, FritzBox oder dem Mikrotik Router als VPN Server mit fester IP einwählen.
Noch eine abschliessende Anmerkung zur Praxiskonfiguration:
Natürlich macht es Sinn die Verschlüsselung stärker zu machen, also auf 3DES oder AES beidseitig zu setzen.
Kleinere Ciscos der 800er Serie wie 831 oder 876 usw. oder ältere Modelle (2500, 1700 etc.) die sehr preiswert im Gebrauchtmarkt (eBay etc.) zu beschaffen sind, supporten aber kein AES.
Hier muss man sich dann aufs kleinste gemeinsam mögliche einigen. Bei gleicher Hardware, also 2 mal Mikrotik oder 2 mal pfSense oder gemischten, aktuellen entsprechend leistungsfähigen Cisco, FritzBox oder Lancom Routern z.B. sollte man AES als Verschlüsselung vorziehen sofern alle Seiten es supporten.
Der MD5 Hash ist performanter als der SHA1, deshalb ist er als Schlüsselalgorythmus immer zu bevorzugen !

back-to-topAllgemeine Tipps zum VPN IP Adress Design


Es gehört zu den goldenen Regeln eines vorausschauenden VPN Designs das lokales und remotes Netzwerk NIEMALS gleich sein dürfen !!
Ist ja auch logisch, da so ein Routing der remoten Netze bei Gleichheit vollkommen unmöglich wird.

Viele Laien wählen als IP Netzwerk die allseits bekannten IP Netze 192.168.1.0 /24 oder 192.168.2.0 /24 usw. da diese oft per Default von allen Consumer DSL (Speedport usw.) und Kabelroutern verwendet werden und zuhauf im Einsatz sind.
192.168.178.0 /24 scheidet ebenfalls aus, da jede FritzBox dieses Netz lokal verwendet ! Niemand macht sich die Mühe das umzustellen und übernimmt oft kritiklos und häufig auch aus Unwissen diese Standard Einstellungen !
Die Folge davon ist das diese IP Netze in vielen öffentlichen Netzen wie in Hotels, Hotspots, Flughäfen und (leider) auch zahllosen Firmennetzen benutzt werden.
Tritt dann IP Adress Gleichheit der remoten und lokalen VPN Netze ein, macht das einen VPN Betrieb technisch unmöglich !

Es ist daher dringend angeraten beim Aufbau und Planung von VPN Zugängen etwas exotischere IP Netze zu wählen die einen IP Adresskonflikt dadurch nahezu unmöglich machen und einen störungsfreien VPN Betrieb ermöglichen bzw. fast garantieren.
Sieht man sich einmal den RFC-1918 etwas genauer an der die IP Adresskontingente für Private Netze global festlegt:
http://de.wikipedia.org/wiki/Private_IP-Adresse
erkennt man sehr schnell das man sich nicht mit den immer wiederkehrenden banalen 192.168er IP Adressen abfinden muss, sondern auch noch den Block im 172er und 10er Bereich zur freien Verfügung hat.
Wählt man nun bei der VPN Planung etwas IP netztechnisch "Exotisches" für die Adressierung wie z.B.
192.168.217.0 /24
oder
172.24.1.0 /24
oder
10.168.70.0 /24
oder auch
10.1.68.1.0 /24
oder oder oder....
kann man sich relativ sicher sein das ein IP Adresskonflikt durch gleiche IP Netze doch sehr sehr selten ist und man sich VPN Probleme gleich von Anfang an aus der (IP) Welt schafft und so einen störungsfreien Betrieb des VPNs auf Dauer erreicht !

Die FritzBox VPN Konfig ist analog zum obigen Beispiel.

back-to-topAchtung bei Firewall im Router und Einsatz einer sog. Router Kaskade


Betreibt man die oben genannten Router Cisco, M0n0wall oder pfSense oder den Mikrotik Router direkt an einem DSL Anschluss mit einem DSL Modem d.h. mit einem passiven DSL Modem und keinem Router davor, ist generell der Zugang auf das WAN/xDSL/Internet Interface von außen gesperrt wie bei einer Firewall ja üblich und auch gewollt.
Um eingehende IPsec ESP Tunnelverbindungen auf die Monowall/pfSense und andere VPN Router möglich zu machen muss man den WAN Port für IPsec entsprechend öffnen.
Auch das geht mit einer Firewall Regel auf dem WAN Port die dann immer die folgenden Ports:
  • UDP 500 (IKE),
  • UDP 4500 (NAT Traversal) und das
  • ESP Protokoll (IP Nummer 50) erlaubt:

Am Beispiel der pfSense/Monowall Firewall sieht das so aus:
dc25e349b85fe4cd5cc9f9c01970f23c-monoesp

Achtung: Das gilt ebenso wenn statt Modem ein einfacher Router vor der Monowall/pfSense oder Mikrotik steht (sog. "Router Kaskade" beschrieben hier in der "Alternative 2").
Dort muss dann zwingend ein Port Forwarding der Ports UDP 500, UDP 4500 und dem ESP Protokoll Nummer 50 (VPN Passthrough) auf die dahinterliegende IP Adresse am WAN Interface des kaskadierten VPN Routers zusätzlich gemacht werden !
Es leuchtet sofort ein das die IP Adresse des kaskadierten Routers dazu immer eine feste statische IP haben sollte, dann solte sich hier eine dynamische DHCP IP Adresse mal ändern geht das Port Forwarding des vorgeschalteten Routers ins Nirwana und damit dann auch der VPN Tunnel der dann nicht aufgebaut werden kann und eine VPN Verbindung schlägt somit fehl !

Dieses Verhalten in einer Router_Kaskade dokumentiert eine Vielzahl von Fehler und Hilfe Threads hier im Forum, denn es ist einer der häufigsten Fehlerursachen die bei VPN Betrieb gemacht werden !
Grund ist sehr häufig das heute oft statt einfacher Modems nun IP Router (mit inegriertem Modem) von Providern kostenlos geliefert werden (sog. Provider Zwangsrouter) und es häufig deshalb zu solchen Router Kaskaden kommt, da viele VPN Router Breitbandrouter ohne integrietes xDSL Modem sind und VPN Router dahinter kaskadiert werden.

Beachtet man diese obigen Feinheiten in solchen VPN Netzwerk Designs mit Kaskadierungen genau, dann steht nun einer Nutzung des IPsec VPN Tunnels und damit der Kopplung beider lokaler Netze zwischen beiden Geräten nichts mehr im Wege !!!


back-to-topWeiterführende Links


Standort LAN zu LAN VPN Verbindung mit pfSense / OPNsense und FritzBox (Aktuelles GUI):
VPN zwischen 2 Fritzboxen klappt aber kein zugriff ins pfsense netz?
Mehrere IP Standort Netze mit FritzBox und pfSense per VPN routen:
PFSense mit Fritzboxen verbinden

Die IPsec VPN Praxis: Real Life mit Cisco, pfSense, IP-Cop & Co.
IPsec VPN Praxis mit Standort Vernetzung Cisco, Mikrotik, pfSense, FritzBox u.a

pfSense für mobile, bordeigene Windows und Mac OS VPN Clients einrichten:
IPsec IKEv2 VPN für mobile Benutzer auf der pfSense oder OPNsense Firewall einrichten
PfSense VPN mit L2TP (IPsec) Protokoll für mobile Nutzer

Videotutorial IPsec Site to Site VPN mit pfSense:
http://www.youtube.com/watch?v=7txzpGaL4F8

Standort IPsec VPN Lösung pfSense Firewall und Mikrotik Router mit dynamischer Internet IP:
Hilfe bei OpenVPN Standortvernetzung zwischen pfSense (Server) und Mikrotik (Client)
Gleiche Lösung aber VPN Vernetzung mehrere Standorte im Stern Design (Hub and Spoke):
PfSense IPsec hub and spoke

IKEv2 Standort VPN mit Cisco, pfSense, Mikrotik:
IPsec IKEv2 Standort VPN Vernetzung mit Cisco, pfSense OPNsense und Mikrotik

pfSense LAN to LAN Kopplung mit IPsec und davorliegender FritzBox (Router Kaskade):
IPSec Site To Site mit pfSense hinter einer Fritzbox

IPsec Standort VPN zw. Sophos UTM und OPNsense:
IPSec VPN zwischen OPNsense und Sophos UTM

Cisco Mikrotik VPN Standort Kopplung mit dynamischem Routing (GRE Tunnel):
Cisco, Mikrotik, pfSense VPN Standort Vernetzung mit dynamischem Routing

IPsec Doku Cisco:
http://www.cisco.com/en/US/tech/tk583/tk372/technologies_configuration_ ...

Standardkonfiguration Cisco 800/900er Router mit ADSL/VDSL:
Cisco 880, 890 und ISR Router Konfiguration mit xDSL, Kabel oder FTTH Anschluss plus VPN und IP-TV
und
Vernetzung zweier Standorte mit Cisco 876 Router

Aufbau einer pfSense Firewall mit ALIX Board:
Preiswerte, VPN fähige Firewall im Eigenbau oder als Fertiggerät

pfSense Firewall auf Watchguard Hardware:
https://doc.pfsense.org/index.php/PfSense_on_Watchguard_Firebox

Tips zu Routerkaskaden:
IPsec IKEv2 VPN für mobile Benutzer auf der pfSense oder OPNsense Firewall einrichten
Kopplung von 2 Routern am DSL Port

Vorstellung Mikrotik 750 und 751 (mit WLAN):
Mikrotik RB750 - Quick Review
http://varia-store.com/Wireless-Systems/MikroTik-Integrated:::636_718.h ...

Kostenfreier IPsec Client Shrew:
https://www.shrew.net/

Optimieren der FritzBox VPN Einstellung zu pfSense, Cisco, Mikrotik und Co.:
Site to Site VPN IPSec PfSense -- Fritzbox Tunnel down nach Disconnect oder Reboot

Unterstützte Krypto Verfahren der FritzBox:
Fritzbox VPN Krypto Infos Teil 1
Fritzbox VPN Krypto Infoss Teil 2

FritzBox VPN und pfSense "The definite Guide":
Die Fritten und das VPN
PFsense VPN tunnel zur FritzBox 7390 (IPSec)

IPsec VPN Konfig zwischen FritzBox und Cisco RV320 Router:
Site-to-Site VPN mit Cisco RV320 und AVM

Mikrotik Router als VPN Server für Shrew Client:
http://www.vionblog.com/setting-mikrotik-as-ipsec-concentrator/
(Achtung: Konfig hier funktioniert nur ohne NAT am Mikrotik !
Mit NAT klassischer üblicher NAT Adress Translation am WAN/DSL Port des MikroTik müssen zwingend die oben im Tutorial beschriebenen Firewall Erweiterungen eingestellt werden !)


Mikrotik L2TP VPN für mobile Clients:
Scheitern am IPsec VPN mit MikroTik

Mikrotik Router und Cisco ASA Site to Site VPN:
http://www.vionblog.com/mikrotik-to-cisco-asa-ipsec-vpn/

Mikrotik Router und Win 10 Dialin VPN mit SSTP:
https://justit.eu/mikrotik-sstp-vpn-fuer-windows-clients/

pfSense Firewall als VPN Server für Shrew Client:
http://vorkbaard.nl/ipsec.asp

AVM VPN Portal:
http://www.avm.de/de/Service/Service-Portale/Service-Portal/index.php?p ...

FritzBox VPN mit Profi VPN Router u. Firewalls koppeln (ct' Artikel und Skript):
https://ct.de/ya4y

Router mit OpenVPN einrichten
OpenVPN Server installieren auf pfSense Firewall, Mikrotik. DD-WRT oder GL.inet Router

VPNs mit PPTP realisieren
VPNs einrichten mit PPTP

IPsec mit Linux Openswan
http://wiki.openwrt.org/doku.php?id=oldwiki:ipsec.openswantocisco851
L2TP VPN Server z.B. für Raspberry_Pi
http://www.jacco2.dds.nl/networking/freeswan-l2tp.html

Content-ID: 115798

Url: https://administrator.de/tutorial/ipsec-vpns-einrichten-mit-cisco-mikrotik-pfsense-firewall-fritzbox-smartphone-sowie-shrew-client-software-115798.html

Ausgedruckt am: 26.12.2024 um 16:12 Uhr

deinmam
deinmam 17.04.2013 um 16:47:37 Uhr
Goto Top
Vielen vielen Dank für die Mühe!
aqui
aqui 17.04.2013 um 21:49:26 Uhr
Goto Top
Immer gerne wieder... face-wink
microbit
microbit 01.08.2013 um 12:53:31 Uhr
Goto Top
meine guete - da hat sich aber jemand viel muehe gemacht.
respekt! ...und meine hochachtung fuer die ausgezeichnete arbeit!!
---

als "frischling" - so wurde ich gerade begruesst als ich mich (inspiriert durch den bericht von aqui) fuer dieses forum registrierte - hab ich gleich schon die erste frage.

wie wurde wohl die config fuer openSwan aussehen?

und zwar sollen die clients (routerboard's mit dynamischer IP) von verschiedenen standorten (laendern) aus den gesamten traffic zum eigenen rootServer tunneln und ueber diesen die verbindung ins internet herstellen. das routing zwischen den verschiedenen standorten ist dabei nicht gewollt.

ich habe mich am beispiel in "teil 2" orientiert und irgendwie "festgebastelt".

hat jemand eine idee?

gruss, microbit
aqui
aqui 01.08.2013 aktualisiert um 15:04:47 Uhr
Goto Top
Danke für die Blumen...!
Einfacher statt OpenSwan ist es den oben beschriebenen Shrew Client für Linux zu verwenden.
Auf Debian Systemen installiert man ihn mit:
apt-get install ike ike-qtgui
Damit hat man eine identische GUI zum oben beschriebenen Szenario und sich das Leben erheblich vereinfacht.
Funktioniert auf einem Raspberry_Pi (und auf großen Brüdern) wunderbar als IPsec VPN Router und Client face-wink
Bei OpenSwan dürfte das eine anz normale IPsec Konfig sein...müsste man aber testen.
P.S.: Deine Shift Taste ist defekt !
batrac
batrac 18.10.2014 um 02:12:43 Uhr
Goto Top
Danke für die Tolle Anleitung. Ein Punkt passt mir aber gar nicht und ich glaube ich konnte das anders lösen.

Der Teil der Anleitung passt mir nicht:
"Internen Tunnel Adapter setzen auf IP 10.1.1.1 /24 (Achtung: dies muss pro Client einzigartig sein ! Keine doppelten IPs wenn mehrere Clients gleichzeitig zugreifen !)"

Ich habe das über einen Pool automatisieren können. Also alles so konfigurieren wie in der Anleitung obern "IPsec VPN Einwahl Mikrotik Router" und "Die Shrew Client Konfiguration (Mikrotik)". Wenn das funktioniert kann man das mit dem Pool einrichten

MikroTik Router
IP/Pool einen neuen Pool erstellen natürlich passend zu dem konfigurierten IP Bereich in der Firewall, im Beispiel 10.1.1.1
IPsec/Mode Configs neuen Eintrag z.B Name . vpndhcp und Pool auswählen
IPsec/Peer unter Mode Configuration "vpndhcp" auswählen

Beim Shrew VPN Client unter General "Obtain Automatically" auswählen.

VPN Client verbinden und unter IP/Pool/Used Addresses sieht man das er eine IP von dem Pool Bereich nimmt.

Wenn Ihr das mal getestet habt könnt Ihr ja die Anleitung anpassen.

Gruss aus der Zentralschweiz face-smile
aqui
aqui 21.10.2014 aktualisiert um 09:42:31 Uhr
Goto Top
Du hast Recht, über einen Pool ist es so einfacher da die Adressverteilung dann dynamisch passiert. Danke für den Tip, der als Hinweis natürlich ins Tutorial kommt !
Nichtsdestotrotz kann man aber die Adressierung auch statisch machen auch wenns umständlicher ist.
the-buccaneer
the-buccaneer 07.05.2015 um 18:38:50 Uhr
Goto Top
Hallo aqui!

Eine kleine Ergänzung:

Will man allen Traffic des Clients (also auch das Internet) über die IPSec VPN-Verbindung einer PfSense tunneln, und das hat das nach dieser Anleitung eingerichtet gibt es 2 Wege:

Im Shrewsoft Client unter Policy das Häkchen bei "Obtain Topology automatically or Tunnel all entfernen und mit "Add" einen neuen Eintrag anlegen. Type: Include, Address: 0.0.0.0 Netmask: 0.0.0.0. Damit sendet der Shew Client alles über die VPN Verbindung.

Es lassen sich hier natürlich auch Netzwerke ganz nach Bedarf konfigurieren.

Oder: In der PfSense in der Phase 2 der Mobile Clients unter "Local Network" nicht LAN auswählen sondern Type: Network und 0.0.0.0/24 eintragen. Dann natürlich im Shrewsoft Client das Häkchen bei "Obtain Topology automatically or tunnel all" wieder setzen. Auch damit geht jetzt aller Traffic über die PfSense, wenn eine VPN Verbindung besteht. Ob das Sinn macht, hängt natürlich nicht zuletzt von der Internetanbindung des Routers ab.

So können bei ausreichender Anbindung zum Beispiel Inhalte der Mediatheken von ARD und ZDF etc. auch aus dem Ausland von den Aussendienstlern angesehen werden und wenn kein Traffic mehr an der PfSense vorbeigeht, ist das ja auch der Sicherheit nicht abträglich.

LG
Buc
aqui
aqui 08.05.2015 um 08:18:11 Uhr
Goto Top
Hallo Buc !
Dank wie immer für das hilfreiche Feedback !
Rolf14
Rolf14 30.06.2015 um 12:05:14 Uhr
Goto Top
Danke für dieses Tutorial und deine Mühe!!!

Dickes LOB!
darodesk
darodesk 30.08.2016 um 22:05:54 Uhr
Goto Top
Vielen Dank für dieses tolle Tutorial, hat hier bei mir alles auf Anhieb funktioniert. Ein Problem habe ich noch. Leider sind einige Kunden-Router nur über eine dynamische IP erreichbar. Bei den RV042 war das immer kein Problem, beim Mikrotik kann ich aber nur unter IPSEC Peer - Adress die numerische IP eingeben. Gibt es da noch ein Script, was da helfen könnte?

Zentraler IPSec: Mikrotik RB2011UiAS mit 6.36.2 Firmware. (leider auch nur Dynamische IP)
Kunde: Cisco RV042 (Auch dynamische IP)

Wie gesagt, gibt man bei beiden die numerische IP ein geht es auf anhieb aber der Mikrotik akzeptiert keine blabla@dyndns.org (oder wie auch immer)

Vielen Dank für einen Hinweis.
aqui
aqui 31.08.2016 um 11:53:17 Uhr
Goto Top
Gibt es da noch ein Script, was da helfen könnte?
Ja, das löst man beim Mikrotik über Scripting, da der keine feste DynDNS Funktion implementiert hat. Einfach mal Dr. Google dazu fragen es gibt da eine Fülle von Anleitungen auf der MT Seite im Forum, YouTube und im Netz !
http://wiki.mikrotik.com/wiki/Dynamic_DNS_Update_Script_for_dynDNS
http://wiki.mikrotik.com/wiki/Dynamic_DNS_Update_Script_for_No-IP_DNS
bzw.
http://bfy.tw/7TO9
darodesk
darodesk 31.08.2016 um 12:53:48 Uhr
Goto Top
Das Dyndns Update funktioniert bereits, nur wie kann ich es erreichen, das ich beim IPsec Peer dann die dynamische IP eintragen kann? Wenn ich das richtig verstanden habe kann man per script eine Namensauflösung machen, die dann einer Variable zugeordnet wird, mit der man dann wahrscheinlich die Peer-IP eintragen kann, nur wie habe ich noch nicht verstanden - gut muss ich mich in das Scripting einarbeiten. Danke erstmal für die Hinweise.
aqui
aqui 31.08.2016 um 15:18:48 Uhr
Goto Top
Wenn du eine Lösung findest und die hier posten könntest wäre das sicher sehr hilfreich face-wink
darodesk
darodesk 31.08.2016 um 20:42:22 Uhr
Goto Top
aqui
aqui 01.09.2016 um 12:39:32 Uhr
Goto Top
Klasse, hört sich gut an. Danke fürs Feedback !
Rolf14
Rolf14 23.12.2016 um 10:50:57 Uhr
Goto Top
Hallo aqui,

ich habe die Anleitung vor über 1,5 Jahren eingesetzt und sie funktionierte.

Nun unter Windows 10 seit ca. 1-2 Monaten nicht mehr. Ich kann keinen Fehler in meiner Konfig finden, ist dir da was bekannt?

LG
aqui
aqui 23.12.2016 um 16:12:03 Uhr
Goto Top
Was meinst du genau ?? Win 10 mit Shrew Client Zugriff auf einem Cisco oder pfSense ??
the-buccaneer
the-buccaneer 24.12.2016 aktualisiert um 01:26:30 Uhr
Goto Top
Der Shrew unterstützt offiziell nur bis 8.1.
https://www.shrew.net/software

Hat das Win10 nicht auch einen "o.k. wir sehen ein, dass es funktionierende anwendungen gab, bevor wir die anzahl der ecken im kreis des rades neu definiert haben" modus? (Kompatibilitätsmodus bei der Installation von anwendungen?)

Schaue im Shrew Client nach den Meldungen. Die siehst du, wenn du die VPN Trace Utility startest. Damit kannst du weiter startpagen.

Gehe zurück zu "Windows-ich-bin-halbwegs-stabil-und-respektiere-meine-Endkunden" Version NT4 bis 8.1. Besser 7.

Scherz. Aber die haben Visionen in Redmond, die ihre Ärzte überfordern... face-wink

Frohes Fest!
Buc