
I dag vil vi se på de VPN-konfigurationsmuligheder, som NSX Edge tilbyder.
Generelt kan vi opdele VPN-teknologier i to hovedtyper:
- Site-to-site VPN. Ofte anvendes IPSec til at oprette en sikker tunnel, for eksempel mellem hovedkontorets netværk og et netværk på en fjernplacering eller i skyen.
- Remote Access VPN. Bruges til at forbinde individuelle brugere til organisationers private netværk via VPN-klientsoftware.
NSX Edge gør det muligt for os at bruge begge muligheder.
Konfigurationen vil blive udført med et testmiljø med to NSX Edge, en Linux-server med den installerede dæmon og en bærbar computer med Windows til test af Remote Access VPN.
IPsec
- I vCloud Director-grænsefladen går vi til Administration-sektionen og vælger vDC. På fanen Edge Gateways vælger vi den Edge, vi har brug for, højreklikker og vælger Edge Gateway Services.

- I NSX Edge-grænsefladen går vi til fanen VPN-IPsec VPN, derefter til sektionen IPsec VPN Sites og klikker + for at tilføje et nyt sted.

- Udfyld de nødvendige felter:
- Aktiveret – aktiverer den fjerne placering.
- PFS – garanterer, at hver ny kryptografisk nøgle ikke er relateret til nogen tidligere nøgle.
- Local ID og Local Endpoint– den eksterne adresse for NSX Edge.
- Local Subnets– lokale netværk, der vil bruge IPsec VPN.
- Peer ID og Peer Endpoint – adressen til den fjerne placering.
- Peer Subnets – netværk, der vil bruge IPsec VPN på den fjerne side.
- Krypteringsalgoritme – algoritmen til kryptering af tunnelen.

- Authentication – hvordan vi vil autentificere peer. Vi kan bruge Pre-Shared Key eller certifikat.
- Pre-Shared Key – angiv den nøgle, der skal bruges til autentificering og som skal være den samme på begge sider.
- Diffie-Hellman Group – algoritmen til nøgleudveksling.
Når de nødvendige felter er udfyldt, klikker vi på Keep.

- Færdig.

- Efter at have tilføjet placeringen går vi til fanen Activation Status og aktiverer IPsec Service.

- Når indstillingerne er anvendt, går vi til fanen Statistics —> IPsec VPN og tjekker tunnelens status. Vi ser, at tunnelen er oprettet.

- Lad os kontrollere tunnelens status fra Edge gateway-konsollen:
- show service ipsec – tjekker service-status.

- show service ipsec site – information om webstedets status og aftalte parametre.

- show service ipsec sa – tjekker status for Security Association (SA).

- show service ipsec – tjekker service-status.
- Kontrol af forbindelsen til den fjerne placering:
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 msKonfigurationsfiler og ekstra kommandoer til diagnose fra den fjerntliggende 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 Destination Cookies Created 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 created: May 22 13:46:13 2019 current: May 22 14:07:43 2019 diff: 1290(s) hard: 3600(s) soft: 2880(s) last: May 22 13:46:13 2019 hard: 0(s) soft: 0(s) current: 72240(bytes) hard: 0(bytes) soft: 0(bytes) allocated: 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 created: May 22 13:46:13 2019 current: May 22 14:07:43 2019 diff: 1290(s) hard: 3600(s) soft: 2880(s) last: May 22 13:46:13 2019 hard: 0(s) soft: 0(s) current: 72240(bytes) hard: 0(bytes) soft: 0(bytes) allocated: 860 hard: 0 soft: 0 sadb_seq=0 pid=7739 refcnt=0 - Alt er klar, site-to-site IPsec VPN er konfigureret og fungerer.
I dette eksempel brugte vi PSK til autentificering af peer, men det er også muligt at bruge certifikatbaseret autentificering. For dette skal du gå til fanen Global Configuration, aktivere certifikatbaseret autentificering og vælge selve certifikatet.
Derudover skal autentificeringsmetoden ændres i siteindstillingerne.


