
Danas ćemo pogledati mogućnosti konfiguracije VPN-a koje nam nudi NSX Edge.
U suštini, možemo podeliti VPN tehnologije na dva ključna tipa:
- VPN između lokacija. Najčešće se koristi IPSec za izradu sigurnog tunela, na primer, između mreže glavne kancelarije i mreže na udaljenoj lokaciji ili u oblaku.
- VPN za daljinski pristup. Koristi se za povezivanje pojedinačnih korisnika sa privatnim mrežama organizacija pomoću VPN klijentskog softvera.
NSX Edge nam omogućava korišćenje obe opcije.
Konfiguraciju ćemo vršiti pomoću testne stanice sa dva NSX Edge, Linux servera sa instaliranim demonom i laptopa sa Windows-om za testiranje VPN-a za daljinski pristup.
IPsec
- U interfejsu vCloud Director prelazimo u odeljak Administracija i odabiremo vDC. Na kartici Edge Gateways biramo željeni Edge, kliknemo desnim tasterom i biramo Edge Gateway Services.

- U interfejsu NSX Edge odlazimo na karticu VPN-IPsec VPN, zatim u odeljak IPsec VPN Sites i kliknemo + da dodamo novu lokaciju.

- Popunjavamo potrebna polja:
- Omogućeno – aktivira udaljenu lokaciju.
- PFS – garantuje da svaki novi kriptografski ključ nije povezan sa bilo kojim prethodnim ključem.
- Local ID i Local Endpoint– spoljašnja adresa NSX Edge.
- Local Subnets– lokalne mreže koje će koristiti IPsec VPN.
- Peer ID i Peer Endpoint – adresa udaljene lokacije.
- Peer Subnets – mreže koje će koristiti IPsec VPN na udaljenoj strani.
- Algoritam šifrovanja – algoritam za šifrovanje tunela.

- Authentication – kako ćemo autentifikovati peer. Možemo koristiti Pre-Shared Key ili sertifikat.
- Pre-Shared Key – navodimo ključ koji će se koristiti za autentifikaciju i koji mora biti identičan na obe strane.
- Diffie-Hellman grupa – algoritam razmene ključeva.
Nakon popunjavanja potrebnih polja kliknemo na Sačuvaj.

- Gotovo.

- Nakon dodavanja lokacije prelazimo na karticu Status aktivacije i aktiviramo IPsec uslugu.

- Kada se podešavanja primene, prelazimo na karticu Statistika –> IPsec VPN i proveravamo status tunela. Vidimo da je tunel podignut.

- Proveravamo status tunela iz konzole Edge gateway-a:
- show service ipsec – provera stanja usluge.

- show service ipsec site – informacije o stanju lokacije i dogovorenim parametrima.

- show service ipsec sa – provera statusa sigurnosne asocijacije (SA).

- show service ipsec – provera stanja usluge.
- Proverava se povezanost sa udaljenom lokacijom:
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 msKonfiguracijske datoteke i dodatne naredbe za dijagnostiku s udaljenog Linux poslužitelja:
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 - Sve je spremno, site-to-site IPsec VPN je konfiguriran i funkcionira.
U ovom primjeru koristili smo PSK za autentifikaciju klijenta, ali je također moguća opcija s autentifikacijom putem certifikata. Za to se treba prebaciti na karticu Global Configuration, omogućiti autentifikaciju putem certifikata i odabrati certifikat.
Osim toga, u postavkama web stranice potrebno je promijeniti metodu autentifikacije.


Napominjem da broj IPsec tunela ovisi o veličini implementiranog Edge Gateway-a (o tome možete čitati u našoj ).
SSL VPN
SSL VPN-Plus je jedna od opcija za Remote Access VPN. Omogućuje pojedinačnim udaljenim korisnicima sigurno povezivanje na privatne mreže koje se nalaze iza NSX Edge uređaja. Enkriptirani tunel se u slučaju SSL VPN-plus uspostavlja između klijenta (Windows, Linux, Mac) i NSX Edge-a.
- Započnimo s postavljanjem. U upravljačkoj ploči usluga Edge Gateway-a idemo na karticu SSL VPN-Plus, zatim na Server Settings. Odabiremo adresu i port na kojem će poslužitelj slušati dolazne veze, uključujemo logiranje i biramo potrebne algoritme šifriranja.

