
Heute werden wir die VPN-Konfigurationsmöglichkeiten untersuchen, die uns NSX Edge bietet.
Im Allgemeinen können wir 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 der Hauptniederlassung und einem Netzwerk an einem Remote-Standort oder in der Cloud.
- Remote Access VPN. Wird verwendet, um einzelne Benutzer über eine VPN-Client-Software mit den privaten Netzwerken der Organisation zu verbinden.
NSX Edge ermöglicht uns die Nutzung beider Varianten.
Die Konfiguration werden wir mit einem Teststand durchführen, der aus zwei NSX Edge, einem Linux-Server mit installiertem Daemon und einem Laptop mit Windows für die Testung des Remote Access VPN besteht.
IPsec
- Im vCloud Director-Interface wechseln wir zum Abschnitt Administration 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 Services.

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

- Füllen Sie die erforderlichen Felder aus:
- Enabled – aktiviert den Remote-Standort.
- PFS – stellt sicher, dass jeder neue kryptografische Schlüssel nicht mit einem vorherigen Schlüssel verbunden ist.
- Lokale ID und Lokaler Endpunktt – externe Adresse des NSX Edge.
- Lokales Subnetzs – lokale Netzwerke, die IPsec VPN verwenden werden.
- Peer-ID und Peer-Endpunkt – Adresse des entfernten Standorts.
- Peer-Subnetze – Netzwerke, die IPsec VPN auf der entfernten Seite verwenden.
- Verschlüsselungsalgorithmus – Tunnelverschlüsselungsalgorithmus.

- Authentifizierung – wie wir den Peer authentifizieren. Es kann ein gemeinsamer Schlüssel oder ein Zertifikat verwendet werden.
- Gemeinsamer Schlüssel – der Schlüssel, der für die Authentifizierung verwendet wird und auf beiden Seiten identisch sein muss.
- Diffie-Hellman-Gruppe – Schlüsselvereinbarungsalgorithmus.
Nachdem die erforderlichen Felder ausgefüllt sind, klicken Sie auf Beibehalten.

- Fertig.

- Nach dem Hinzufügen des Standorts gehen wir zum Tab Aktivierungsstatus und aktivieren den IPsec-Dienst.

- Nachdem die Einstellungen angewendet wurden, wechseln wir zum Tab Statistiken -> IPsec VPN und überprüfen den Status des Tunnels. Wir sehen, dass der Tunnel aktiv ist.

- Überprüfen wir den Status des Tunnels über die Edge-Gateway-Konsole:
- show service ipsec – Überprüfung des Dienststatus.

- show service ipsec site – Informationen über den Status der Site 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 Erreichbarkeit des entfernten Standorts:
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-Statistiken --- 1 gesendetes Paket, 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 Diagnostik eines entfernten Linux-Servers:
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) letzte: 22. Mai 13:46:13 2019 hard: 0(s) soft: 0(s) aktuell: 72240(bytes) hard: 0(bytes) soft: 0(bytes) zugeteilt: 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) letzte: 22. Mai 13:46:13 2019 hard: 0(s) soft: 0(s) aktuell: 72240(bytes) hard: 0(bytes) soft: 0(bytes) zugeteilt: 860 hard: 0 soft: 0 sadb_seq=0 pid=7739 refcnt=0 - Alles ist bereit, die site-to-site IPsec VPN ist konfiguriert und funktioniert.
In diesem Beispiel haben wir PSK für die Peer-Authentifizierung verwendet, aber es besteht auch die Möglichkeit, die Authentifizierung per Zertifikat zu verwenden. Dazu müssen Sie zum Tab Globale Konfiguration gehen, die Authentifizierung per Zertifikat aktivieren und das entsprechende Zertifikat auswählen.
Darüber hinaus muss in den Einstellungen der Seite die Authentifizierungsmethode geändert werden.