Jeg vil bemærke, at antallet af IPsec-tunneler afhænger af størrelsen på den implementerede Edge Gateway (læs mere om dette i vores ).
SSL VPN
SSL VPN-Plus er en af mulighederne for Remote Access VPN. Det giver enkeltstående fjernbrugere mulighed for sikkert at oprette forbindelse til private netværk bag NSX Edge-gatewayen. Den krypterede tunnel oprettes mellem klienten (Windows, Linux, Mac) og NSX Edge.
- Lad os begynde konfigurationen. I kontrolpanelet for Edge Gateway-tjenester går vi til fanen SSL VPN-Plus og derefter til Serverindstillinger. Vi vælger adressen og porten, som serveren skal lytte til indgående forbindelser, aktiverer logging og vælger de nødvendige krypteringsalgoritmer.

Her kan vi også ændre det certifikat, som serveren vil bruge.
- Når alt er klar, aktiverer vi serveren og glemmer ikke at gemme indstillingerne.

- Dernæst skal vi konfigurere puljen af adresser, som vi vil udlevere til klienterne, når de opretter forbindelse. Dette netværk er adskilt fra alle eksisterende subnet i dit NSX-miljø, og det skal ikke konfigureres på andre enheder i de fysiske netværk bortset fra ruter, der peger på det.
Gå til fanen IP Pools og klik på +.

- Vælg adresser, subnetmaske og gateway. Her kan vi også ændre indstillingerne for DNS- og WINS-serverne.

- Den resulterende pulje.

- Nu tilføjer vi netværk, som VPN-brugere vil have adgang til. Gå til fanen Private Networks og klik på +.

- Udfyld:
- Network — det lokale netværk, som fjernbrugere vil have adgang til.
- Send trafik, der er to muligheder:
— over tunnel – sende trafik til netværket gennem tunnelen,
— bypass tunnel – sende trafik til netværket direkte udenom tunnelen. - Enable TCP Optimization – marker hvis du valgte over tunnel. Når optimering er aktiveret, kan du angive portnumre, hvor trafikken skal optimeres. Trafikken for de resterende porte i dette specifikke netværk vil ikke blive optimeret. Hvis Portnumre ikke er angivet, optimeres trafikken for alle porte. Læs mere om denne funktion .

- Gå derefter til fanen Authentication og klik på +. Til autentificering vil vi bruge den lokale server på selve NSX Edge.

- Her kan vi vælge politikker for generering af nye adgangskoder og indstille muligheder for blokering af brugerkonti (f.eks. antallet af forsøg ved forkert indtastning af adgangskode).


- Da vi bruger lokal autentificering, er det nødvendigt at oprette brugere.

- Udover basale ting som navn og adgangskode kan man for eksempel forbyde brugeren at ændre adgangskoden eller omvendt tvinge dem til at ændre den ved næste login.

- Når alle nødvendige brugere er tilføjet, går vi til fanen Installationspakker, klikker på + og opretter installationsprogrammet, som fjernmedarbejderen skal hente til installation.

- Vi klikker på +. Vælger IP-adressen og porten på serveren, som klienten skal forbinde til, samt de platforme, der skal genereres installeringspakker til.

Nedenfor i dette vindue kan vi angive klientparametre for Windows. Vi vælger:- start client on logon – VPN-klienten vil blive tilføjet til autostart på den fjernlige maskine;
- create desktop icon – vil oprette et ikon for VPN-klienten på skrivebordet;
- server security certificate validation – vil validere serverens certifikat ved tilslutning.
Serverkonfigurationen er færdig.

- Nu downloader vi den installationspakke, vi har oprettet i det sidste skridt, til den fjernliggende PC. Ved konfigurationen af serveren angav vi dens eksterne adresse (185.148.83.16) og port (445). Det er denne adresse, vi skal besøge i webbrowsere. I mit tilfælde er det :445.
I loginvinduet er det nødvendigt at indtaste de brugeroplysninger for den bruger, vi tidligere har oprettet.

- Efter login vises en liste over de oprettede installationspakker, der er tilgængelige til download. Vi har kun oprettet én – den vil vi downloade.

- Vi klikker på linket, og download af klienten begynder.

- Vi pakker den downloaded ZIP-fil ud og kører installationsprogrammet.

- Efter installationen starter vi klienten, og i loginvinduet klikker vi på Login.

- I vinduet til certifikatkontrol vælger vi Yes.

- Vi indtaster loginoplysningerne for den tidligere oprettede bruger og ser, at forbindelsen er oprettet med succes.


- Vi kontrollerer VPN-klientens statistikker på den lokale computer.


- I Windows kommandoprompt (ipconfig /all) kan vi se, at der er oprettet en ekstra virtuel adapter, og forbindelsen til det fjerntliggende netværk fungerer: alt er i orden:


- Og til sidst – en kontrol fra Edge Gateway-konsollen.

L2 VPN
L2VPN vil være nødvendigt, når man skal samle flere geografisk
fordelte netværk i ét broadcast-domæne.
Dette kan være nyttigt, for eksempel ved migration af en virtuel maskine: når VM'en flyttes til en anden geografisk placering, vil maskinen bevare IP-adresseindstillingerne og ikke miste forbindelsen til andre maskiner, der befinder sig i samme L2-domæne som den.
I vores testmiljø forbinder vi to placeringer, som vi kalder A og B. Vi har to NSX og to identisk oprettede routbare netværk, der er forbundet til forskellige Edge. Maskine A har adressen 10.10.10.250/24, maskine B – 10.10.10.2/24.
- I vCloud Director går vi til fanen Administration, går ind i det VDC, vi har brug for, går til fanen Org VDC Networks og tilføjer to nye netværk.

- Vi vælger netværkstypen routed og knytter dette netværk til vores NSX. Vi markerer afkrydsningsfeltet Opret som subinterface.

- Resultatet skal være to netværk. I vores eksempel hedder de network-a og network-b med identiske gateway-indstillinger og samme maske.


- Lad os nu gå til indstillingerne for den første NSX. Dette vil være NSX, som netværk A er knyttet til. Det vil fungere som server.
Vi vender tilbage til NSX Edge interface / går til fanen VPN → L2VPN. Vi aktiverer L2VPN, vælger driftsmode Server, og i indstillingerne for Server Global angiver vi den eksterne IP-adresse for NSX, hvor porten til tunnelen vil lytte. Som standard åbnes soklen på port 443, men dette kan ændres. Husk at vælge krypteringsindstillingerne for den fremtidige tunnel.

- Vi går til fanen Server Sites og tilføjer en peer.

- Vi aktiverer peer, angiver et navn, en beskrivelse, hvis nødvendigt, og angiver brugernavn og adgangskode. Disse oplysninger vil være nyttige senere, når vi konfigurerer klientens websted.
I Egress Optimization Gateway Address angiver vi gateway-adressen. Dette er nødvendigt for at undgå konflikter i IP-adresser, da gatewayen for vores netværk har den samme adresse. Derefter klikker vi på knappen VÆLG SUB-INTERFACES.

- Her vælger vi den ønskede subinterface. Vi gemmer indstillingerne.

- Vi ser, at den netop oprettede klientwebsted er dukket op i indstillingerne.

- Lad os nu gå videre til konfigurationen af NSX fra klientens side.
Vi logger ind på NSX side B, går til VPN → L2VPN, aktiverer L2VPN, sætter L2VPN-mode til klientdriftsmode. I fanen Client Global angiver vi adressen og porten til NSX A, som vi tidligere angav som Listening IP og Port fra serversiden. Det er også nødvendigt at indstille identiske krypteringsindstillinger, så de er kompatible, når tunnelen oprettes.

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

- If we now enter 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 useful 🙂
Kilde: habr.com























































