Vandaag gaan we kijken naar de VPN-configuratie-opties die NSX Edge ons biedt.
Over het algemeen kunnen we VPN-technologieën in twee hoofdtypen verdelen:
Site-naar-site VPN. IPSec wordt het meest gebruikt om een veilige tunnel te creëren, bijvoorbeeld tussen een hoofdkantoornetwerk en een netwerk op een externe locatie of in de cloud.
VPN voor toegang op afstand. Wordt gebruikt om individuele gebruikers te verbinden met zakelijke privénetwerken met behulp van de VPN-clientsoftware.
Met NSX Edge kunnen we beide opties gebruiken.
We zullen configureren met behulp van een testbank met twee NSX Edge, een Linux-server met een geïnstalleerde daemon wasbeer en een Windows-laptop om Remote Access VPN te testen.
IPsec
Ga in de vCloud Director-interface naar het gedeelte Beheer en selecteer de vDC. Selecteer op het tabblad Edge Gateways de Edge die we nodig hebben, klik met de rechtermuisknop en selecteer Edge Gateway Services.
Ga in de NSX Edge-interface naar het tabblad VPN-IPsec VPN, vervolgens naar het gedeelte IPsec VPN-sites en klik op + om een nieuwe site toe te voegen.
Vul de verplichte velden in:
ingeschakeld – activeert de externe site.
PFS – zorgt ervoor dat elke nieuwe cryptografische sleutel niet wordt geassocieerd met een eerdere sleutel.
Lokale ID en lokaal eindpuntt is het externe adres van de NSX Edge.
Lokaal subnets - lokale netwerken die IPsec VPN zullen gebruiken.
Peer-ID en peer-eindpunt – adres van de externe site.
Peer-subnetten - netwerken die IPsec VPN aan de externe kant zullen gebruiken.
authenticatie - hoe we de peer authenticeren. U kunt een Pre-Shared Key of een certificaat gebruiken.
Vooraf gedeelde sleutel - specificeer de sleutel die zal worden gebruikt voor authenticatie en moet aan beide zijden overeenkomen.
Diffie Hellman-groep - algoritme voor sleuteluitwisseling.
Klik na het invullen van de vereiste velden op Behouden.
Klaar.
Ga na het toevoegen van de site naar het tabblad Activeringsstatus en activeer de IPsec-service.
Nadat de instellingen zijn toegepast, gaat u naar het tabblad Statistieken -> IPsec VPN en controleert u de status van de tunnel. We zien dat de tunnel omhoog is gekomen.
Controleer de tunnelstatus van de Edge gateway-console:
show service ipsec - controleer de status van de service.
show service ipsec site - Informatie over de status van de site en onderhandelde parameters.
show service ipsec sa - controleer de status van de Security Association (SA).
Connectiviteit controleren met een 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) from 10.255.255.1 : 56(84) bytes of data.
64 bytes from 192.168.0.10: icmp_seq=1 ttl=63 time=59.9 ms
--- 192.168.0.10 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 59.941/59.941/59.941/0.000 ms
Configuratiebestanden en aanvullende opdrachten voor diagnose van een externe Linux-server:
In dit voorbeeld hebben we PSK gebruikt voor peer-authenticatie, maar certificaatauthenticatie is ook mogelijk. Ga hiervoor naar het tabblad Algemene configuratie, schakel certificaatverificatie in en selecteer het certificaat zelf.
Bovendien moet u in de site-instellingen de authenticatiemethode wijzigen.
Ik merk op dat het aantal IPsec-tunnels afhankelijk is van de grootte van de geïmplementeerde Edge Gateway (lees hierover in ons eerste artikel).
SSL VPN
SSL VPN-Plus is een van de Remote Access VPN-opties. Hiermee kunnen individuele externe gebruikers veilig verbinding maken met privénetwerken achter de NSX Edge Gateway. Er wordt in het geval van SSL VPN-plus een versleutelde tunnel tot stand gebracht tussen de client (Windows, Linux, Mac) en NSX Edge.
Laten we beginnen met instellen. Ga in het configuratiescherm van de Edge Gateway-service naar het tabblad SSL VPN-Plus en vervolgens naar Serverinstellingen. We selecteren het adres en de poort waarop de server zal luisteren naar inkomende verbindingen, schakelen logboekregistratie in en selecteren de benodigde versleutelingsalgoritmen.
Hier kunt u ook het certificaat wijzigen dat de server zal gebruiken.
Nadat alles klaar is, zet u de server aan en vergeet u niet de instellingen op te slaan.
Vervolgens moeten we een pool met adressen opzetten die we bij verbinding aan klanten zullen verstrekken. Dit netwerk staat los van elk bestaand subnet in uw NSX-omgeving en hoeft niet te worden geconfigureerd op andere apparaten op de fysieke netwerken, met uitzondering van de routes die ernaartoe verwijzen.
Ga naar het tabblad IP Pools en klik op +.
Selecteer adressen, subnetmasker en gateway. Hier kunt u ook de instellingen voor DNS- en WINS-servers wijzigen.
Het resulterende zwembad.
Laten we nu de netwerken toevoegen waartoe gebruikers die verbinding maken met de VPN toegang hebben. Ga naar het tabblad Privénetwerken en klik op +.
Wij vullen in:
Netwerk - een lokaal netwerk waartoe externe gebruikers toegang hebben.
Stuur verkeer, het heeft twee opties:
- over tunnel - stuur verkeer naar het netwerk via de tunnel,
— tunnel omzeilen: verkeer rechtstreeks naar het netwerk sturen waarbij de tunnel wordt omzeild.
Schakel TCP-optimalisatie in - controleer of u de optie over tunnel hebt gekozen. Wanneer optimalisatie is ingeschakeld, kunt u de poortnummers opgeven waarvoor u het verkeer wilt optimaliseren. Verkeer voor de resterende poorten op dat specifieke netwerk wordt niet geoptimaliseerd. Als er geen poortnummers zijn opgegeven, wordt het verkeer voor alle poorten geoptimaliseerd. Lees meer over deze functie hier.
Ga vervolgens naar het tabblad Verificatie en klik op +. Voor authenticatie gebruiken we een lokale server op de NSX Edge zelf.
Hier kunnen we beleid selecteren voor het genereren van nieuwe wachtwoorden en opties configureren voor het blokkeren van gebruikersaccounts (bijvoorbeeld het aantal nieuwe pogingen als het wachtwoord onjuist is ingevoerd).
Omdat we lokale authenticatie gebruiken, moeten we gebruikers aanmaken.
Naast basiszaken als een naam en wachtwoord kun je hier bijvoorbeeld de gebruiker verbieden het wachtwoord te wijzigen of juist dwingen om het wachtwoord te wijzigen de volgende keer dat hij inlogt.
Nadat alle benodigde gebruikers zijn toegevoegd, gaat u naar het tabblad Installatiepakketten, klikt u op + en maakt u het installatieprogramma zelf aan, dat door een externe medewerker wordt gedownload voor installatie.
Druk op +. Selecteer het adres en de poort van de server waarmee de client verbinding zal maken en de platforms waarvoor u het installatiepakket wilt genereren.
Onderaan in dit venster kunt u de clientinstellingen voor Windows opgeven. Kiezen:
start client bij aanmelding – de VPN-client wordt toegevoegd aan opstarten op de externe computer;
bureaubladpictogram maken - maakt een VPN-clientpictogram op het bureaublad;
validatie serverbeveiligingscertificaat - valideert het servercertificaat bij verbinding.
De serverconfiguratie is voltooid.
Laten we nu het installatiepakket dat we in de laatste stap hebben gemaakt downloaden naar een externe pc. Bij het instellen van de server hebben we het externe adres (185.148.83.16) en poort (445) opgegeven. Het is op dit adres dat we in een webbrowser moeten gaan. In mijn geval is dat zo 185.148.83.16: 445.
In het autorisatievenster moet u de gebruikersreferenties invoeren die we eerder hebben gemaakt.
Na autorisatie zien we een lijst met gemaakte installatiepakketten die kunnen worden gedownload. We hebben er maar één gemaakt - we zullen het downloaden.
We klikken op de link, het downloaden van de client begint.
Pak het gedownloade archief uit en voer het installatieprogramma uit.
Start na de installatie de client, klik in het autorisatievenster op Inloggen.
Selecteer Ja in het certificaatverificatievenster.
We voeren de inloggegevens in van de eerder aangemaakte gebruiker en zien dat de verbinding met succes is voltooid.
We controleren de statistieken van de VPN-client op de lokale computer.
In de Windows-opdrachtregel (ipconfig / all) zien we dat er een extra virtuele adapter is verschenen en dat er verbinding is met het externe netwerk, alles werkt:
En tot slot, controleer vanaf de Edge Gateway-console.
L2 VPN
L2VPN is nodig wanneer u meerdere geografisch moet combineren
gedistribueerde netwerken in één uitzenddomein.
Dit kan bijvoorbeeld handig zijn bij het migreren van een virtuele machine: wanneer een VM naar een ander geografisch gebied verhuist, behoudt de machine zijn IP-adresinstellingen en verliest hij de connectiviteit met andere machines die zich in hetzelfde L2-domein bevinden niet.
In onze testomgeving zullen we twee sites met elkaar verbinden, we noemen ze respectievelijk A en B. We hebben twee NSX's en twee identiek gemaakte gerouteerde netwerken die zijn aangesloten op verschillende Edges. Machine A heeft het adres 10.10.10.250/24, Machine B heeft het adres 10.10.10.2/24.
Ga in vCloud Director naar het tabblad Beheer, ga naar de VDC die we nodig hebben, ga naar het tabblad Org VDC Networks en voeg twee nieuwe netwerken toe.
Selecteer het gerouteerde netwerktype en bind dit netwerk aan onze NSX. We zetten de checkbox Create as subinterface.
Als gevolg hiervan zouden we twee netwerken moeten krijgen. In ons voorbeeld heten ze netwerk-a en netwerk-b met dezelfde gateway-instellingen en hetzelfde masker.
Laten we nu naar de instellingen van de eerste NSX gaan. Dit wordt de NSX waarop netwerk A is aangesloten. Het zal fungeren als een server.
We keren terug naar de NSx Edge-interface / Ga naar het tabblad VPN -> L2VPN. We schakelen L2VPN in, selecteren de Server-bedrijfsmodus, in de Server Global-instellingen specificeren we het externe NSX IP-adres waarop de poort voor de tunnel zal luisteren. Standaard opent de socket op poort 443, maar dit kan worden gewijzigd. Vergeet niet de coderingsinstellingen voor de toekomstige tunnel te selecteren.
Ga naar het tabblad Serversites en voeg een peer toe.
We zetten de peer aan, stellen de naam, beschrijving in, stellen indien nodig de gebruikersnaam en het wachtwoord in. We hebben deze gegevens later nodig bij het opzetten van de klantsite.
In Egress Optimization Gateway Address stellen we het gateway-adres in. Dit is nodig zodat er geen conflict is tussen IP-adressen, omdat de gateway van onze netwerken hetzelfde adres heeft. Klik vervolgens op de knop SELECT SUB-INTERFACES.
Hier selecteren we de gewenste subinterface. We slaan de instellingen op.
We zien dat de nieuw gemaakte klantensite in de instellingen is verschenen.
Laten we nu verder gaan met het configureren van NSX vanaf de clientzijde.
We gaan naar NSX kant B, gaan naar VPN -> L2VPN, schakelen L2VPN in, stellen L2VPN-modus in op clientmodus. Stel op het tabblad Client Global het adres en de poort van NSX A in, die we eerder hebben opgegeven als Listening IP en Port aan de serverzijde. Het is ook nodig om dezelfde coderingsinstellingen in te stellen, zodat ze consistent zijn wanneer de tunnel omhoog gaat.
We scrollen naar beneden, selecteren de subinterface waardoor de tunnel voor L2VPN zal worden gebouwd.
In Egress Optimization Gateway Address stellen we het gateway-adres in. Stel gebruikersnaam en wachtwoord in. We selecteren de subinterface en vergeten niet de instellingen op te slaan.
Eigenlijk is dat alles. De instellingen van de client- en serverzijde zijn vrijwel identiek, met uitzondering van enkele nuances.
Nu kunnen we zien dat onze tunnel werkt door naar Statistieken -> L2VPN te gaan op elke NSX.
Als we nu naar de console van een Edge Gateway gaan, zien we op elk ervan in de arp-tabel de adressen van beide VM's.
Dat is alles over VPN op NSX Edge. Vraag of iets niet duidelijk is. Het is ook het laatste deel van een serie artikelen over werken met NSX Edge. We hopen dat ze nuttig waren 🙂