
Heute werden wir die Möglichkeiten der VPN-Konfiguration betrachten, die uns NSX Edge bietet.
Insgesamt können wir die VPN-Technologien in zwei Hauptarten unterteilen:
- Site-to-Site-VPN. Am häufigsten wird IPSec verwendet, um einen sicheren Tunnel zu erstellen, zum Beispiel zwischen dem Netzwerk des Hauptbüros und einem Netzwerk an einem entfernten Standort oder in der Cloud.
- Remote Access VPN. Wird verwendet, um einzelne Benutzer über VPN-Client-Software mit den privaten Netzwerken von Organisationen zu verbinden.
NSX Edge ermöglicht es uns, beide Varianten zu nutzen.
Die Konfiguration erfolgt über eine Testumgebung mit zwei NSX Edge, einem Linux-Server mit installiertem Daemon und einem Laptop mit Windows zum Testen des Remote Access VPN.
IPsec
- Im vCloud Director-Interface gehen wir zum Abschnitt Verwaltung und wählen das vDC aus. Auf der Registerkarte Edge Gateways wählen wir den gewünschten Edge aus, klicken mit der rechten Maustaste und wählen Edge Gateway-Dienste.

- Im NSX Edge-Interface wechseln wir zur Registerkarte VPN-IPsec VPN, dann zum Abschnitt IPsec VPN-Stellen und klicken auf +, um einen neuen Standort hinzuzufügen.

- Wir füllen die erforderlichen Felder aus:
- Aktiviert – aktiviert den entfernten Standort.
- PFS – gewährleistet, dass jeder neue kryptografische Schlüssel nicht mit einem vorherigen Schlüssel verbunden ist.
- Local ID und Local Endpoint– externe Adresse des NSX Edge.
- Local Subnets– lokale Netzwerke, die IPsec VPN verwenden werden.
- Peer ID und Peer Endpoint – Adresse des entfernten Standorts.
- Peer Subnets – Netzwerke, die auf der entfernten Seite IPsec VPN verwenden werden.
- Verschlüsselungsalgorithmus – Verschlüsselungsalgorithmus für den Tunnel.

- Authentifizierung – wie wir den Peer authentifizieren. Es kann ein Pre-Shared Key oder ein Zertifikat verwendet werden.
- Pre-Shared Key – wir geben den Schlüssel an, der für die Authentifizierung verwendet wird und von beiden Seiten übereinstimmen muss.
- Diffie-Hellman-Gruppe – Schlüsselvereinbarungsalgorithmus.
Nachdem alle erforderlichen Felder ausgefüllt sind, klicken wir auf Beibehalten.

- Fertig.

- Nach der Hinzufügung des Standorts wechseln wir zur Registerkarte Aktivierungsstatus und aktivieren den IPsec-Dienst.

- Nachdem die Einstellungen angewendet wurden, wechseln wir zur Registerkarte Statistiken –> IPsec VPN und überprüfen den Status des Tunnels. Wir sehen, dass der Tunnel hergestellt wurde.

- Überprüfen wir den Status des Tunnels aus der Konsole des Edge-Gateways:
- show service ipsec – Überprüfung des Dienststatus.

- show service ipsec site – Informationen über den Standort und die vereinbarten Parameter.

- show service ipsec sa – Überprüfung des Status der Security Association (SA).

