Che cos'è Gateway NAT di Azure?
Come responsabile tecnico del sistema e amministratore di Azure con il compito di risolvere i problemi di connettività correnti con le macchine virtuali di Azure, il primo passaggio consiste nel comprendere il background tecnologico e le funzionalità di Gateway NAT di Azure.
Gateway NAT di Azure è un servizio cloud completamente gestito, eseguito in Azure. È altamente resiliente, scalabile e facile da configurare. Quando si usa Gateway NAT di Azure con le reti virtuali esistenti in Azure, le singole macchine virtuali o altre risorse di Azure possono rimanere completamente private, a meno che non ospitino servizi che accettano connessioni in ingresso da Internet. Tutta la connettività in uscita avviata dalla rete virtuale usa gli indirizzi IP pubblici statici di Gateway NAT.
Panoramica di NAT
NAT non è una nuova tecnologia. È stato usato per decenni per il mapping degli indirizzi IP locali agli indirizzi pubblici. Uno degli scopi principali di NAT è salvare gli indirizzi IPv4 pubblici, cosa particolarmente utile per i provider di servizi Internet (ISP). Queste aziende possono usare NAT per eseguire il mapping di un ambito di molti indirizzi IPv4 privati a un solo indirizzo IP pubblico o a pochi indirizzi IP pubblici.
NAT viene usato anche nelle case e nelle reti locali. Se si dispone di un router domestico che si connette a Internet, è probabile che sia implementato NAT. In questo modo tutti i dispositivi vengono indirizzati a Internet usando un solo indirizzo IP pubblico. NAT nasconde anche lo spazio indirizzi interno in modo che tutto il traffico in uscita sembri proveniente da un singolo indirizzo IP pubblico. L'indirizzo IP viene assegnato a un router o a un dispositivo gateway.
Quando si usa NAT, è importante comprendere le porte TCP (Transmission Control Protocol) e il relativo scopo. La conversione degli indirizzi di porta consente a ogni host in una rete privata di comunicare su Internet usando un singolo indirizzo IP pubblico, in modo che ogni percorso di comunicazione venga stabilito su una porta TCP univoca. Passaggi del processo:
Un dispositivo nella rete privata stabilisce una connessione a una risorsa su Internet. NAT sostituisce l'indirizzo IP del dispositivo interno nell'intestazione del pacchetto con l'indirizzo IP esterno del dispositivo NAT.
La traduzione degli indirizzi di porta assegna quindi alla connessione un numero di porta da un pool di porte disponibili.
Tale numero di porta viene inserito nel campo della porta di origine nell'intestazione del pacchetto e il pacchetto viene quindi inoltrato a Internet.
Il dispositivo NAT registra quindi una voce in una tabella di traduzione di rete:
- Per ogni connessione stabilita, questa voce contiene l'indirizzo IP interno, la porta di origine originale e la porta di origine tradotta.
- I pacchetti successivi dallo stesso indirizzo IP di origine interno e numero di porta vengono sempre convertiti nello stesso indirizzo IP esterno e numero di porta.
Il computer che riceve un pacchetto sottoposto a NAT stabilisce quindi una connessione alla porta e all'indirizzo IP specificati nel pacchetto modificato, ignaro del fatto che l'indirizzo fornito viene tradotto.
Il diagramma seguente illustra il processo NAT.
Nota
Il NAT viene usato principalmente per stabilire connessioni in uscita a Internet. Tuttavia, non può gestire direttamente le connessioni in ingresso da Internet. È necessario usare tecnologie diverse per tale scopo.
Servizio NAT in Azure
Quando si crea una rete virtuale in Azure, si assegna uno spazio indirizzi privato e quindi si creano una o più subnet per tale rete. Quando si crea una macchina virtuale in Azure e la si inserisce in tale rete virtuale, si ottiene il relativo indirizzo IP locale dalla rete. Se si desidera accettare connessioni Internet in uscita in tale macchina virtuale, è anche possibile assegnare un oggetto indirizzo IP pubblico a essa.
Nota
Le macchine virtuali di Azure a cui non si assegna un indirizzo IP pubblico possono comunque accedere a Internet usando la traduzione degli indirizzi di rete o la traduzione degli indirizzi di porta di Azure. Tuttavia, in questi casi non è possibile controllare quale indirizzo IP pubblico verrà usato per le connessioni in uscita. Non è inoltre possibile abilitare le connessioni in ingresso o usare Remote Desktop Protocol (RDP) per connettersi a queste macchine virtuali dall'esterno. È invece necessario usare un host Azure Bastion.
Per garantire una connettività in uscita sicura, controllabile e scalabile per le macchine virtuali di Azure e altre risorse, è possibile creare un'istanza del servizio Gateway NAT di Azure. L'istanza viene quindi assegnata a una o più subnet all'interno della stessa rete virtuale in Azure.
Il servizio Gateway NAT di Azure aiuta quindi a tradurre in modo sicuro gli indirizzi IP privati in un indirizzo IP pubblico, come illustrato nel diagramma seguente: