Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

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

Anleitung Netzwerke

Mitglied: aqui

aqui (Level 5) - Jetzt verbinden

11.05.2009, aktualisiert 26.02.2016, 94796 Aufrufe, 15 Kommentare, 2 Danke

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.



Allgemeine Einleitung

Das folgende Tutorial lehnt sich sehr eng an die bei Administrator.de bereits bestehenden Tutorials zur Einrichten eines Captive-Portals bzw. Hotspots sowie der VLAN_Routing Lösung, als auch einer weiteren VPN_Lösung_mit_PPTP mit der kostenfreien Software pfSense an.
Aus diesem Grunde wird nicht mehr detailiert auf die Installation der pfSense Firewall Software auf PC Mainbords oder embedded Mainbords (ALIX) an sich eingegangen, da das die o.a. Tutorials bzw. die pfSense 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 spaceyfreak:
http://www.administrator.de/contentid/73117
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 PPTP Protokoll beschreibt ein separates Tutorial unter der Rubrik (Cisco Router als VPN Server).

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, so das eine Realisierung von IPsec VPN Tunneln zur Kopplung lokaler Netze und auch mobiler Clients durchaus eine Alternative geworden ist.
Mittlerweile supporten auch bessere Consumer Systeme wie die von LanCom, AVM oder Draytek IPsec, so das man auch dorthin problemlos VPN Tunnel mit IPsec realisieren kann.
Als Beispiel kommt hier stellvertretend die freie Router/Firewall Lösung M0n0wall oder dessen "Schwester" Pfsense zum Einsatz. Weiterführende M0n0wall oder Pfsense Informationen findet man auf der zugehörigen Projektseite:
http://m0n0.ch/
http://www.pfsense.com/
oder den o.a. Tutorials zum Aufbau kleiner Monowall/Pfsense Systeme bei administrator.de.

Das Tutorial berücksichtigt auch leistungsfähige und preiswerte VPN Router von Mikrotik und auch der FritzBox die ebenso IPsec benutzen.


Installation


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


fcdf4c4646add3cd0de6571fdcb1ab14-mono-cisco - Klicke auf das Bild, um es zu vergrößern

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 !!)



Zugang mit einem VPN Client

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.


Konfiguration Cisco Router

Generell funktioniert natürlich eine Kopplung 2er Monowall oder zweier Pfsense 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:
01.
02.
hostname CiscoRouter 
03.
04.
clock timezone CET 1 
05.
clock summer-time CEST recurring last Sun Mar 2:00 last Sun Oct 3:00 
06.
07.
ip tcp path-mtu-discovery 
08.
ip dhcp excluded-address 172.16.1.1 172.16.1.149 
09.
ip dhcp excluded-address 172.16.1.200 172.16.1.254 
10.
11.
ip dhcp pool cisco 
12.
   network 172.16.1.0 255.255.255.0 
13.
   default-router 172.16.1.254 
14.
   dns-server 172.16.1.254 
15.
16.
crypto isakmp policy 100 
17.
 hash md5 
18.
 authentication pre-share 
19.
crypto isakmp key Geheim address 192.168.100.1 (no -xauth) 
20.
21.
crypto ipsec transform-set VPN esp-des esp-md5-hmac 
22.
23.
crypto map vpntest 10 ipsec-isakmp 
24.
 set peer 192.168.100.1 
25.
 set transform-set VPN 
26.
 match address vpntest 
27.
28.
interface Ethernet0 
29.
 description Lokales Ethernet 
30.
 ip address 172.16.1.254 255.255.255.0 
31.
 ip nat inside 
32.
33.
interface Ethernet1 
34.
 description Öffentliches Netzwerk (* Test IP Netzwerk) 
35.
 ip address 192.168.100.254 255.255.255.0 
36.
 ip nat outside 
37.
 no cdp enable 
38.
 no ip redirects 
39.
 no ip proxy arp 
40.
 no ip unreachables 
41.
 crypto map vpntest 