- show service ipsec – Überprüfung des Dienststatus.
- Überprüfung der Verbindung zum entfernten Standort:
root@racoon:~# ifconfig eth0:1 | grep inet inet 10.255.255.1 netmask 255.255.255.0 broadcast 0.0.0.0 root@racoon:~# ping -c1 -I 10.255.255.1 192.168.0.10 PING 192.168.0.10 (192.168.0.10) von 10.255.255.1 : 56(84) Bytes Daten. 64 Bytes von 192.168.0.10: icmp_seq=1 ttl=63 Zeit=59.9 ms --- 192.168.0.10 Ping-Statistik --- 1 Pakete gesendet, 1 empfangen, 0% Paketverlust, Zeit 0ms rtt min/avg/max/mdev = 59.941/59.941/59.941/0.000 msKonfigurationsdateien und zusätzliche Befehle zur Diagnose vom entfernten Linux-Server:
root@racoon:~# cat /etc/racoon/racoon.conf log debug; path pre_shared_key "/etc/racoon/psk.txt"; path certificate "/etc/racoon/certs"; listen { isakmp 80.211.43.73 [500]; strict_address; } remote 185.148.83.16 { exchange_mode main,aggressive; proposal { encryption_algorithm aes256; hash_algorithm sha1; authentication_method pre_shared_key; dh_group modp1536; } generate_policy on; } sainfo address 10.255.255.0/24 any address 192.168.0.0/24 any { encryption_algorithm aes256; authentication_algorithm hmac_sha1; compression_algorithm deflate; } === root@racoon:~# cat /etc/racoon/psk.txt 185.148.83.16 testkey === root@racoon:~# cat /etc/ipsec-tools.conf #! /usr/sbin/setkey -f flush; spdflush; spdadd 192.168.0.0/24 10.255.255.0/24 any -P in ipsec esp/tunnel/185.148.83.16-80.211.43.73/require; spdadd 10.255.255.0/24 192.168.0.0/24 any -P out ipsec esp/tunnel/80.211.43.73-185.148.83.16/require; === root@racoon:~# racoonctl show-sa isakmp Ziel Cookies Erstellt 185.148.83.16.500 2088977aceb1b512:a4c470cb8f9d57e9 2019-05-22 13:46:13 === root@racoon:~# racoonctl show-sa esp 80.211.43.73 185.148.83.16 esp mode=tunnel spi=1646662778(0x6226147a) reqid=0(0x00000000) E: aes-cbc 00064df4 454d14bc 9444b428 00e2296e c7bb1e03 06937597 1e522ce0 641e704d A: hmac-sha1 aa9e7cd7 51653621 67b3b2e9 64818de5 df848792 seq=0x00000000 replay=4 flags=0x00000000 state=mature erstellt: 22. Mai 13:46:13 2019 aktuell: 22. Mai 14:07:43 2019 diff: 1290(s) hard: 3600(s) soft: 2880(s) zuletzt: 22. Mai 13:46:13 2019 hard: 0(s) soft: 0(s) aktuell: 72240(Bytes) hard: 0(Bytes) soft: 0(Bytes) zugewiesen: 860 hard: 0 soft: 0 sadb_seq=1 pid=7739 refcnt=0 185.148.83.16 80.211.43.73 esp mode=tunnel spi=88535449(0x0546f199) reqid=0(0x00000000) E: aes-cbc c812505a 9c30515e 9edc8c4a b3393125 ade4c320 9bde04f0 94e7ba9d 28e61044 A: hmac-sha1 cd9d6f6e 06dbcd6d da4d14f8 6d1a6239 38589878 seq=0x00000000 replay=4 flags=0x00000000 state=mature erstellt: 22. Mai 13:46:13 2019 aktuell: 22. Mai 14:07:43 2019 diff: 1290(s) hard: 3600(s) soft: 2880(s) zuletzt: 22. Mai 13:46:13 2019 hard: 0(s) soft: 0(s) aktuell: 72240(Bytes) hard: 0(Bytes) soft: 0(Bytes) zugewiesen: 860 hard: 0 soft: 0 sadb_seq=0 pid=7739 refcnt=0 - Alles bereit, site-to-site IPsec VPN ist eingerichtet und funktioniert.
In diesem Beispiel haben wir PSK zur Authentifizierung des Peers verwendet, aber es gibt auch die Möglichkeit, die Authentifizierung über Zertifikate durchzuführen. Dazu muss man zum Tab Global Configuration wechseln, die Authentifizierung über Zertifikate aktivieren und das entsprechende Zertifikat auswählen.
Außerdem müssen die Einstellungen der Site geändert werden, um die Authentifizierungsmethode zu ändern.


Ich möchte darauf hinweisen, dass die Anzahl der IPsec-Tunnel von der Größe des implementierten Edge Gateway abhängt (lesen Sie mehr darüber in unserem ).
SSL VPN
SSL VPN-Plus ist eine der Varianten des Remote Access VPN. Es ermöglicht einzelnen Remote-Benutzern, sicher auf private Netzwerke zuzugreifen, die hinter dem NSX Edge Gateway liegen. Der verschlüsselte Tunnel wird im Falle von SSL VPN-plus zwischen dem Client (Windows, Linux, Mac) und NSX Edge hergestellt.
- Lassen Sie uns mit der Konfiguration beginnen. Im Steuerfeld der Edge Gateway-Dienste gehen wir zur Registerkarte SSL VPN-Plus und dann zu den Servereinstellungen. Wir wählen die Adresse und den Port aus, an dem der Server eingehende Verbindungen abhören wird, aktivieren das Logging und wählen die benötigten Verschlüsselungsalgorithmen aus.

Hier können wir auch das Zertifikat ändern, das der Server verwenden wird.
- Sobald alles bereit ist, aktivieren wir den Server und vergessen nicht, die Einstellungen zu speichern.