Ich möchte darauf hinweisen, dass die Anzahl der IPsec-Tunnel von der Größe des bereitgestellten Edge Gateways abhängt (lesen Sie mehr dazu in unserer ).
SSL VPN
SSL VPN-Plus ist eine der Varianten des Remote Access VPN. Es ermöglicht einzelnen entfernten Benutzern, sicher auf private Netzwerke hinter dem NSX Edge Gateway zuzugreifen. Der verschlüsselte Tunnel wird im Fall von SSL VPN-Plus zwischen dem Client (Windows, Linux, Mac) und dem NSX Edge eingerichtet.
- Lassen Sie uns mit der Konfiguration beginnen. Im Steuerpanel des Edge Gateway wechseln wir zum Tab SSL VPN-Plus, dann zu den Servereinstellungen. Wir wählen die Adresse und den Port, auf dem der Server eingehende Verbindungen empfangen wird, aktivieren das Logging und wählen die erforderlichen Verschlüsselungsalgorithmen.

Hier kann auch das Zertifikat geändert werden, das der Server verwenden wird.
- Nachdem alles vorbereitet ist, starten wir den Server und vergessen nicht, die Einstellungen zu speichern.

- Als Nächstes müssen wir den Pool von IP-Adressen konfigurieren, die wir unseren Kunden bei der Verbindung zuweisen werden. Dieses Netzwerk ist von jedem bestehenden Subnetz in Ihrer NSX-Umgebung getrennt und muss nicht auf anderen Geräten im physischen Netzwerk konfiguriert werden, außer für die Routen, die darauf zeigen.
Gehen Sie zum Reiter IP-Pools und klicken Sie auf +.

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

- Der resultierende Pool.

- Jetzt fügen wir die Netzwerke hinzu, auf die die sich mit dem VPN verbindenden Benutzer Zugriff haben werden. Wechseln Sie zum Reiter Private Netzwerke und klicken Sie auf +.

- Füllen Sie Folgendes aus:
- Netzwerk — das lokale 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, ohne den Tunnel. - TCP-Optimierung aktivieren – markieren Sie dies, wenn Sie die Option über Tunnel gewählt haben. Wenn die Optimierung aktiviert ist, können Sie Portnummern angeben, für die der Datenverkehr optimiert werden soll. Für alle anderen Ports dieses speziellen Netzwerks wird der Datenverkehr nicht optimiert. Wenn keine Portnummern angegeben sind, wird der Datenverkehr für alle Ports optimiert. Weitere Informationen zu dieser Funktion finden Sie hier. .

- Gehen Sie dann zur Registerkarte Authentifizierung und klicken Sie auf +. Für die Authentifizierung verwenden wir den lokalen Server auf dem NSX Edge.

- Hier können wir Richtlinien für die Generierung 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, müssen Benutzer erstellt werden.

- Neben grundlegenden Dingen wie Namen und Passwort können hier beispielsweise die Möglichkeit untersagt werden, das Passwort zu ändern, oder umgekehrt, der Benutzer gezwungen werden, das Passwort bei der nächsten Anmeldung zu ändern.

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

- Klicken Sie auf +. Wählen Sie die Adresse und den Port des Servers aus, mit dem sich der Client verbinden soll, sowie die Plattformen, für die das Installationspaket generiert werden muss.

Im Folgenden können Sie die Client-Einstellungen für Windows angeben. Wählen Sie:- Client beim Anmelden starten – Der VPN-Client wird zu den Autostart-Programmen des Remote-PCs hinzugefügt;
- Desktop-Verknüpfung erstellen – Eine Verknüpfung des VPN-Clients wird auf dem Desktop erstellt;
- Server-Sicherheitszertifikat validieren – Das Zertifikat des Servers wird bei der Verbindung validiert.
Die Serverkonfiguration ist abgeschlossen.

- Laden Sie nun das Installationspaket, das wir im letzten Schritt erstellt haben, auf den Remote-PC herunter. Bei der Konfiguration des Servers haben wir seine externe Adresse (185.148.83.16) und den Port (445) angegeben. Wir müssen in diesem Fall diese Adresse im Webbrowser aufrufen. In meinem Fall ist das :445.
Im Anmeldefenster müssen die Anmeldedaten des Benutzers eingegeben werden, den wir zuvor erstellt haben.

- Nach der Anmeldung erscheint eine Liste der erstellten Installationspakete, die zum Download verfügbar sind. Wir haben nur eines erstellt - dieses werden wir herunterladen.

- Klicken Sie auf den Link, der Download des Clients beginnt.

- Entpacken Sie das heruntergeladene Archiv und starten Sie den Installer.

- Nach der Installation starten wir den Client und klicken im Anmeldefenster auf Anmelden.

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

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


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


- In der Eingabeaufforderung von Windows (ipconfig /all) sehen wir, dass ein zusätzliches virtuelles Adapter hinzugekommen ist und die Verbindung zum Remote-Netzwerk besteht, alles funktioniert:


- Und abschließend – eine Überprüfung über die Konsole des Edge Gateway.

L2 VPN
L2VPN wird benötigt, wenn mehrere geografisch
verteilerte Netzwerke in eine Broadcast-Domain integriert werden sollen.
Das kann zum Beispiel bei der Migration einer virtuellen Maschine nützlich sein: Wenn die VM an einen anderen geografischen Standort verschoben wird, behält sie ihre IP-Adressierung und verliert die Verbindung zu anderen Maschinen, die sich im selben L2-Domain befinden.
In unserer Testumgebung verbinden wir zwei Standorte miteinander, die wir A und B nennen. Wir haben zwei NSX und zwei identisch erstellte routierbare Netzwerke, die an verschiedene Edge gebunden sind. Maschine A hat die Adresse 10.10.10.250/24, Maschine B – 10.10.10.2/24.
- Im vCloud Director wechseln wir zum Tab Verwaltung, suchen das gewünschte VDC und navigieren zu den Org VDC Netzwerken, um zwei neue Netzwerke hinzuzufügen.

- Wir wählen den Netzwerktype "Routed" und verbinden dieses Netzwerk mit unserem NSX. Wir setzen das Kontrollkästchen "Als Subinterface erstellen".

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


- Jetzt gehen wir zu den Einstellungen des ersten NSX. Dies wird der NSX sein, mit dem Netzwerk A verbunden ist. Er wird als Server fungieren.
Wir kehren zur NSX Edge-Oberfläche zurück. Gehen wir zum Tab VPN → L2VPN. Aktivieren wir L2VPN, wählen den Server-Modus und geben in den globalen Servereinstellungen die externe IP-Adresse des NSX an, über die der Port für das Tunnel gehört. Standardmäßig wird der Socket auf Port 443 geöffnet, aber das kann geändert werden. Vergessen Sie nicht, die Verschlüsselungseinstellungen für das zukünftige Tunnel zu wählen.

- Wir wechseln zum Tab Server Standorte und fügen einen Peer hinzu.

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

- Hier wählen wir den benötigten Subinterface aus. Wir speichern die Einstellungen.

- Wir sehen, dass in den Einstellungen die gerade erstellte Client-Seite erschienen ist.

- Lassen Sie uns nun mit der Konfiguration von NSX auf der Client-Seite fortfahren.
Wir melden uns bei NSX Seite B an, gehen zu VPN → L2VPN, aktivieren L2VPN und setzen den L2VPN-Modus auf den Client-Betriebsmodus. Auf der Registerkarte Client Global geben wir die Adresse und den Port von NSX A an, die wir zuvor als Listening IP und Port auf der Server-Seite definiert haben. Außerdem müssen die gleichen Verschlüsselungseinstellungen ausgewählt werden, damit sie beim Hochfahren des Tunnels übereinstimmen.

Scrollen Sie nach unten, wählen Sie den Subinterface aus, über den der Tunnel für L2VPN aufgebaut wird.
In der Egress-Optimierung Gateway Address tragen wir die Adresse des Gateways ein. Wir geben die Benutzer-ID und das Passwort ein. Wählen Sie den Subinterface aus und vergessen Sie nicht, die Einstellungen zu speichern.
- Das war's auch schon. Die Einstellungen der Client- und Server-Seite sind nahezu identisch, mit Ausnahme einiger Nuancen.
- Jetzt können wir sehen, dass unser Tunnel funktioniert, indem wir zu Statistics -> L2VPN in jedem NSX wechseln.

- Wenn wir jetzt die Konsole eines beliebigen Edge Gateways öffnen, sehen wir in der ARP-Tabelle auf jedem von ihnen die Adressen beider VMs.

Das war alles zum Thema VPN auf NSX Edge. Fragen Sie gerne, wenn etwas unklar geblieben ist. Dies ist außerdem der letzte Teil der Serie über die Arbeit mit NSX Edge. Wir hoffen, sie waren hilfreich 🙂
Quelle: habr.com























