Ovdje također možete promijeniti certifikat koji će poslužitelj koristiti.
- Nakon što je sve spremno, uključujemo poslužitelj i ne zaboravljamo sačuvati postavke.

- Nakon toga trebamo postaviti pool adresa koje ćemo dodijeliti klijentima prilikom povezivanja. Ova mreža je odvojena od svake postojeće podmreže u vašem NSX okruženju, ne treba je postavljati na drugim uređajima u fizičkim mrežama, osim ruta koje na nju upućuju.
Idemo na karticu IP Pools i kliknemo +.

- Odabiremo adrese, masku podmreže i gateway. Također možemo promijeniti postavke za DNS i WINS poslužitelje.

- Rezultantni pool.

- Sada dodajmo mreže kojima će VPN korisnici imati pristup. Idemo na karticu Private Networks i kliknemo +.

- Ispunimo:
- Network — lokalna mreža kojoj će udaljeni korisnici imati pristup.
- Send traffic, ima dvije opcije:
— over tunnel – slati promet prema mreži kroz tunel,
— bypass tunnel – slati promet prema mreži izravno, zaobilazeći tunel. - Enable TCP Optimization – označavamo ako smo odabrali opciju over tunnel. Kada je optimizacija uključena, možemo navesti brojeve portova za koje je potrebno optimizirati promet. Promet za preostale portove ove specifične mreže neće biti optimiziran. Ako brojevi portova nisu navedeni, promet za sve portove će biti optimiziran. Više o ovoj funkciji čitajte .

- Zatim idemo na karticu Authentication i kliknemo +. Za autentifikaciju ćemo koristiti lokalni poslužitelj na samom NSX Edge-u.

- Ovdje možemo odabrati politike za generiranje novih lozinki i postaviti opcije za blokiranje korisničkih računa (na primjer, broj ponovnih pokušaja pri pogrešnom unosu lozinke).


- Budući da koristimo lokalnu autentifikaciju, potrebno je kreirati korisnike.

- Osim osnovnih stvari kao što su ime i lozinka, ovdje možemo, na primjer, zabraniti korisniku promjenu lozinke ili, s druge strane, prisiliti ga na promjenu lozinke prilikom sljedećeg prijavljivanja.

- Nakon što su svi potrebni korisnici dodani, prelazimo na karticu Paketi instalacije, kliknemo + i kreiramo sam instalacijski paket koji će se preuzeti za instalaciju udaljenog zaposlenika.

- Kliknemo +. Odabiremo adresu i port servera kojem će se klijent povezati, te platforme za koje treba generirati instalacijski paket.

Ispod u ovom prozoru možemo navesti postavke klijenta za Windows. Odabiremo:- start client on logon – VPN klijent će biti dodat u automatsko pokretanje na udaljenoj mašini;
- create desktop icon – stvorit će ikonu VPN klijenta na radnoj površini;
- server security certificate validation – validirat će certifikat servera prilikom povezivanja.
Podešavanje servera je završeno.

- Sada ćemo preuzeti instalacijski paket koji smo kreirali u posljednjem koraku na udaljeni PC. Prilikom podešavanja servera naznačili smo njegovu vanjsku adresu (185.148.83.16) i port (445). Na tu adresu trebamo otići u web pregledniku. U mom slučaju to je :445.
U prozoru za prijavu potrebno je unijeti korisničke podatke korisnika kojeg smo ranije kreirali.

- Nakon prijave prikazuje nam se popis stvorenih instalacijskih paketa dostupnih za preuzimanje. Stvorili smo samo jedan – njega ćemo i preuzeti.

- Kliknemo na vezu, počinje preuzimanje klijenta.

- Raspakiramo preuzetu arhivu i pokrećemo instalacijski program.

- Nakon instalacije pokrećemo klijent, u prozoru za prijavu kliknemo Prijavi se.

- U prozoru za provjeru certifikata odabiremo Da.

- Unosimo korisničke podatke za ranije kreiranog korisnika i vidimo da je povezivanje uspješno završeno.


