
Dnes se podíváme na možnosti nastavení VPN, které nám poskytuje NSX Edge.
Obecně můžeme rozdělit technologie VPN do dvou hlavních typů:
- Site-to-site VPN. Nejčastěji se používá IPSec k vytvoření zabezpečeného tunelu, například mezi sítí hlavní kanceláře a sítí na vzdáleném místě nebo v cloudu.
- Remote Access VPN. Používá se pro připojení jednotlivých uživatelů k privátním sítím organizací pomocí softwaru VPN klienta.
NSX Edge nám umožňuje využít oba varianty.
Nastavení provedeme pomocí testovacího standu se dvěma NSX Edge, Linux serverem s nainstalovaným démonem a notebookem se systémem Windows pro testování Remote Access VPN.
IPsec
- V rozhraní vCloud Director přejdeme do sekce Administration a vybereme vDC. Na záložce Edge Gateways vybereme požadovaný Edge, klikneme pravým tlačítkem a vybereme Edge Gateway Services.

- V rozhraní NSX Edge přejdeme na záložku VPN-IPsec VPN, poté do sekce IPsec VPN Sites a klikneme na + pro přidání nové lokality.

- Vyplníme potřebná pole:
- Enabled – aktivuje vzdálenou lokalitu.
- PFS – zajišťuje, že každý nový kryptografický klíč není spojen s žádným předchozím klíčem.
- Local ID a Local Endpoint– externí adresa NSX Edge.
- Local Subnets– místní sítě, které budou používat IPsec VPN.
- Peer ID a Peer Endpoint – adresa vzdálené lokality.
- Peer Subnets – sítě, které budou používat IPsec VPN na vzdálené straně.
- Šifrovací Algoritmus – algoritmus šifrování tunelu.

- Autentizace – jak budeme autentizovat peer. Můžeme použít Pre-Shared Key nebo certifikát.
- Pre-Shared Key – uvádíme klíč, který bude použit pro autentizaci a který musí být shodný na obou stranách.
- Diffie-Hellman Group – algoritmus výměny klíčů.
Po vyplnění potřebných polí klikneme na Keep.

- Hotovo.

- Po přidání lokality přejdeme na záložku Activation Status a aktivujeme IPsec Service.

- Po aplikaci nastavení přejdeme na záložku Statistics –> IPsec VPN a zkontrolujeme stav tunelu. Vidíme, že tunel byl vytvořen.

- Zkontrolujeme stav tunelu z konzole Edge gateway:
- show service ipsec – kontrola stavu služby.

- show service ipsec site – informace o stavu lokality a sjednaných parametrech.

- show service ipsec sa – kontrola stavu Security Association (SA).

- show service ipsec – kontrola stavu služby.
- Kontrola spojení s vzdálenou lokalitou:
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 msKonfigurační soubory a další příkazy pro diagnostiku ze strany vzdáleného Linux serveru:
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 - Vše je připraveno, site-to-site IPsec VPN je nastavena a běží.
V tomto příkladu jsme použili PSK pro autentizaci partnera, ale je také možné použít autentizaci pomocí certifikátů. K tomu je potřeba přejít na záložku Global Configuration, povolit autentizaci pomocí certifikátů a vybrat příslušný certifikát.
Kromě toho bude v nastavení stránky potřeba změnit metodu autentizace.


Upozorňuji, že počet tunelů IPsec závisí na velikosti nasazené Edge Gateway (o tom si přečtěte v naší ).
SSL VPN
SSL VPN-Plus je jednou z možností Remote Access VPN. Umožňuje jednotlivým vzdáleným uživatelům bezpečně se připojit k soukromým sítím za bránou NSX Edge. Šifrovaný tunel v případě SSL VPN-Plus je vytvořen mezi klientem (Windows, Linux, Mac) a NSX Edge.
- Přejděme k nastavení. V ovládacím panelu služeb Edge Gateway přejdeme na záložku SSL VPN-Plus, poté k Server Settings. Zvolíme adresu a port, na kterém bude server naslouchat příchozím připojením, zapneme logování a vybereme požadované algoritmy šifrování.