- Als nächstes müssen wir den Adresspool konfigurieren, den wir an die Clients beim Verbinden vergeben werden. Dieses Netzwerk ist von jedem bestehenden Subnetz in Ihrer NSX-Umgebung getrennt und muss nicht auf anderen Geräten in physischen Netzwerken konfiguriert werden, abgesehen von den Routen, die darauf zeigen.
Gehen Sie zur Registerkarte IP-Pools und klicken Sie auf +.

- Wählen Sie die Adressen, die Subnetzmaske und das Gateway aus. Hier können auch die Einstellungen für die DNS- und WINS-Server geändert werden.

- Der resultierende Pool.

- Jetzt fügen wir Netzwerke hinzu, auf die die sich mit VPN verbundenden Benutzer Zugriff haben sollen. Wechseln Sie zur Registerkarte Private Netzwerke und klicken Sie auf +.

- Füllen Sie aus:
- Network — lokales Netzwerk, auf das entfernte Benutzer zugreifen können.
- Send traffic, es gibt zwei Optionen:
— over tunnel – den Verkehr über den Tunnel zum Netzwerk senden,
— bypass tunnel – den Verkehr direkt zum Netzwerk umgehen tunneln. - Enable TCP Optimization – aktivieren, wenn Sie die Option over tunnel gewählt haben. Wenn die Optimierung aktiviert ist, können Sie Portnummern angeben, für die der Verkehr optimiert werden soll. Der Verkehr für alle anderen Ports dieses spezifischen Netzwerks wird nicht optimiert. Wenn keine Portnummern angegeben sind, wird der Verkehr für alle Ports optimiert. Weitere Informationen zu dieser Funktion finden Sie .

- Gehen Sie als Nächstes zur Registerkarte Authentifizierung und klicken Sie auf +. Zur Authentifizierung verwenden wir den lokalen Server auf dem NSX Edge selbst.

- Hier können wir Richtlinien für die Erstellung neuer Passwörter auswählen und Optionen zur Sperrung von Benutzerkonten konfigurieren (z. B. die Anzahl der Wiederholungsversuche bei falscher Passworteingabe).


- Da wir lokale Authentifizierung verwenden, ist es notwendig, Benutzer zu erstellen.

- Neben grundlegenden Dingen wie Name und Passwort kann hier beispielsweise der Benutzer daran gehindert werden, das Passwort zu ändern, oder umgekehrt, er kann gezwungen werden, das Passwort beim nächsten Login zu ändern.

- Nachdem alle erforderlichen Benutzer hinzugefügt wurden, wechseln wir zur Registerkarte Installation Packages, klicken auf + und erstellen den Installer, der für die Installation durch den entfernten Mitarbeiter heruntergeladen wird.

- Wir klicken auf +. Wir wählen die Adresse und den Port des Servers aus, mit dem sich der Client verbinden wird, und die Plattformen, für die das Installationspaket generiert werden soll.

Unten in diesem Fenster können die Client-Einstellungen für Windows angegeben werden. Wir wählen aus:- start client on logon – Der VPN-Client wird beim Start auf dem entfernten Gerät automatisch hinzugefügt;
- create desktop icon – Erstellt ein Symbol des VPN-Clients auf dem Desktop;
- server security certificate validation – Validiert das Zertifikat des Servers beim Verbinden.
Die Serverkonfiguration ist abgeschlossen.

- Jetzt laden wir das von uns in dem letzten Schritt erstellte Installationspaket auf den entfernten PC herunter. Bei der Serverkonfiguration haben wir seine externe Adresse (185.148.83.16) und den Port (445) angegeben. Über diese Adresse müssen wir im Webbrowser navigieren. In meinem Fall ist das :445.
Im Anmeldefenster müssen die Anmeldeinformationen des Benutzers eingegeben werden, den wir zuvor erstellt haben.

- Nach der Anmeldung erscheint vor uns eine Liste der erstellten Installationspakete, die zum Herunterladen verfügbar sind. Wir haben nur eines erstellt – das werden wir herunterladen.

- Wir klicken auf den Link, der Download des Clients beginnt.

- Wir entpacken das heruntergeladene Archiv und starten den Installer.

- Nach der Installation starten wir den Client, im Anmeldefenster klicken wir auf Login.

- Im Fenster zur Überprüfung des Zertifikats wählen wir Ja.

- Wir geben die Anmeldeinformationen für den zuvor erstellten Benutzer ein und sehen, dass die Verbindung erfolgreich hergestellt wurde.


- Wir überprüfen die Statistiken des VPN-Clients auf dem lokalen Computer.


- In der Eingabeaufforderung von Windows (ipconfig /all) sehen wir, dass ein zusätzlicher virtueller Adapter hinzugefügt wurde und die Verbindung zum Remote-Netzwerk besteht, alles funktioniert:


- Und schließlich – eine Überprüfung aus der Edge Gateway-Konsole.

L2 VPN
L2VPN wird benötigt, wenn mehrere geografisch
verteilte Netzwerke in ein Broadcast-Domain zusammengefasst werden müssen.
Dies kann nützlich sein, beispielsweise bei der Migration einer virtuellen Maschine: Bei der Verlagerung der VM an einen anderen geografischen Standort behält die Maschine die IP-Adresseneinstellungen bei und verliert nicht die Konnektivität zu anderen Maschinen, die sich im selben L2-Domain befinden.
In unserer Testumgebung verbinden wir zwei Standorte namens A und B miteinander. Wir haben zwei NSX und zwei identisch erstellte routbare Netzwerke, die an verschiedene Edges gebunden sind. Maschine A hat die Adresse 10.10.10.250/24, Maschine B – 10.10.10.2/24.
- Im vCloud Director wechseln wir zur Registerkarte Verwaltung, gehen in das benötigte VDC, wechseln zur Registerkarte Org VDC Networks und fügen zwei neue Netzwerke hinzu.

- Wir wählen den Netzwerktyp routed aus und binden dieses Netzwerk an unser NSX. Wir aktivieren das Kontrollkästchen Create as subinterface.

- Am Ende sollten wir zwei Netzwerke haben. In unserem Beispiel heißen sie network-a und network-b mit identischen Gateway-Einstellungen und der gleichen Maske.


- Nun wechseln wir zu den Einstellungen des ersten NSX. Dies wird das NSX sein, an das das Netzwerk A gebunden ist. Es wird als Server fungieren.
Wir kehren zur NSX Edge-Oberfläche zurück / gehen zur Registerkarte VPN -> L2VPN. Wir aktivieren L2VPN, wählen den Betriebsmodus Server, geben in den Einstellungen Server Global die externe IP-Adresse des NSX an, auf der der Port für das Tunnel gehört. Standardmäßig wird der Sockel auf Port 443 geöffnet, kann jedoch geändert werden. Vergessen Sie nicht, die Verschlüsselungseinstellungen für das zukünftige Tunnel festzulegen.

- Wir wechseln zur Registerkarte Server Sites und fügen einen Peer hinzu.

- Wir aktivieren den Peer, geben einen Namen, eine Beschreibung an, falls erforderlich, und setzen einen Benutzernamen und ein Passwort. Diese Daten werden wir später zur Konfiguration der Client-Seite benötigen.
Im Egress Optimization Gateway Address geben wir die Adresse des Gateways an. Dies ist notwendig, um Konflikte mit IP-Adressen zu vermeiden, da das Gateway unserer Netzwerke die gleiche Adresse hat. Danach klicken wir auf die Schaltfläche SELECT SUB-INTERFACES.

- Hier wählen wir das gewünschte Subinterface aus. Wir speichern die Einstellungen.

- Wir sehen, dass im Einstellungen gerade der neu erstellte Client-Standort erschienen ist.

- Jetzt gehen wir zur Konfiguration des NSX auf der Client-Seite über.
Wir gehen auf die NSX-Seite B, wechseln zu VPN -> L2VPN, aktivieren L2VPN und stellen den L2VPN-Modus auf den Client-Betriebsmodus ein. Im Client Global-Register geben wir die Adresse und den Port von NSX A an, die wir zuvor als Listening IP und Port auf der Serverseite angegeben haben. Außerdem müssen wir die gleichen Verschlüsselungseinstellungen festlegen, damit sie bei der Erstellung des Tunnels übereinstimmen.

Scrollen Sie nach unten, wählen Sie das Sub-Interface aus, über das der Tunnel für L2VPN gebaut werden soll.
Geben Sie unter Egress Optimization Gateway Address die Adresse des Gateways an. Geben Sie user-id und Passwort ein. Wählen Sie das Sub-Interface aus und vergessen Sie nicht, die Einstellungen zu speichern.
- Das ist alles. Die Einstellungen auf der Client- und Serverseite sind nahezu identisch, mit Ausnahme einiger Nuancen.
- Jetzt können wir sehen, dass unser Tunnel funktioniert, indem wir zu Statistics -> L2VPN auf jedem NSX gehen.

- Wenn wir jetzt das Konsolenfenster eines beliebigen Edge Gateway öffnen, sehen wir in der ARP-Tabelle die Adressen beider VMs.

Das wäre alles über VPN auf NSX Edge. Fragen Sie, wenn etwas unklar geblieben ist. Dies ist auch der letzte Teil der Artikelreihe über die Arbeit mit NSX Edge. Wir hoffen, dass sie hilfreich waren 🙂
Quelle: habr.com























































