====== IPsec und L2TP ====== ===== Übersichtsnetzwerkplan ===== {{:configuration:l2tpoveripsec.png|}} ===== Ein Konfigurationsbeispiel für L2TP über IPsec ===== In dem Beispiel soll zwischen zwei NB1601 ein L2TP Tunnel über ein IPsec aufgebaut werden. Durch diesen Aufbau ist es dann möglich Broadcast oder Multicast Paket über das Netzwerk zu verschicken. Als erstes konfiguriert man die IPsec Tunnel zwischen den beiden NB1601, wenn diese steht kann man den L2TP Tunnel einrichten. Die IP Adressen zwischen NB1601 links zum Internet hat eine Feste IP-Adresse (172.1.1.10) und die IP Adresse zwischen NB1601 rechts zum Mobilprovider ist auch eine statisch IP-Adresse (10.1.1.10). Bei nicht statischen IP-Adressen muss noch ein Dyndns service auf den Router eingerichtet werden. ==== Konfigurationsbeispiel für den IPsec Tunnel ==== Hierfür habe ich die beiden Konfigurationen NB1601 Linke Seite und NB1601 Rechte Seite gegenübergestellt, für eine besser Verständnis für den Aufbau. Die beiden IP Adressen bekommt man von seinem Provider. Wenn Sie hier keine Festen IP Adresse habe und sich die IP‘s ändern, müssen Sie ein Dyndns Server zusätzlich verwenden, für den "Remote peer address" Eintrag. Für die IP 10.1.1.10 tragen Sie dann zum Beispiel „router-rechteseite.ddns.net“ ein und für die IP 172.1.1.10 zum Beispiel „router-linkeseite.ddns.net“. Linke Seite Rechte Seite {{:configuration:ipsec_general.png|}} Unter dem Reiter General trägt man die beiden Endpunkte vom IPsec ein. Linke Seite Rechte Seite {{:configuration:ipsec_ike_proposal.png|}} Unter dem Reiter IKE Proposal müssen folgende Parameter hinterlegt werden. Für die Authentifizierung der Phase 1 muss für den Schlüssel Austausch die Version 1 oder 2 ausgewählt werden (IKEv2). Die Authentifizierung wird hier im Beispiel über ein PSK durchgeführt. Es sind aber auch andere Authentifizierung möglich. Für die Local und Peer ID wurde hier „linkeseite“ und „rechteseite“ verwendet als Beispiel. Wichtig ist hier, dass man dieses wechselseitig auf beiden Seiten gleich einträgt. Für die erste Phase des Verbindungsaufbau muss ein Verhandlungsmodus (Negotiation mode) eingestellt werden. Auf der Linken Seite können wir den main mode belassen. Der Router hat eine Direktverbindung(DSL) ins Internet ohne eine NAT Grenze. Auf der Rechten Seite müssen wir aggressive mode verwenden, hier haben wir eine NAT Grenze zwischen dem Internet und dem Router durch die Mobilverbindung(LTE). Die weiteren Wert würde ich so belassen hier im Reiter IKE Proposal. Linke Seite Rechte Seite {{:configuration:ipsec_proposal.png|}} Unter dem Reiter IPsec Proposal für die zweite Verbindungsphase vom IPsec, wird nur die Einstellung „Force encapsulation“ aktiviert. Alle weiteren Einstellungen werden übernommen. Linke Seite Rechte Seite {{:configuration:ipsec_networks.png|}} Unter dem Reiter „Networks“ werden dann noch die IP Netze hinterlegt die man über das IPsec erreichen möchte. In diesem Beispiel auf der Linken Seite das 192.168.1.0/24 IP Netzwerk und auf der Rechten Seite das 192.168.4.0/24 IP Netzwerk. Diese müssen wieder wechselseitig auf beiden Router Seiten hinterlegt werden. Auf der Rechten Seite wir zusätzlich noch eine NAT Adresse (192.168.4.1) hinterlegt. Der Vorteil der sich jetzt ergibt ist, wenn man eine IP Adresse aus dem Netzwerk 192.168.1.0/24 erreichen möchte, aber aus einem anderen IP Netz kommt. Wird durch das Source NAT die Quellen IP auf die IP 192.168.4.1 umgeschrieben. Dadurch muss man nicht alle IP Netze im IPsec eintragen. {{:configuration:ipsec_status.png|}} Wenn alle Konfigurationsparameter im IPsec hinterlegt wurden baut sich der IPsec Tunnel auf. {{:configuration:ipsec_tunnel_aufbau.png|}} ==== Konfigurationsbeispiel für den L2TP Tunnel ==== Hierfür wurde wieder die Konfigurationen NB1601 Linke Seite und NB1601 Rechte Seite gegenübergestellt, für eine besser Verständnis für den Aufbau. Linke Seite Rechte Seite {{:configuration:l2tp_tunnel.png|}} Für das Transportnetz wird eine Local und Remote IP benötigt, die Bestandteil es IPsec Netzwerk ist. Auf der Linken Seite haben wir für das IPsec das Netzwerk 192.168.1.0/24 und für die Rechte Seite Das Netzwerk 192.168.4.0/24 eingerichtet. Diese Zuordnung muss auch für das L2TP verwendet werden. Auf der Linken Seite wird dann für die Local IP 192.168.1.1 eingetragen und Remote IP 192.168.4.1. Dieses wird wieder wechselseitig auf beiden Router Seiten eingetragen. Jetzt wird noch eine Tunnel und Session ID benötigt, diese müssen dann wieder in beiden Router hinterlegt werden. Der MTU Wert ist vorgeben diesen nicht verändert. Zur guter Letzt habe ich dann noch den L2TP Tunnel auf die LAN Schnittstelle 2 gebunden. Auf der linken Seite wäre das die IP Adresse 192.168.1.2/24 und auf der rechten Seite die IP Adresse 192.168.4.2/24. Die beiden Parameter Local und Remote Cookie sind optional, können aber in der RFC Beschreibung nach gelesen werden. link zu Layer Two Tunneling Protocol - Version 3 (L2TPv3) Beschreibung: [[https://tools.ietf.org/html/rfc3931|External Link]] Damit der L2TP Tunnel über den IPsec Tunnel geleitet wird, wird noch eine Schnittstelle benötigt. Linke Seite Rechte Seite {{:configuration:l2tp_bridges.png|}} Hierfür wird eine Bridge Schnittstelle (BR2) auf den Router eingerichtete. Wichtig ist hier das die Local IP Adresse vom L2TP Tunnel jeweils hinterlegt wird. Nach diesen letzten Schritte ist die Konfiguration abgeschlossen und alle WLAN-Client die sich an den WLAN Access Point anmelden bekommen ihre IP Adresse von dem DHCP Server auf dem Linken Router über den L2TP Tunnel vergeben. ===== Zusatz für Profis ===== Jetzt kann man auf beiden Routern, dass vorhanden sein der L2TP Schnittstelle abfragen. Hier wurde als Beispiel am linken Router in der Konsole eine „ifconfig“ abfrage durchgeführt. Hier müsste dann ein Eintrage von der L2TP Schnittstelle vorhanden sein. {{:configuration:l2tp_schnittstelle_links.png|}} Was man als zweites in der Konsole überprüfen kann sind die Bridge interface. Hierfür wurde wieder als Beispiel am linken Router eine abfrage in der Konsole durchgeführt. Hier gibt man den Befehl „brctl show“ in der Konsole ein und bekommt einen Auszug der eingereichten Schnittstellen und wie sie zugeordnet sind. Wichtig für das Verständnis in der Konsole wird von Null an gezählt. Auf der Weboberfläche von eins an. {{:configuration:l2tp_brctl_links.png|}} Der erste Eintrage ist das Bridge Interface (BR2). Der zweite Eintrage ist die LAN Schnittstelle 2 (lan1). Hier haben wir das Interface l2tpeth0 zugeordnet. Was ich zusätzlich noch durchgeführt habe bei der Einrichtung des WLAN access point, was man hier sehen kann. Das WLAN auch auf die LAN 2 gebridge. Um das ganze noch einmal zu testen ob der L2TP über den IPsec getunnelt wird. Kann man sich mit einem Mobilgerät am WLAN AP anmelden und man müsste eine IP Adresse vom DHCP Server vom linken Router bekommen. Als eine 192.168.1.x IP Adresse. Zusätzlich kann man auf dem linken Router mit Tcpdump den Port 67 und 68 mit schneiten die für IP Aushandlung zuständig sind. {{:configuration:tcpdump.png|}} In der Konsole auf dem linken Router muss man den Befehl „tcpdump -i lan1 -n port 67 and 68“ ausführen. Im ersten Eintrag habe wir über den Port 68 eine Broadcast anfrage nach einer IP Adresse vom DHCP. Diese ist nur möglich wenn das Paket über den L2TP geschickt wird. Ein Broadcast Paket würde im IPsec nicht weitergeleitet. Im zweiten Eintrag bekommt dann die IP Adresse 192.168.1.133 zugewiesen.