Zde můžeme také změnit certifikát, který bude server používat.
- Jakmile je vše připraveno, zapneme server a nezapomeneme uložit nastavení.

- Dále je třeba nastavit zásobu adres, které budeme přidělovat klientům při připojení. Tato síť je oddělena od jakékoli existující podsítě ve vaší prostředí NSX, není třeba ji nastavit na jiných zařízeních v fyzických sítích, s výjimkou tras, které na ni ukazují.
Přejdeme na záložku IP Pools a klikneme na +.

- Vybereme adresy, masku podsítě a bránu. Zde můžeme také upravit nastavení pro servery DNS a WINS.

- Vytvořená zásoba.

- Nyní přidáme sítě, ke kterým budou mít přístup uživatelé připojující se k VPN. Přejdeme na záložku Private Networks a klikneme na +.

- Vyplníme:
- Network — místní síť, ke které budou mít přístup vzdálení uživatelé.
- Send traffic, má dvě možnosti:
— over tunnel – posílat provoz k síti přes tunel,
— bypass tunnel – posílat provoz k síti přímo mimo tunel. - Enable TCP Optimization – zaškrtněte, pokud jste zvolili možnost over tunnel. Když je optimalizace zapnuta, můžete uvést čísla portů, pro které je třeba optimalizovat provoz. Provoz pro ostatní porty této konkrétní sítě nebude optimalizován. Pokud čísla portů nejsou uvedena, provoz pro všechny porty bude optimalizován. Další informace o této funkci naleznete .

- Dále přejdeme na záložku Authentication a klikneme na +. Pro autentizaci použijeme místní server na samotném NSX Edge.

- Zde můžeme vybrat zásady pro generování nových hesel a nastavit možnosti blokování uživatelských účtů (například počet neúspěšných pokusů o zadání hesla).


- Protože používáme místní autentizaci, je nutné vytvořit uživatele.

- Kromě základních věcí jako jméno a heslo zde lze například zakázat uživateli změnit heslo nebo naopak přinutit ho změnit heslo při dalším přihlášení.

- Jakmile jsou přidáni všichni potřební uživatelé, přejdeme na kartu Installation Packages, klikneme na + a vytvoříme samotného instalátora, který stáhne pro instalaci vzdáleného pracovníka.

- Klikneme na +. Vybereme adresu a port serveru, ke kterému se bude klient připojovat, a platformy, pro které potřebujeme vygenerovat instalační balíček.

Níže v tomto okně lze zadat parametry klienta pro Windows. Vyberáme:- spustit klienta po přihlášení – VPN klient bude přidán do automatického spouštění na vzdáleném počítači;
- vytvořit ikonu na ploše – vytvoří ikonu VPN klienta na ploše;
- ověření bezpečnostního certifikátu serveru – bude ověřovat certifikát serveru při připojení.
Nastavení serveru bylo dokončeno.

- Nyní stáhneme vytvořený instalační balíček na vzdálený PC. Při nastavení serveru jsme uváděli jeho externí adresu (185.148.83.16) a port (445). Přesně na tuto adresu se musíme přejít v webovém prohlížeči. V mém případě je to :445.
V okně pro přihlášení je nutné zadat přihlašovací údaje uživatele, kterého jsme vytvořili dříve.

- Po přihlášení se nám zobrazí seznam vytvořených instalačních balíčků, které jsou k dispozici ke stažení. Vytvořili jsme pouze jeden – ten si stáhneme.

- Klikneme na odkaz, začíná stahování klienta.

- Rozbalíme stažený archiv a spustíme instalátor.

- Po instalaci spustíme klienta, v okně pro přihlášení klikneme na Login.

- V okně pro ověření certifikátu vybereme Ano.

- Zadáme přihlašovací údaje pro dříve vytvořeného uživatele a vidíme, že připojení bylo úspěšné.


- Ověřujeme statistiku VPN klienta na místním počítači.


- V příkazovém řádku Windows (ipconfig /all) vidíme, že se objevil další virtuální adaptér a spojení se vzdálenou sítí je aktivní, všechno funguje:


- A nakonec – kontrola z konzole Edge Gateway.

L2 VPN
L2VPN bude potřeba v případě, kdy je třeba sloučit několik geograficky
distribuovaných sítí do jednoho broadcastového domény.
To může být užitečné, například při migraci virtuálního stroje: při přenosu VM na jinou geografickou lokalitu si stroj uchová nastavení IP adresace a neztratí spojení s ostatními stroji, které se nacházejí ve stejném L2 doméně.
V našem testovacím prostředí propojíme dvě lokality, nazveme je A a B. Máme dvě NSX a dvě stejně vytvořené směrovatelné sítě, které jsou připojeny k různým Edge. Stroj A má adresu 10.10.10.250/24, stroj B – 10.10.10.2/24.
- V vCloud Director přejdeme na kartu Administrace, vstoupíme do potřebného VDC, pak přejdeme na kartu Org VDC Networks a přidáme dvě nové sítě.

- Vybereme typ sítě routed a připojíme tuto síť k našemu NSX. Zaškrtneme políčko Create as subinterface.

- Nakonec bychom měli mít dvě sítě. V našem příkladu se nazývají network-a a network-b s totožnými nastaveními gateway a stejnou maskou.


- Nyní přejdeme do nastavení prvního NSX. To bude NSX, ke kterému je připojena síť A. Bude fungovat jako server.
Vracíme se do rozhraní NSX Edge / přejdeme na kartu VPN —> L2VPN. Aktivujeme L2VPN, vybereme režim práce Server, v nastavení Server Global zadáme veřejnou IP adresu NSX, na které bude naslouchat port pro tunel. Ve výchozím nastavení se socket otevře na portu 443, ale lze jej změnit. Nezapomínáme vybrat nastavení šifrování pro budoucí tunel.

- Přejdeme na záložku Server Sites a přidáme peer.

- Aktivujeme peer, zadáme jméno, popis, pokud je potřeba, a nastavíme uživatelské jméno a heslo. Tyto údaje budeme potřebovat později při nastavování klientské lokality.
V Egress Optimization Gateway Address nastavujeme adresu brány. To je potřeba, aby nedocházelo ke konfliktu IP adres, protože brána našich sítí má stejnou adresu. Poté klikneme na tlačítko SELECT SUB-INTERFACES.

- Zde vybereme potřebný subinterface. Uložíme nastavení.

- Vidíme, že v nastavení se objevil právě vytvořený klientský web.

- Nyní přejdeme k nastavení NSX ze strany klienta.
Přihlásíme se na NSX strany B, přejdeme do VPN —> L2VPN, aktivujeme L2VPN, nastavíme L2VPN mode do klientského režimu. Na kartě Client Global zadáme adresu a port NSX A, který jsme dříve uvedli jako Listening IP a Port na serverové straně. Také je nutné nastavit shodná šifrovací nastavení, aby se shodovala při navazování tunelu.

Projděte dolů, vyberte subinterface, přes který bude vytvářen tunel pro L2VPN.
V Egress Optimization Gateway Address zadejte adresu brány. Zadejte uživatelské ID a heslo. Vyberte subinterface a nezapomeňte uložit nastavení.
- Samozřejmě, to je vše. Nastavení klientské a serverové strany jsou prakticky identická, s výjimkou několika nuancí.
- Nyní se můžeme podívat, že náš tunel funguje, přechodem na Statistics → L2VPN na jakémkoli NSX.

- Pokud nyní přejdeme do konzole jakéhokoli Edge Gateway, uvidíme na každém z nich v ARP tabulce adresy obou VM.

To je vše ohledně VPN na NSX Edge. Ptejte se, pokud něco zůstalo nejasné. Také to je poslední část série článků o práci s NSX Edge. Doufáme, že byly užitečné 🙂.
Zdroj: habr.com























































