Wat is een Azure NAT-gateway?
Als hoofdsysteemengineer en Azure-beheerder die de taak heeft om huidige connectiviteitsproblemen met Azure-VM's op te lossen, is uw eerste stap het begrijpen van de technologische achtergrond en de mogelijkheden van Azure NAT Gateway.
Azure NAT Gateway is een volledig beheerde cloudservice die wordt uitgevoerd in Azure. Het is zeer flexibel, schaalbaar en eenvoudig te configureren. Wanneer u Azure NAT Gateway gebruikt met uw bestaande virtuele netwerken in Azure, kunnen afzonderlijke VM's of andere Azure-resources volledig privé blijven, tenzij ze services hosten die binnenkomende verbindingen van internet accepteren. Alle uitgaande connectiviteit die wordt geïnitieerd vanuit uw virtuele netwerk, maakt gebruik van de statische openbare IP-adressen van de NAT-gateway.
Overzicht van NAT
NAT is geen nieuwe technologie. Het wordt al decennia gebruikt voor het toewijzen van lokale IP-adressen aan openbare adressen. Een van de belangrijkste doeleinden van NAT is het opslaan van openbare IPv4-adressen, wat vooral handig is voor internetproviders (ISP's). Deze bedrijven kunnen NAT gebruiken om een bereik van veel privé-IPv4-adressen toe te wijzen aan slechts één openbaar IP-adres of aan een paar openbare IP-adressen.
NAT wordt ook gebruikt in huizen en lokale netwerken. Als u een thuisrouter hebt die u verbindt met internet, is nat waarschijnlijk geïmplementeerd. Zodat al uw apparaten naar internet worden doorgestuurd met behulp van slechts één openbaar IP-adres. NAT verbergt ook uw interne adresruimte, zodat al het uitgaande verkeer afkomstig lijkt te zijn van één openbaar IP-adres. Het IP-adres wordt toegewezen aan een router of gatewayapparaat.
Wanneer u NAT gebruikt, is het belangrijk om tcp-poorten (Transmission Control Protocol) en hun doel te begrijpen. Met poortadresomzetting kan elke host in een particulier netwerk communiceren via internet met behulp van één openbaar IP-adres, zodat elk communicatiepad via een unieke TCP-poort tot stand is gebracht. Het proces verloopt als volgt:
Een apparaat in het privénetwerk brengt een verbinding tot stand met een resource op internet. De NAT vervangt het IP-adres van het interne apparaat in de pakketheader door het externe IP-adres van het NAT-apparaat.
Poortadresomzetting wijst vervolgens de verbinding een poortnummer toe vanuit een groep beschikbare poorten.
Dat poortnummer wordt ingevoegd in het bronpoortveld in de pakketkoptekst en het pakket wordt vervolgens doorgestuurd naar internet.
Het NAT-apparaat registreert vervolgens een vermelding in een netwerkomzettingstabel:
- Voor elke verbinding die tot stand is gebracht, bevat deze vermelding het interne IP-adres, de oorspronkelijke bronpoort en de vertaalde bronpoort.
- Volgende pakketten van hetzelfde interne bron-IP-adres en poortnummer worden altijd omgezet in hetzelfde externe IP-adres en poortnummer.
De computer die een pakket ontvangt dat NAT heeft ondergaan, brengt vervolgens een verbinding tot stand met de poort en het IP-adres dat is opgegeven in het gewijzigde pakket, vervelend voor het feit dat het opgegeven adres wordt vertaald.
In het volgende diagram ziet u het NAT-proces.
Notitie
NAT wordt meestal gebruikt voor het tot stand brengen van uitgaande verbindingen met internet. Het kan echter niet rechtstreeks binnenkomende verbindingen van internet beheren. Hiervoor moet u verschillende technologieën gebruiken.
NAT-service in Azure
Wanneer u een virtueel netwerk in Azure maakt, wijst u het een privéadresruimte toe en maakt u vervolgens een of meer subnetten aan dat netwerk. Wanneer u een virtuele machine in Azure maakt en deze vervolgens in dat virtuele netwerk plaatst, wordt het lokale IP-adres van dat netwerk opgehaald. Als u uitgaande internetverbinding op die VM wilt accepteren, kunt u ook een openbaar IP-adresobject toewijzen aan die VIRTUELE machine.
Notitie
Virtuele Azure-machines waaraan u geen openbaar IP-adres toewijst, hebben nog steeds toegang tot internet met behulp van azure-netwerkadresomzetting of poortadresomzetting. In dergelijke gevallen kunt u echter niet bepalen welk openbaar IP-adres wordt gebruikt voor uitgaande verbindingen. U kunt ook geen binnenkomende verbindingen inschakelen of RDP (Remote Desktop Protocol) gebruiken om vanaf buiten verbinding te maken met deze VM's; In plaats daarvan moet u een Azure Bastion-host gebruiken.
U kunt een exemplaar van de Azure NAT Gateway-service maken om te zorgen voor veilige, controleerbare en schaalbare uitgaande connectiviteit voor Azure-VM's en andere resources. Vervolgens wijst u het exemplaar toe aan een of meer subnetten binnen hetzelfde virtuele netwerk in Azure.
De Azure NAT Gateway-service helpt vervolgens uw privé-IP-adressen veilig te vertalen naar een openbaar IP-adres, zoals in het volgende diagram wordt weergegeven: