Oggi daremo un'occhiata alle opzioni di configurazione VPN che NSX Edge ci offre.
In generale, possiamo dividere le tecnologie VPN in due tipi chiave:
VPN da sito a sito. L'uso più comune di IPSec è creare un tunnel sicuro, ad esempio, tra una rete dell'ufficio principale e una rete in un sito remoto o nel cloud.
VPN di accesso remoto. Utilizzato per connettere singoli utenti a reti private aziendali utilizzando il software client VPN.
NSX Edge ci consente di utilizzare entrambe le opzioni.
Configuriamo utilizzando un banco di prova con due NSX Edge, un server Linux con un demone installato procione e un laptop Windows per testare la VPN di accesso remoto.
IPsec
Nell'interfaccia di vCloud Director, vai alla sezione Amministrazione e seleziona il vDC. Nella scheda Edge Gateway, seleziona l'Edge di cui abbiamo bisogno, fai clic con il pulsante destro del mouse e seleziona Edge Gateway Services.
Nell'interfaccia di NSX Edge, vai alla scheda VPN-IPsec VPN, quindi alla sezione Siti VPN IPsec e fai clic su + per aggiungere un nuovo sito.
Compila i campi richiesti:
abilitato – attiva il sito remoto.
PFS – assicura che ogni nuova chiave crittografica non sia associata ad alcuna chiave precedente.
ID locale ed endpoint localet è l'indirizzo esterno di NSX Edge.
Sottorete locales - reti locali che utilizzeranno IPsec VPN.
ID peer ed endpoint peer – indirizzo del sito remoto.
Sottoreti peer – reti che utilizzeranno IPsec VPN sul lato remoto.
Algoritmo di crittografia – algoritmo di crittografia del tunnel.
Autenticazione - come autenticheremo il peer. È possibile utilizzare una chiave precondivisa o un certificato.
chiave condivisa in precedenza - specificare la chiave che verrà utilizzata per l'autenticazione e deve corrispondere su entrambi i lati.
Gruppo Diffie Hellman – algoritmo di scambio di chiavi.
Dopo aver compilato i campi richiesti, fare clic su Mantieni.
Fatto.
Dopo aver aggiunto il sito, vai alla scheda Stato attivazione e attiva il servizio IPsec.
Dopo aver applicato le impostazioni, vai alla scheda Statistiche -> VPN IPsec e controlla lo stato del tunnel. Vediamo che il tunnel è salito.
Controlla lo stato del tunnel dalla console del gateway Edge:
show service ipsec - controlla lo stato del servizio.
show service ipsec site - Informazioni sullo stato del sito e sui parametri negoziati.
show service ipsec sa - controlla lo stato della Security Association (SA).
Verifica della connettività con un sito remoto:
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
File di configurazione e comandi aggiuntivi per la diagnostica da un server Linux remoto:
Tutto è pronto, la VPN IPsec site-to-site è attiva e funzionante.
In questo esempio, abbiamo utilizzato PSK per l'autenticazione peer, ma è possibile anche l'autenticazione tramite certificato. Per fare ciò, vai alla scheda Configurazione globale, abilita l'autenticazione del certificato e seleziona il certificato stesso.
Inoltre, nelle impostazioni del sito, sarà necessario modificare il metodo di autenticazione.
Prendo atto che il numero di tunnel IPsec dipende dalle dimensioni dell'Edge Gateway distribuito (leggi a riguardo nel nostro primo articolo).
SSL VPN
SSL VPN-Plus è una delle opzioni VPN di accesso remoto. Consente ai singoli utenti remoti di connettersi in modo sicuro alle reti private dietro NSX Edge Gateway. Un tunnel crittografato nel caso di SSL VPN-plus viene stabilito tra il client (Windows, Linux, Mac) e NSX Edge.
Iniziamo a configurare. Nel pannello di controllo del servizio Edge Gateway, vai alla scheda SSL VPN-Plus, quindi a Impostazioni server. Selezioniamo l'indirizzo e la porta su cui il server ascolterà le connessioni in entrata, abilitiamo la registrazione e selezioniamo gli algoritmi di crittografia necessari.
Qui puoi anche cambiare il certificato che il server utilizzerà.
Dopo che tutto è pronto, accendi il server e non dimenticare di salvare le impostazioni.
Successivamente, dobbiamo impostare un pool di indirizzi che rilasceremo ai client al momento della connessione. Questa rete è separata da qualsiasi sottorete esistente nel tuo ambiente NSX e non deve essere configurata su altri dispositivi nelle reti fisiche, ad eccezione delle route che puntano a essa.
Vai alla scheda Pool IP e fai clic su +.
Selezionare indirizzi, subnet mask e gateway. Qui puoi anche modificare le impostazioni per i server DNS e WINS.
Il pool risultante.
Ora aggiungiamo le reti a cui avranno accesso gli utenti che si connettono alla VPN. Vai alla scheda Reti private e fai clic su +.
Compiliamo:
Rete: una rete locale a cui avranno accesso gli utenti remoti.
Invia traffico, ha due opzioni:
- over tunnel - invia il traffico alla rete attraverso il tunnel,
— bypass tunnel: invia il traffico alla rete bypassando direttamente il tunnel.
Abilita ottimizzazione TCP: controlla se hai scelto l'opzione over tunnel. Quando l'ottimizzazione è abilitata, puoi specificare i numeri di porta per i quali desideri ottimizzare il traffico. Il traffico per le restanti porte su quella particolare rete non sarà ottimizzato. Se non viene specificato alcun numero di porta, il traffico per tutte le porte viene ottimizzato. Ulteriori informazioni su questa funzione qui.
Successivamente, vai alla scheda Autenticazione e fai clic su +. Per l'autenticazione, utilizzeremo un server locale sullo stesso NSX Edge.
Qui possiamo selezionare i criteri per la generazione di nuove password e configurare le opzioni per bloccare gli account utente (ad esempio, il numero di tentativi se la password viene inserita in modo errato).
Poiché stiamo utilizzando l'autenticazione locale, dobbiamo creare gli utenti.
Oltre a cose basilari come nome e password, qui puoi, ad esempio, vietare all'utente di cambiare la password o, al contrario, costringerlo a cambiare la password al successivo accesso.
Dopo aver aggiunto tutti gli utenti necessari, vai alla scheda Pacchetti di installazione, fai clic su + e crea il programma di installazione stesso, che verrà scaricato da un dipendente remoto per l'installazione.
Premi +. Selezionare l'indirizzo e la porta del server a cui si collegherà il client e le piattaforme per le quali si desidera generare il pacchetto di installazione.
Sotto in questa finestra è possibile specificare le impostazioni del client per Windows. Scegliere:
avvia il client all'accesso: il client VPN verrà aggiunto all'avvio sulla macchina remota;
crea icona sul desktop - creerà un'icona del client VPN sul desktop;
convalida del certificato di sicurezza del server: convaliderà il certificato del server al momento della connessione.
La configurazione del server è completa.
Ora scarichiamo il pacchetto di installazione che abbiamo creato nell'ultimo passaggio su un PC remoto. Durante la configurazione del server, abbiamo specificato il suo indirizzo esterno (185.148.83.16) e la porta (445). È a questo indirizzo che dobbiamo andare in un browser web. Nel mio caso lo è 185.148.83.16: 445.
Nella finestra di autorizzazione, devi inserire le credenziali dell'utente che abbiamo creato in precedenza.
Dopo l'autorizzazione, viene visualizzato un elenco di pacchetti di installazione creati disponibili per il download. Ne abbiamo creato solo uno: lo scaricheremo.
Facciamo clic sul collegamento, inizia il download del client.
Disimballare l'archivio scaricato ed eseguire il programma di installazione.
Dopo l'installazione, avvia il client, nella finestra di autorizzazione, fai clic su Accedi.
Nella finestra di verifica del certificato, seleziona Sì.
Inseriamo le credenziali per l'utente creato in precedenza e vediamo che la connessione è stata completata correttamente.
Controlliamo le statistiche del client VPN sul computer locale.
Nella riga di comando di Windows (ipconfig / all), vediamo che è apparso un adattatore virtuale aggiuntivo e c'è connettività alla rete remota, tutto funziona:
Infine, controlla dalla console Edge Gateway.
VPN L2
L2VPN sarà necessario quando è necessario combinarne diverse geograficamente
reti distribuite in un dominio di trasmissione.
Ciò può essere utile, ad esempio, durante la migrazione di una macchina virtuale: quando una VM si sposta in un'altra area geografica, la macchina manterrà le impostazioni di indirizzamento IP e non perderà la connettività con altre macchine situate nello stesso dominio L2 con essa.
Nel nostro ambiente di test, collegheremo due siti tra loro, li chiameremo rispettivamente A e B. Abbiamo due NSX e due reti instradate create in modo identico collegate a Edge diversi. La macchina A ha l'indirizzo 10.10.10.250/24, la macchina B ha l'indirizzo 10.10.10.2/24.
In vCloud Director, vai alla scheda Amministrazione, vai al VDC di cui abbiamo bisogno, vai alla scheda Org VDC Networks e aggiungi due nuove reti.
Seleziona il tipo di rete instradata e associa questa rete al nostro NSX. Mettiamo la casella di controllo Crea come sottointerfaccia.
Di conseguenza, dovremmo ottenere due reti. Nel nostro esempio, sono chiamati rete-a e rete-b con le stesse impostazioni del gateway e la stessa maschera.
Ora andiamo alle impostazioni della prima NSX. Questo sarà l'NSX a cui è collegata la Rete A. Fungerà da server.
Torniamo all'interfaccia NSx Edge / Vai alla scheda VPN -> L2VPN. Accendiamo L2VPN, selezioniamo la modalità operativa del server, nelle impostazioni globali del server specifichiamo l'indirizzo IP NSX esterno su cui ascolterà la porta per il tunnel. Per impostazione predefinita, il socket si aprirà sulla porta 443, ma questo può essere modificato. Non dimenticare di selezionare le impostazioni di crittografia per il futuro tunnel.
Vai alla scheda Siti server e aggiungi un peer.
Accendiamo il peer, impostiamo il nome, la descrizione, se necessario, impostiamo il nome utente e la password. Avremo bisogno di questi dati in seguito durante la configurazione del sito del cliente.
In Egress Optimization Gateway Address impostiamo l'indirizzo del gateway. Ciò è necessario affinché non vi siano conflitti di indirizzi IP, perché il gateway delle nostre reti ha lo stesso indirizzo. Quindi fare clic sul pulsante SELEZIONA SUB-INTERFACES.
Qui selezioniamo la sottointerfaccia desiderata. Salviamo le impostazioni.
Vediamo che il sito client appena creato è apparso nelle impostazioni.
Ora passiamo alla configurazione di NSX dal lato client.
Andiamo su NSX lato B, andiamo su VPN -> L2VPN, abilitiamo L2VPN, impostiamo la modalità L2VPN in modalità client. Nella scheda Client Global, imposta l'indirizzo e la porta di NSX A, che abbiamo specificato in precedenza come IP di ascolto e porta sul lato server. È inoltre necessario configurare le stesse impostazioni di crittografia in modo che siano coerenti quando viene generato il tunnel.
Scorriamo di seguito, selezioniamo la sottointerfaccia attraverso la quale verrà costruito il tunnel per L2VPN.
In Egress Optimization Gateway Address impostiamo l'indirizzo del gateway. Imposta user-id e password. Selezioniamo la sottointerfaccia e non dimentichiamo di salvare le impostazioni.
In realtà, questo è tutto. Le impostazioni del lato client e server sono quasi identiche, ad eccezione di alcune sfumature.
Ora possiamo vedere che il nostro tunnel ha funzionato andando su Statistiche -> L2VPN su qualsiasi NSX.
Se ora andiamo alla console di un qualsiasi Edge Gateway, vedremo su ognuno di essi nella tabella arp gli indirizzi di entrambe le VM.
Questo è tutto sulla VPN su NSX Edge. Chiedi se qualcosa non è chiaro. È anche l'ultima parte di una serie di articoli sull'utilizzo di NSX Edge. Speriamo siano stati utili 🙂