- Provjeravamo statistiku VPN klijenta na lokalnom računalu.


- U Windows komandnoj liniji (ipconfig /all) vidimo da je pojavio dodatni virtualni adapter i da postoji povezanost s udaljenom mrežom, sve radi:


- I na kraju – provjera iz konzole Edge Gateway.

L2 VPN
L2VPN će biti potreban kada treba spojiti nekoliko geografski
raspoređenih mreža u jednu broadcast domenu.
Ovo može biti korisno, na primjer, prilikom migracije virtualnog stroja: kada se VM premjesti na drugu geografsku lokaciju, stroj će zadržati postavke IP adrese i neće izgubiti povezanost s drugim strojevima koji se nalaze u istom L2 domenu s njom.
U našem testnom okruženju povezujemo dva mjesta, nazovimo ih, redom, A i B. Imamo dva NSX-a i dvije jednako stvorene rutabilne mreže, vezane uz različite Edge-e. Stroj A ima adresu 10.10.10.250/24, stroj B – 10.10.10.2/24.
- U vCloud Director-u prelazimo na karticu Administracija, odlazimo u željeni VDC, prelazimo na karticu Org VDC Mreže i dodajemo dvije nove mreže.

- Biramo tip mreže routed i povezujemo tu mrežu s našim NSX-om. Označavamo okvir Create as subinterface.

- Kao rezultat, trebali bismo dobiti dvije mreže. U našem primjeru nazivaju se network-a i network-b s istim postavkama gateway-a i istom maskom.


- Sada ćemo prijeći na postavke prvog NSX-a. To će biti NSX kojem je povezana mreža A. On će funkcionirati kao poslužitelj.
Vraćamo se u sučelje NSX Edge / Prelazimo na karticu VPN –> L2VPN. Uključujemo L2VPN, biramo način rada Server, u postavkama Server Global navodimo vanjsku IP adresu NSX-a na kojoj će se slušati port za tunel. Po defaultu, socket će se otvoriti na portu 443, ali ga možemo promijeniti. Ne zaboravimo odabrati postavke enkripcije za budući tunel.

- Prelazimo na karticu Server Sites i dodajemo peer.

- Uključujemo peer, postavljamo ime, opis, ako je potrebno, postavljamo korisničko ime i lozinku. Ovi podaci će nam trebati kasnije prilikom postavljanja klijentske stranice.
U Egress Optimization Gateway Address postavljamo adresu gateway-a. To je potrebno kako ne bi došlo do sukoba IP adresa, s obzirom da gateway naših mreža ima istu adresu. Nakon toga kliknemo na gumb SELECT SUB-INTERFACES.

- Ovdje biramo potreban subinterface. Spremamo postavke.

- Vidimo da su u postavkama izašle nedavno stvorena klijentska stranica.

- Sada ćemo prijeći na postavke NSX-a s klijentske strane.
Pristupamo NSX-u strane B, prelazimo u VPN –> L2VPN, uključujemo L2VPN, postavljamo L2VPN mode u klijentski radni način. Na kartici Client Global postavljamo adresu i port NSX A, koji smo ranije naveli kao Listening IP i Port na serverskoj strani. Također je potrebno postaviti jednake postavke enkripcije, kako bi se uskladile prilikom uspostave tunela.

Pomaknite se dolje, odaberite subinterfejs preko kojeg će se graditi tunel za L2VPN.
U Egress Optimization Gateway Address unesite adresu gateway-a. Unesite korisnički ID i lozinku. Odaberite subinterfejs i ne zaboravite spremiti postavke.
- U suštini, to je to. Postavke klijentske i serverske strane su gotovo identične, osim nekoliko detalja.
- Sada možemo provjeriti je li naš tunel aktivan, odlaskom u Statistics -> L2VPN na bilo kojem NSX-u.

- Ako sada uđemo u konzolu bilo kojeg Edge Gateway-a, vidjet ćemo na svakom od njih u arp-tablici adrese obje VM.

Ovo je sve o VPN-u na NSX Edge. Pitajte ako je nešto ostalo nejasno. Također, ovo je posljednji dio serije članaka o radu s NSX Edge. Nadamo se da su bili korisni 🙂
Izvor: habr.com























































