met Port Address Translation (PAT) wordt één openbaar IP-adres gebruikt voor alle interne privé-IP-adressen, maar aan elk privé-IP-adres wordt een andere poort toegewezen. Dit type NAT staat ook bekend als NAT-overbelasting en is de typische vorm van NAT die in de huidige netwerken wordt gebruikt. Het wordt zelfs ondersteund door de meeste consumer-grade routers.
met PAT kunt u veel hosts ondersteunen met slechts enkele openbare IP-adressen. Het werkt door het creëren van dynamische nat mapping, waarbij een globaal (publiek) IP-adres en een uniek poortnummer worden geselecteerd. De router houdt een NAT tabelinvoer bij voor elke unieke combinatie van het privé-IP-adres en poort, met vertaling naar het globale adres en een uniek poortnummer.
we zullen het volgende voorbeeld netwerk gebruiken om de voordelen van het gebruik van PAT uit te leggen:
zoals u kunt zien in de afbeelding hierboven, gebruikt PAT unieke bronpoortnummers op het interne globale (openbare) IP-adres om onderscheid te maken tussen vertalingen. Bijvoorbeeld, als de host met het IP-adres van 10.0.0.101 wil toegang tot de server S1 op het Internet, het privé IP-adres van de host zal worden vertaald door R1 naar 155.4.12.1: 1056 en het verzoek zal worden verzonden naar S1. S1 zal reageren op 155.4.12.1: 1056. R1 zal dat antwoord ontvangen, opzoeken in de nat-vertalingstabel en het verzoek doorsturen naar de host.
om PAT te configureren zijn de volgende commando ‘ s vereist:
- configureer de binneninterface van de router met het ip nat inside Commando.
- configureer de buiteninterface van de router met het IP nat buiten Commando.
- configureer een toegangslijst met een lijst met de interne bronadressen die moeten worden vertaald.
- activeer PAT met het ip nat inside source list ACL_NUMBER interface type overload global configuration Commando.
hier is hoe we PAT zouden configureren voor de netwerkafbeelding hierboven.
eerst zullen we de buiten-en binneninterfaces op R1 definiëren:
R1(config)#int Gi0/0 R1(config-if)#ip nat inside R1(config-if)#int Gi0/1 R1(config-if)#ip nat outside
vervolgens definiëren we een toegangslijst die alle private IP-adressen bevat die we willen vertalen:
R1(config-if)#access-list 1 permit 10.0.0.0 0.0.0.255
de hierboven gedefinieerde toegangslijst bevat alle IP-adressen uit het bereik 10.0.0.0 – 10.0.0.255.
nu moeten we NAT inschakelen en verwijzen naar de ACL gemaakt in de vorige stap en naar de interface waarvan het IP-adres zal worden gebruikt voor vertalingen:
R1(config)#ip nat inside source list 1 interface Gi0/1 overload
om de nat-vertalingen te verifiëren, kunnen we het commando ip nat-vertalingen tonen gebruiken nadat hosts een webbron hebben aangevraagd bij S1:
R1#show ip nat translations Pro Inside global Inside local Outside local Outside globaltcp 155.4.12.1:1024 10.0.0.100:1025 155.4.12.5:80 155.4.12.5:80tcp 155.4.12.1:1025 10.0.0.101:1025 155.4.12.5:80 155.4.12.5:80tcp 155.4.12.1:1026 10.0.0.102:1025 155.4.12.5:80 155.4.12.5:80