42.
43.
ip classless 
44.
45.
ip route 0.0.0.0 0.0.0.0 <Provider_IP> 
46.
47.
ip nat inside source route-map nonat interface ethernet 1 overload 
48.
49.
access-list 111 deny ip 172.16.1.0 0.0.0.255 172.32.1.0 0.0.0.255 
50.
access-list 111 permit ip 172.16.1.0 0.0.0.255 any 
51.
52.
ip access-list extended vpntest 
53.
 permit ip 172.16.1.0 0.0.0.255 172.32.1.0 0.0.0.255 
54.
55.
route-map nonat permit 10 
56.
match ip address 111 
57.
58.
end
Weitere Infos zur IPsec Konfiguration auf Cisco Routern findet man auf einem speziellen Cisco_Tutorial hier bei administrator.de.

Konfiguration 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 - Klicke auf das Bild, um es zu vergrößern

3fd53f40e8099f59b9ceeffd7e9a87de-vpn2 - Klicke auf das Bild, um es zu vergrößern

da3e713215abdff8f57f3c5341a18576-vpn3 - Klicke auf das Bild, um es zu vergrößern

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 hier 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 !


Konfiguration FritzBox Router

Auch die Kopplung der Monowall / 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:
01.
vpncfg { 
02.
        connections { 
03.
                enabled = yes; 
04.
                conn_type = conntype_lan; 
05.
                name = "name"; //Name der Verbindung 
06.
                always_renew = no; 
07.
                reject_not_encrypted = no; 
08.
                dont_filter_netbios = yes; 
09.
                localip = 0.0.0.0; 
10.
                local_virtualip = 0.0.0.0; 
11.
                remoteip = 0.0.0.0; 
12.
                remote_virtualip = 0.0.0.0; 
13.
                remotehostname = "remotename.dyndns.org"; //IP-Adresse oder Domain der m0n0wall 
14.
                localid { 
15.
                        fqdn = "localname.dyndns.org"; //IP-Adresse oder Domain der fritzbox 
16.
17.
                remoteid { 
18.
                        fqdn = "email@mail.de"; //irgendeine e-mail Adresse, muss aber die gleiche sein, wie später bei m0n0wall unter My identifier 
19.
20.
                mode = phase1_mode_aggressive; 
21.
                phase1ss = "def/3des/sha"; 
22.
                keytype = connkeytype_pre_shared; 
23.
                key = "key"; //Passwort, max 32 byte lang 
24.
                cert_do_server_auth = no; 
25.
                use_nat_t = no; 
26.
                use_xauth = no; 
27.
                use_cfgmode = no; 
28.
                phase2localid { 
29.
                        ipnet { 
30.
                                ipaddr = 192.168.2.0; //lokale Netz der Fritz 
31.
                                mask = 255.255.255.0; 
32.
33.
34.
                phase2remoteid { 
35.
                        ipnet { 
36.
                                ipaddr = 192.168.1.0; //lokale Netz der m0n0wall 
37.
                                mask = 255.255.255.0; 
38.
39.
40.
                phase2ss = "esp-3des-sha/ah-no/comp-no/pfs"; 
41.
                accesslist = "permit ip any 192.168.1.0 255.255.255.0"; //lokale Netz der m0n0wall 
42.
43.
        ike_forward_rules = "udp 0.0.0.0:500 0.0.0.0:500",  
44.
                            "udp 0.0.0.0:4500 0.0.0.0:4500"; 
45.
46.
 
47.
 
48.
// EOF 
ACHTUNG:
Die Fritzbox nutzt hier, wie man im Konfig File sehen kann, 3DES und SHA für das Schlüsselprotokoll.
Das muss natürlich oben beim "Gegenüber" in den Cisco Router und Firewall Eintellungen der pfSense/M0n0wall identisch gesetzt werden.
Bzw. bei älteren Ciscos die nur DES supporten entsprechend auf der FB angepasst werden !


Konfiguration 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 - Klicke auf das Bild, um es zu vergrößern


Teil 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....

IPsec 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 - Klicke auf das Bild, um es zu vergrößern
  • 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 - Klicke auf das Bild, um es zu vergrößern
(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 - Klicke auf das Bild, um es zu vergrößern
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 - Klicke auf das Bild, um es zu vergrößern

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 - Klicke auf das Bild, um es zu vergrößern
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 - Klicke auf das Bild, um es zu vergrößern
!! 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 - Klicke auf das Bild, um es zu vergrößern
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 - Klicke auf das Bild, um es zu vergrößern
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 - Klicke auf das Bild, um es zu vergrößern
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 - Klicke auf das Bild, um es zu vergrößern
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 - Klicke auf das Bild, um es zu vergrößern

Und der eines MacBooks:
f7a7edcc759465a6776273048f6c4869 - Klicke auf das Bild, um es zu vergrößern

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

IPsec 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 - Klicke auf das Bild, um es zu vergrößern

Dann unten im Phase 2 Feld auch mit Klick auf "+" eine weitere Phase 2 für die Mobilen Clients":
c9b30d513690c2dc0ae23a668d19a5c8 - Klicke auf das Bild, um es zu vergrößern

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 - Klicke auf das Bild, um es zu vergrößern

Last but not least den Usernamen und das Passwort des Client:
319af2121706c1186eab246b5ff8b040 - Klicke auf das Bild, um es zu vergrößern
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 - Klicke auf das Bild, um es zu vergrößern

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 - Klicke auf das Bild, um es zu vergrößern

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 - Klicke auf das Bild, um es zu vergrößern
509d5e7a1d49b445d22d1f461b79abb4 - Klicke auf das Bild, um es zu vergrößern

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 !

IPsec 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 - Klicke auf das Bild, um es zu vergrößern

IPsec Phase 1 Settings: (NAT Traversal auf FORCE hier nicht vergessen !)
8be52b4a6894d195cc15b3de5ac23c96 - Klicke auf das Bild, um es zu vergrößern

IPsec Phase 2 Settings: (Ggf. hier Local Network auf LAN einstellen !! Hier im Test wurde das OPT1 Netzwerk verwendet)
ba37af82e4cb8637c94692122b558079 - Klicke auf das Bild, um es zu vergrößern

Client Settings:
15dec1a0a4ee9e173dffa85ae7c1754b - Klicke auf das Bild, um es zu vergrößern

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 - Klicke auf das Bild, um es zu vergrößern

Diese wurden vorab unter Firewall -> Aliases definiert: (IPsec besteht aus UDP 500, 4500 und dem ESP Protokoll (IP Nr.50))
30dd5435df35c9c39be5a93231f10d80 - Klicke auf das Bild, um es zu vergrößern

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 - Klicke auf das Bild, um es zu vergrößern

Und last but not least die des Mac OS-X onboard IPsec Clients:
7cee21171bfcbb09faae93875a9c578a - Klicke auf das Bild, um es zu vergrößern

Teil 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 - Klicke auf das Bild, um es zu vergrößern

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 - Klicke auf das Bild, um es zu vergrößern

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 - Klicke auf das Bild, um es zu vergrößern

Nun wird die Tunnelpeer IP Adresse (Ziel) definiert auf den zentralen VPN Router (Standort A)
ef207c7436a6161aa9cc7d534024e18a - Klicke auf das Bild, um es zu vergrößern
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 - Klicke auf das Bild, um es zu vergrößern
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 - Klicke auf das Bild, um es zu vergrößern

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 - Klicke auf das Bild, um es zu vergrößern

Mit einem Klick auf + öffnet man die IPsec Phase 2 Einstellungen und fügt diese mit Klick auf + hinzu:
87a72758c58055e88f10df033c224b2e - Klicke auf das Bild, um es zu vergrößern

Im nächsten Schritt aktiviert man diese Tunnelverbindung und sichert wieder mit Klick auf den "Save" Button:
293abbadba5a22789aa7218038393781 - Klicke auf das Bild, um es zu vergrößern

Danach ist noch das Passwort (Preshared Key) dieser Verbindung einzutragen:
32dd32da299aa838dee3f6877e827698 - Klicke auf das Bild, um es zu vergrößern

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 - Klicke auf das Bild, um es zu vergrößern

Klickt man nun das Kreuz, aktiviert man damit den Tunnel was am dann erscheinenden grünen Dreieck abzulesen ist:
1e109265624962919350068d5780604c - Klicke auf das Bild, um es zu vergrößern

Fertig...!
Damit ist auch die pfSense VPN Konfig aktiv. Ein kurzer Blick ins IPsec Log bestätigt das alles sauber aufgebaut wurde:
7e311e6efd5ace9998f6b5bb4a0bae8d - Klicke auf das Bild, um es zu vergrößern
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 !


Allgemeine Tipps zum VPN 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.


Achtung 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 - Klicke auf das Bild, um es zu vergrößern

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 !!!


Weiterführende Links


Die IPsec VPN Praxis: Real Life mit Cisco, pfSense, IP-Cop & Co.
https://www.administrator.de/wissen/ipsec-vpn-praxis-standort-kopplung-c ...

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

pfSense LAN to LAN Kopplung mit IPsec und davorliegender FritzBox:
http://www.administrator.de/content/detail.php?nid=484564&id=246103

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

Standardkonfiguration Cisco 800er Router mit ADSL/VDSL:
http://www.administrator.de/contentid/179345
und
http://www.administrator.de/contentid/113776

Aufbau einer pfSense / Monowall Firewall mit ALIX Board:
http://www.administrator.de/contentid/149915

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

Vorstellung Mikrotik 750 und 751 (mit WLAN):
http://www.administrator.de/contentid/124700
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.:
http://www.administrator.de/contentid/228049

FritzBox VPN und pfSense "The definite Guide":
http://www.administrator.de/content/detail.php?id=256207&nid=183479

IPsec VPN Konfig zwischen FritzBox und Cisco RV320 Router:
http://www.administrator.de/content/detail.php?id=239442&nid=95944# ...

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 !)


Windows L2TP VPN Tunnel mit Mikrotik Router:
http://www.administrator.de/contentid/217628

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

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 ...

Tips zu Routerkaskaden:
http://www.administrator.de/contentid/48713

Router mit OpenVPN einrichten
http://www.administrator.de/wissen/openvpn-server-installieren-auf-dd-w ...

VPNs mit PPTP realisieren
http://www.administrator.de/wissen/vpns-einrichten-mit-pptp-117700.html

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
Mitglied: deinmam
17.04.2013 um 16:47 Uhr
Vielen vielen Dank für die Mühe!
Bitte warten ..
Mitglied: aqui
17.04.2013 um 21:49 Uhr
Immer gerne wieder...
Bitte warten ..
Mitglied: microbit
01.08.2013 um 12:53 Uhr
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
Bitte warten ..
Mitglied: aqui
01.08.2013, aktualisiert um 15:04 Uhr
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
Bei OpenSwan dürfte das eine anz normale IPsec Konfig sein...müsste man aber testen.
P.S.: Deine Shift Taste ist defekt !
Bitte warten ..
Mitglied: batrac
18.10.2014 um 02:12 Uhr
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
Bitte warten ..
Mitglied: aqui
21.10.2014, aktualisiert um 09:42 Uhr
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.
Bitte warten ..
Mitglied: the-buccaneer
07.05.2015 um 18:38 Uhr
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
Bitte warten ..
Mitglied: aqui
08.05.2015 um 08:18 Uhr
Hallo Buc !
Dank wie immer für das hilfreiche Feedback !
Bitte warten ..
Mitglied: Rolf-Hanka.ITD
30.06.2015 um 12:05 Uhr
Danke für dieses Tutorial und deine Mühe!!!

Dickes LOB!
Bitte warten ..
Mitglied: darodesk
30.08.2016 um 22:05 Uhr
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.
Bitte warten ..
Mitglied: aqui
31.08.2016 um 11:53 Uhr
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
Bitte warten ..
Mitglied: darodesk
31.08.2016 um 12:53 Uhr
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.
Bitte warten ..
Mitglied: aqui
31.08.2016 um 15:18 Uhr
Wenn du eine Lösung findest und die hier posten könntest wäre das sicher sehr hilfreich
Bitte warten ..
Mitglied: aqui
01.09.2016 um 12:39 Uhr
Klasse, hört sich gut an. Danke fürs Feedback !
Bitte warten ..
Neuester Wissensbeitrag
Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...