
Vandaag bekijken we de mogelijkheden voor VPN-configuratie die NSX Edge ons biedt.
Over het algemeen kunnen we VPN-technologieën onderverdelen in twee belangrijke soorten:
- Site-to-site VPN. Meestal wordt IPSec gebruikt om een veilige tunnel te creëren, bijvoorbeeld tussen het netwerk van het hoofdkantoor en een netwerk op een externe locatie of in de cloud.
- Remote Access VPN. Wordt gebruikt om individuele gebruikers te verbinden met de privé-netwerken van organisaties via VPN-clientsoftware.
NSX Edge stelt ons in staat om beide opties te gebruiken.
We gaan de configuratie uitvoeren met behulp van een testopstelling met twee NSX Edge, een Linux-server met de geïnstalleerde daemon en een laptop met Windows voor het testen van Remote Access VPN.
IPsec
- In de vCloud Director-interface gaan we naar het gedeelte Beheer en selecteren we vDC. Op het tabblad Edge Gateways kiezen we de betreffende Edge, klikken met de rechtermuisknop en kiezen we Edge Gateway Services.

- In de NSX Edge-interface gaan we naar het tabblad VPN-IPsec VPN, daarna naar het gedeelte IPsec VPN Sites en klikken we op + om een nieuwe site toe te voegen.

- Vul de vereiste velden in:
- Enabled – activeert de externe site.
- PFS – garandeert dat elke nieuwe cryptografische sleutel niet gerelateerd is aan eerdere sleutels.
- Local ID en Local Endpoint– extern adres van NSX Edge.
- Local Subnets– lokale netwerken die IPsec VPN gaan gebruiken.
- Peer ID en Peer Endpoint – adres van de externe site.
- Peer Subnets – netwerken die IPsec VPN gaan gebruiken aan de andere kant.
- Encryption Algorithm – encryptie-algoritme van de tunnel.

- Authentication – hoe we de peer gaan authentificeren. We kunnen een Pre-Shared Key of certificaat gebruiken.
- Pre-Shared Key – geef de sleutel op die gebruikt zal worden voor authenticatie en die aan beide zijden moet overeenkomen.
- Diffie-Hellman Group – algoritme voor sleuteluitwisseling.
Na het invullen van de vereiste velden klikken we op Keep.

- Klaar.

- Na het toevoegen van de site gaan we naar het tabblad Activation Status en activeren we de IPsec Service.

- Wanneer de instellingen zijn toegepast, gaan we naar het tabblad Statistieken -> IPsec VPN en controleren we de status van de tunnel. We zien dat de tunnel is opgestart.

- Laten we de status van de tunnel controleren vanuit de Edge gateway-console:
- show service ipsec – controleer de staat van de service.

- show service ipsec site – informatie over de staat van de site en de afgesproken parameters.

- show service ipsec sa – controleer de status van de Security Association (SA).

- show service ipsec – controleer de staat van de service.
- Controleer de connectiviteit met de externe site:
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) van 10.255.255.1 : 56(84) bytes aan gegevens. 64 bytes van 192.168.0.10: icmp_seq=1 ttl=63 tijd=59.9 ms --- 192.168.0.10 ping statistieken --- 1 pakketten verzonden, 1 ontvangen, 0% pakketverlies, tijd 0ms rtt min/avg/max/mdev = 59.941/59.941/59.941/0.000 msConfiguratiebestanden en extra commando's voor diagnose vanaf de externe 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 Bestemming Cookies Aangemaakt 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 aangemaakt: 22 mei 13:46:13 2019 huidig: 22 mei 14:07:43 2019 diff: 1290(s) hard: 3600(s) soft: 2880(s) laatst: 22 mei 13:46:13 2019 hard: 0(s) soft: 0(s) huidig: 72240(bytes) hard: 0(bytes) soft: 0(bytes) toegewezen: 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 aangemaakt: 22 mei 13:46:13 2019 huidig: 22 mei 14:07:43 2019 diff: 1290(s) hard: 3600(s) soft: 2880(s) laatst: 22 mei 13:46:13 2019 hard: 0(s) soft: 0(s) huidig: 72240(bytes) hard: 0(bytes) soft: 0(bytes) toegewezen: 860 hard: 0 soft: 0 sadb_seq=0 pid=7739 refcnt=0 - Alles is klaar, de site-to-site IPsec VPN is ingesteld en werkt.
In dit voorbeeld hebben we PSK gebruikt voor de authenticatie van de peer, maar het is ook mogelijk om certificaatgebaseerde authenticatie te gebruiken. Hiervoor moet je naar het tabblad Global Configuration gaan, certificaatauthenticatie inschakelen en het certificaat selecteren.
Daarnaast moet de authenticatiemethode in de site-instellingen worden gewijzigd.


Ik merk op dat het aantal IPsec-tunnels afhangt van de grootte van de uitgerolde Edge Gateway (hierover leest u in onze ).
SSL VPN
SSL VPN-Plus is een van de opties voor Remote Access VPN. Het stelt afzonderlijke externe gebruikers in staat om veilig verbinding te maken met privé-netwerken achter de NSX Edge-gateway. Een versleutelde tunnel wordt in het geval van SSL VPN-Plus opgezet tussen de client (Windows, Linux, Mac) en de NSX Edge.
- Laten we beginnen met de configuratie. In het beheerpaneel van de Edge Gateway-services gaan we naar het tabblad SSL VPN-Plus, vervolgens naar Serverinstellingen. We kiezen het adres en de poort waarop de server inkomende verbindingen zal afluisteren, schakelen logging in en selecteren de benodigde versleutelingsalgoritmen.

Hier kan ook het certificaat worden gewijzigd dat door de server zal worden gebruikt.
- Zodra alles gereed is, schakelen we de server in en vergeten we niet om de instellingen op te slaan.

- Vervolgens moeten we een pool van adressen configureren die we aan klanten zullen toewijzen wanneer ze verbinding maken. Dit netwerk is gescheiden van elk bestaand subnet in uw NSX-omgeving en hoeft niet op andere apparaten in fysieke netwerken te worden geconfigureerd, behalve voor de routes die ernaar verwijzen.
We gaan naar het tabblad IP Pools en drukken op +.

- We kiezen adressen, subnetmasker en gateway. Hier kunnen ook de instellingen voor de DNS- en WINS-servers worden gewijzigd.

- De resulterende pool.

- Nu voegen we netwerken toe waartoe de VPN-gebruikers toegang zullen hebben. Laten we naar het tabblad Private Networks gaan en op + klikken.

- Vul in:
- Network — het lokale netwerk waartoe externe gebruikers toegang zullen hebben.
- Send traffic, er zijn twee opties:
— over tunnel – verkeer naar het netwerk via de tunnel verzenden,
— bypass tunnel – verkeer naar het netwerk rechtstreeks om de tunnel heen verzenden. - Enable TCP Optimization – aan te vinken als u de optie over tunnel heeft gekozen. Wanneer optimalisatie is ingeschakeld, kunt u poortnummers opgeven waarvoor het verkeer geoptimaliseerd moet worden. Verkeer voor de overige poorten van dit specifieke netwerk zal niet worden geoptimaliseerd. Als poortnummers niet zijn opgegeven, wordt verkeer voor alle poorten geoptimaliseerd. Lees meer over deze functie .

- Vervolgens gaan we naar het tabblad Authenticatie en drukken op +. Voor authenticatie gebruiken we de lokale server op de NSX Edge zelf.

- Hier kunnen we beleid kiezen voor het genereren van nieuwe wachtwoorden en opties instellen voor het blokkeren van gebruikersaccounts (bijvoorbeeld het aantal pogingen bij onjuiste invoer van het wachtwoord).


- Aangezien we lokale authenticatie gebruiken, moeten we gebruikers aanmaken.

- Naast basisgegevens zoals naam en wachtwoord, kunt u hier bijvoorbeeld het wijzigen van het wachtwoord voor de gebruiker uitschakelen of juist verplichten om het wachtwoord bij de volgende inlog te wijzigen.

- Nadat alle benodigde gebruikers zijn toegevoegd, gaan we naar het tabblad Installatiepakketten, klikken we op + en maken we de installatiewizard die door de externe medewerker zal worden gedownload voor installatie.

- Klik op +. Kies het adres en de poort van de server waarmee de client verbinding zal maken, en de platforms waarvoor het installatiepakket moet worden gegenereerd.

Onder in dit venster kunnen de clientparameters voor Windows worden opgegeven. We kiezen:- start client on logon – de VPN-client wordt aan de autostart van de externe machine toegevoegd;
- create desktop icon – er wordt een pictogram van de VPN-client op het bureaublad aangemaakt;
- server security certificate validation – er wordt gevalideerd of het certificaat van de server juist is bij het verbinden.
De serverconfiguratie is voltooid.

- Nu zullen we het installatiepakket dat we in de laatste stap hebben gemaakt op de externe pc downloaden. Bij het instellen van de server hebben we het externe adres (185.148.83.16) en de poort (445) opgegeven. We moeten naar dit adres navigeren in de webbrowser. In mijn geval is dat :445.
In het aanmeldingsvenster moet u de inloggegevens invoeren van de gebruiker die we eerder hebben aangemaakt.

- Na aanmelding zien we een lijst met de gemaakte installatiepakketten die beschikbaar zijn voor download. We hebben er maar één gemaakt – die zullen we downloaden.

- Klik op de link, de download van de client begint.

- Pak het gedownloade archief uit en start de installatiewizard.

- Na de installatie starten we de client, in het aanmeldingsvenster klikken we op Inloggen.

- In het venster voor certificaatcontrole kiezen we Ja.

- Voer de inloggegevens in voor de eerder aangemaakte gebruiker en we zien dat de verbinding succesvol is tot stand gekomen.


- Controleer de statistieken van de VPN-client op de lokale computer.


- In de opdrachtprompt van Windows (ipconfig /all) zien we dat er een extra virtuele adapter is verschenen en dat er connectiviteit met het externe netwerk is, alles werkt:


- En tot slot - een controle vanuit de console van Edge Gateway.

L2 VPN
L2VPN is nodig wanneer verschillende geografisch
verdeelde netwerken in één broadcast-domein moeten worden samengevoegd.
Dit kan nuttig zijn, bijvoorbeeld bij het migreren van een virtuele machine: wanneer de VM naar een andere geografische locatie verplaatst wordt, behoudt de machine de IP-adressering instellingen en verliest geen connectiviteit met andere machines die zich in hetzelfde L2-domein bevinden.
In onze testomgeving verbinden we twee locaties met elkaar, die we respectievelijk A en B noemen. We hebben twee NSX'en en twee identiek geconfigureerde routerbare netwerken, die aan verschillende Edges zijn gekoppeld. Machine A heeft het adres 10.10.10.250/24, machine B – 10.10.10.2/24.
- In vCloud Director gaan we naar het tabblad Beheer, navigeren naar de benodigde VDC, gaan naar het tabblad Org VDC-netwerken en voegen twee nieuwe netwerken toe.

- We kiezen het type netwerk routed en koppelen dit netwerk aan onze NSX. We markeren het selectievakje Maak als subinterface.

- Uiteindelijk zouden we twee netwerken moeten hebben. In ons voorbeeld heten ze network-a en network-b met identieke instellingen voor de gateway en dezelfde subnetmasker.


- Laten we nu de instellingen van de eerste NSX bekijken. Dit wordt de NSX waaraan netwerk A is gekoppeld. Het zal fungeren als server.
We keren terug naar de interface van NSX Edge / Ga naar het tabblad VPN —> L2VPN. We schakelen L2VPN in, kiezen de modus Server, en geven in de instellingen voor Server Global het externe IP-adres van NSX op, waarop de poort voor de tunnel zal worden beluisterd. Standaard opent de socket op poort 443, maar dit kan worden gewijzigd. Vergeet niet om de instellingen voor encryptie voor de toekomstige tunnel te kiezen.

- We gaan naar het tabblad Server Sites en voegen een peer toe.

- We schakelen de peer in, geven een naam op, een beschrijving indien nodig, en stellen een gebruikersnaam en wachtwoord in. Deze gegevens hebben we later nodig bij het configureren van de clientsite.
In Egress Optimization Gateway Address geven we het adres van de gateway op. Dit is nodig om IP-adresconflicten te voorkomen, aangezien de gateway van onze netwerken hetzelfde adres heeft. Daarna klikken we op de knop SELECT SUB-INTERFACES.

- Hier kiezen we de benodigde subinterface. We slaan de instellingen op.

- We zien dat de netwerkinstellingen net het onlangs gecreëerde clientsite bevatten.

- Laten we nu overgaan tot de configuratie van NSX aan de clientzijde.
We gaan naar NSX aan zijde B, gaan naar VPN —> L2VPN, schakelen L2VPN in, en stellen de L2VPN-modus in op clientmodus. Op het tabblad Client Global geven we het adres en de poort van NSX A op, die we eerder als Listening IP en Port aan de serverzijde hebben vermeld. We moeten ook dezelfde encryptie-instellingen opgeven, zodat ze overeenkomen bij het opzetten van de tunnel.

Scroll down, select the subinterface through which the tunnel for L2VPN will be built.
In the Egress Optimization Gateway Address, set the gateway address. Set the user ID and password. Select the subinterface and remember to save the settings.
- That's it. The configurations on the client and server sides are almost identical, with a few nuances.
- We can now check that our tunnel is operational by going to Statistics → L2VPN on any NSX.

- If we now access the console of any Edge Gateway, we will see the addresses of both VMs in the ARP table.

That's all I have about VPN on NSX Edge. Feel free to ask if anything is unclear. This is also the last part of the series of articles on working with NSX Edge. We hope they were helpful 🙂
Bron: habr.com























































