Inleiding
In dit document wordt beschreven hoe u Network Address Translation (NAT) configureert op een Cisco-router.
Voorwaarden
Vereisten
Dit document vereist een basiskennis van de termen die worden gebruikt in verband met NAT.
Gebruikte componenten
De informatie in dit document is gebaseerd op de volgende software- en hardware-versies:
De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.
Conventies
Raadpleeg Cisco Technical Tips Conventions (Conventies voor technische tips van Cisco) voor meer informatie over documentconventies.
Snelstartstappen voor het configureren en implementeren van NAT
Opmerking: In dit document wordt, wanneer wordt verwezen naar het internet of een internetapparaat, een apparaat op een extern netwerk bedoeld.
Wanneer u NAT configureert, is het soms moeilijk om te weten waar u moet beginnen, vooral als u nieuw bent voor NAT. Deze stappen helpen u te definiëren wat u wilt dat NAT doet en hoe u het configureert:
-
NAT binnen en buiten interfaces definiëren.
-
Bepaal wat je wilt bereiken met NAT.
-
Wil je interne gebruikers toegang geven tot het internet?
-
Wilt u het internet toegang geven tot interne apparaten (zoals een mailserver of webserver)?
-
Wilt u TCP-verkeer omleiden naar een andere TCP-poort of -adres?
-
Wilt u NAT gebruiken tijdens een netwerkovergang (u hebt bijvoorbeeld een IP-adres van een server gewijzigd en totdat u alle clients kunt bijwerken, wilt u dat de niet-bijgewerkte clients toegang hebben tot de server met het oorspronkelijke IP-adres en dat de bijgewerkte clients toegang hebben tot de server met het nieuwe adres)?
-
Wilt u netwerken die elkaar overlappen laten communiceren?
-
Configureer NAT om te bereiken wat u eerder hebt gedefinieerd. Op basis van wat u in stap 2 hebt gedefinieerd, moet u bepalen welke van de volgende functies u wilt gebruiken:
-
Controleer de NAT-bewerking.
Elk van deze NAT-voorbeelden leidt u door de stappen 1 tot en met 3 van de snelstartstappen in de vorige afbeelding. In deze voorbeelden worden enkele veelvoorkomende scenario's beschreven waarin Cisco aanbeveelt om NAT te implementeren.
NAT binnen en buiten interfaces definiëren
De eerste stap om NAT te implementeren is om NAT binnen en buiten interfaces te definiëren. U kunt het gemakkelijkst uw interne netwerk definiëren als binnen en het externe netwerk als buiten. De interne en externe voorwaarden zijn echter ook onderworpen aan arbitrage. Deze figuur geeft hiervan een voorbeeld.
NAT-topologie
Voorbeelden
1. Interne gebruikers toegang geven tot internet
Is het mogelijk dat u interne gebruikers toegang wilt geven tot het internet, maar dat u niet genoeg geldige adressen hebt om iedereen te huisvesten? Als alle communicatie met apparaten op internet afkomstig is van de interne apparaten, hebt u één geldig adres of een pool van geldige adressen nodig.
Deze afbeelding toont een eenvoudig netwerkdiagram met de routerinterfaces gedefinieerd als binnen en buiten.
Beschikbare geldige adressen
In dit voorbeeld wilt u dat NAT bepaalde apparaten (de eerste 31 van elk subnet) aan de binnenkant toestaat om communicatie met apparaten aan de buitenkant te initiëren en hun ongeldige adres te vertalen naar een geldig adres of een pool van adressen. De pool is gedefinieerd als het bereik van adressen 172.16.10.1 tot en met 172.16.10.63.
U kunt nu NAT configureren. Om te bereiken wat in de vorige afbeelding is gedefinieerd, gebruikt u dynamische NAT. Met dynamische NAT is de vertaaltabel in de router in eerste instantie leeg en wordt deze gevuld zodra het te vertalen verkeer door de router gaat. In tegenstelling tot statische NAT, waarbij een vertaling statisch is geconfigureerd en zonder verkeer in de vertaaltabel wordt geplaatst.
In dit voorbeeld kunt u NAT configureren om elk van de interne apparaten naar een uniek geldig adres te vertalen of om elk van de interne apparaten naar hetzelfde geldige adres te vertalen. Deze tweede methode staat bekend als overloading
. Hier wordt een voorbeeld gegeven van hoe u elke methode kunt configureren.
Configureer NAT zodat interne gebruikers toegang hebben tot internet
NAT-router |
interface ethernet 0
ip address 10.10.10.1 255.255.255.0
ip nat inside
!--- Defines Ethernet 0 with an IP address and as a NAT inside interface.
interface ethernet 1
ip address 10.10.20.1 255.255.255.0
ip nat inside
!--- Defines Ethernet 1 with an IP address and as a NAT inside interface.
interface serial 0
ip address 172.16.10.64 255.255.255.0
ip nat outside
!--- Defines serial 0 with an IP address and as a NAT outside interface.
ip nat pool no-overload 172.16.10.1 172.16.10.63 prefix 24
!--- Defines a NAT pool named no-overload with a range of addresses !--- 172.16.10.1 - 172.16.10.63.
ip nat inside source list 7 pool no-overload
!--- Indicates that any packets received on the inside interface that !--- are permitted by access-list 7 has !--- the source address translated to an address out of the !--- NAT pool "no-overload".
access-list 7 permit 10.10.10.0 0.0.0.31
access-list 7 permit 10.10.20.0 0.0.0.31
!--- Access-list 7 permits packets with source addresses ranging from !--- 10.10.10.0 through 10.10.10.31 and 10.10.20.0 through 10.10.20.31.
|
Opmerking: Cisco raadt ten zeerste aan om toegangslijsten waarnaar wordt verwezen door NAT-opdrachten niet te configureren met enige vergunning. Als u een vergunning in NAT gebruikt, verbruikt deze te veel routerbronnen die netwerkproblemen kunnen veroorzaken.
Merk op dat in de vorige configuratie alleen de eerste 32 adressen van subnet 10.10.10.0 en de eerste 32 adressen van subnet 10.10.20.0 zijn toegestaan door toegangslijst 7. Daarom worden alleen deze bronadressen vertaald. Er kunnen andere apparaten zijn met andere adressen in het interne netwerk, maar deze worden niet vertaald.
Configureer NAT zodat interne gebruikers toegang hebben tot internet met overbelasting
NAT-router |
interface ethernet 0
ip address 10.10.10.1 255.255.255.0
ip nat inside
!--- Defines Ethernet 0 with an IP address and as a NAT inside interface.
interface ethernet 1
ip address 10.10.20.1 255.255.255.0
ip nat inside
!--- Defines Ethernet 1 with an IP address and as a NAT inside interface.
interface serial 0
ip address 172.16.10.64 255.255.255.0
ip nat outside
!--- Defines serial 0 with an IP address and as a NAT outside interface.
ip nat pool ovrld 172.16.10.1 172.16.10.1 prefix 24
!--- Defines a NAT pool named ovrld with a range of a single IP !--- address, 172.16.10.1.
ip nat inside source list 7 pool ovrld overload
!--- Indicates that any packets received on the inside interface that !--- are permitted by access-list 7 has the source address !--- translated to an address out of the NAT pool named ovrld. !--- Translations are overloaded, which allows multiple inside !--- devices to be translated to the same valid IP address.
access-list 7 permit 10.10.10.0 0.0.0.31
access-list 7 permit 10.10.20.0 0.0.0.31
!--- Access-list 7 permits packets with source addresses ranging from !--- 10.10.10.0 through 10.10.10.31 and 10.10.20.0 through 10.10.20.31.
|
Merk op dat in de vorige tweede configuratie de NAT-pool ovrld
slechts een bereik van één adres heeft. De trefwoord overload gebruikt in de ip nat binnen bronlijst 7 pool overload opdracht maakt NAT om meerdere interne apparaten te vertalen naar het enkele adres in de pool.
Een andere variant van deze opdracht isip nat in bronlijst 7 interface seriële 0 overload, die NAT configureert om overbelasting op het adres dat is toegewezen aan de seriële 0 interface.
Wanneer overloading
de router is geconfigureerd, behoudt deze voldoende informatie van protocollen op een hoger niveau (bijvoorbeeld TCP- of UDP-poortnummers) om het globale adres terug te vertalen naar het juiste lokale adres. Voor definities van globaal en lokaal adres, zie NAT: Global and Local Definitions.
2. Internet toegang geven tot interne apparaten
U kunt interne apparaten nodig hebben om informatie uit te wisselen met apparaten op het internet, waar de communicatie wordt geïnitieerd vanaf de internetapparaten, bijvoorbeeld e-mail. Het is gebruikelijk dat apparaten op internet e-mail verzenden naar een mailserver die zich in het interne netwerk bevindt.
Communicatie initiëren
Configureer NAT zodat het internet toegang heeft tot interne apparaten
In dit voorbeeld definieert u eerst de NAT binnen en buiten interfaces, zoals weergegeven in het vorige netwerkdiagram.
Ten tweede definieer je dat je wilt dat gebruikers aan de binnenkant in staat zijn om communicatie met de buitenkant te initiëren. Apparaten aan de buitenkant moeten communicatie kunnen genereren met alleen de mailserver aan de binnenkant.
De derde stap is het configureren van NAT. Om te bereiken wat u hebt gedefinieerd, kunt u statische en dynamische NAT samen configureren. Raadpleeg voor meer informatie over het configureren van dit voorbeeld Statische en dynamische NAT tegelijk configureren.
3. TCP-verkeer omleiden naar een andere TCP-poort of -adres
Een webserver op het interne netwerk is een ander voorbeeld van wanneer het nodig kan zijn voor apparaten op internet om communicatie met interne apparaten te initiëren. In sommige gevallen kan de interne webserver worden geconfigureerd om te luisteren naar webverkeer op een andere TCP-poort dan poort 80. De interne webserver kan bijvoorbeeld worden geconfigureerd om naar TCP-poort 8080 te luisteren. In dit geval kunt u NAT gebruiken om het verkeer dat bestemd is voor TCP-poort 80 om te leiden naar TCP-poort 8080.
TCP-poort voor webverkeer
Nadat u de interfaces hebt gedefinieerd zoals weergegeven in het vorige netwerkdiagram, kunt u besluiten dat u wilt dat NAT pakketten van buitenaf omleidt die zijn bestemd voor 172.16.10.8:80 tot 172.16.10.8:8080. U kunt een statische nat-opdracht gebruiken om het TCP-poortnummer te vertalen om dit te bereiken. Een voorbeeldconfiguratie wordt hier weergegeven.
NAT configureren om TCP-verkeer om te leiden naar een andere TCP-poort of -adres
NAT-router |
interface ethernet 0
ip address 172.16.10.1 255.255.255.0
ip nat inside
!--- Defines Ethernet 0 with an IP address and as a NAT inside interface.
interface serial 0
ip address 10.200.200.5 255.255.255.252
ip nat outside
!--- Defines serial 0 with an IP address and as a NAT outside interface.
ip nat inside source static tcp 172.16.10.8 8080 172.16.10.8 80
!--- Static NAT command that states any packet received in the inside !--- interface with a source IP address of 172.16.10.8:8080 is !--- translated to 172.16.10.8:80.
|
Opmerking: De configuratiebeschrijving voor de statische NAT-opdracht geeft aan dat elk pakket dat in de interne interface wordt ontvangen met een bronadres van 172.16.10.8:8080 is vertaald naar 172.16.10.8:80. Dit houdt ook in dat elk pakket dat op de buiteninterface wordt ontvangen met een bestemmingsadres van 172.16.10.8:80, de bestemming heeft vertaald naar 172.16.10.8:8080.
show ip nat translations
Pro Inside global Inside local Outside local Outside global
tcp 172.16.10.8:80 172.16.10.8:8080 --- ---
4. NAT gebruiken voor een netwerkovergang
NAT is handig wanneer u apparaten op het netwerk opnieuw moet aanspreken of wanneer u het ene apparaat vervangt door een ander. Als alle apparaten in het netwerk bijvoorbeeld een bepaalde server gebruiken en deze server moet worden vervangen door een nieuwe server met een nieuw IP-adres, duurt het enige tijd voordat alle netwerkapparaten opnieuw zijn geconfigureerd om het nieuwe serveradres te gebruiken. In de tussentijd kunt u NAT gebruiken om de apparaten met het oude adres te configureren om hun pakketten te vertalen om met de nieuwe server te communiceren.
NAT-netwerkovergang
Nadat u de NAT-interfaces hebt gedefinieerd zoals in de vorige afbeelding wordt geïllustreerd, kunt u besluiten dat u wilt dat NAT toestaat dat pakketten van buitenaf die bestemd zijn voor het oude serveradres (172.16.10.8) worden vertaald en naar het nieuwe serveradres worden verzonden. Houd er rekening mee dat de nieuwe server zich in een ander LAN bevindt en dat apparaten in dit LAN of apparaten die via dit LAN bereikbaar zijn (apparaten in het binnenste deel van het netwerk) moeten worden geconfigureerd om het nieuwe IP-adres van de server te gebruiken, indien mogelijk.
U kunt statische NAT gebruiken om te bereiken wat u nodig hebt. Dit is een voorbeeldconfiguratie.
NAT configureren voor gebruik via een netwerkovergang
NAT-router |
interface ethernet 0
ip address 172.16.10.1 255.255.255.0
ip nat outside
!--- Defines Ethernet 0 with an IP address and as a NAT outside interface.
interface ethernet 1
ip address 172.16.50.1 255.255.255.0
ip nat inside
!--- Defines Ethernet 1 with an IP address and as a NAT inside interface.
interface serial 0
ip address 10.200.200.5 255.255.255.252
!--- Defines serial 0 with an IP address. This interface is not !--- participating in NAT.
ip nat inside source static 172.16.50.8 172.16.10.8
!--- States that any packet received on the inside interface with a !--- source IP address of 172.16.50.8 is translated to 172.16.10.8.
|
Opmerking: De opdracht inside source NAT in dit voorbeeld houdt ook in dat pakketten die op de externe interface zijn ontvangen met een bestemmingsadres van 172.16.10.8, het bestemmingsadres hebben vertaald naar 172.16.50.8.
5. NAT gebruiken voor netwerken die elkaar overlappen
Netwerken die elkaar overlappen, resulteren wanneer u IP-adressen toewijst aan interne apparaten die al worden gebruikt door andere apparaten binnen het internet. Deze netwerken resulteren ook wanneer twee bedrijven, die beide RFC 1918 IP-adressen in hun netwerken gebruiken, samenvoegen. Deze twee netwerken moeten communiceren, bij voorkeur zonder dat al hun apparaten opnieuw worden aangekleed.
Verschil tussen één-naar-één en veel-naar-veel mapping
Een statische NAT-configuratie maakt een één-op-één-toewijzing en vertaalt een specifiek adres naar een ander adres. Dit type configuratie maakt een permanente vermelding in de NAT-tabel zolang de configuratie aanwezig is en stelt zowel binnen als buiten hosts in staat om een verbinding te initiëren. Dit is vooral handig voor hosts die toepassingsservices bieden zoals e-mail, web, FTP enzovoort. Voorbeeld:
Router(config)#ip nat inside source static 10.3.2.11 10.41.10.12
Router(config)#ip nat inside source static 10.3.2.12 10.41.10.13
Dynamische NAT is handig wanneer er minder adressen beschikbaar zijn dan het werkelijke aantal te vertalen hosts. Het creëert een item in de NAT-tabel wanneer de host een verbinding initieert en een één-op-één toewijzing tussen de adressen tot stand brengt. Maar de toewijzing kan variëren en is afhankelijk van het geregistreerde adres dat op het moment van de communicatie in de pool beschikbaar is. Dynamic NAT maakt het mogelijk om sessies alleen te starten vanuit het netwerk waarvoor het is geconfigureerd. Dynamische NAT-items worden uit de vertaaltabel verwijderd als de host gedurende een bepaalde periode niet communiceert, wat configureerbaar is. Het adres wordt vervolgens teruggestuurd naar het zwembad voor gebruik door een andere host.
Voer bijvoorbeeld de volgende stappen uit van de gedetailleerde configuratie:
-
Maak een pool van adressen.
Router(config)#ip nat pool MYPOOLEXAMPLE 10.41.10.1 10.41.10.41 netmask 255.255.255.0
-
Maak een toegangslijst voor de interne netwerken die moeten worden toegewezen.
Router(config)#access-list 100 permit ip 10.3.2.0 0.0.0.255 any
-
Koppel de toegangslijst 100 die het interne netwerk 10.3.2.0 0.0.0.255 selecteren om aan de pool MYPOOLEXAMPLE te koppelen en overbelast vervolgens de adressen.
Router(config)#ip nat inside source list 100 pool MYPOOLEXAMPLE overload
Verifieer de NAT-bewerking
Nadat u NAT hebt geconfigureerd, controleert u of het werkt zoals verwacht. U kunt dit op een aantal manieren doen: met een netwerkanalyzer, toon opdrachten of debug opdrachten. Voor een gedetailleerd voorbeeld van NAT-verificatie, zie NAT-werking en basis NAT verifiëren.
Conclusie
De voorbeelden in dit document tonen snelle startstappen die u kunnen helpen bij het configureren en implementeren van NAT.
Deze snelstartstappen zijn onder meer:
-
NAT binnen en buiten interfaces definiëren.
-
Wat wil je bereiken met NAT?
-
Configureer NAT om te bereiken wat u in stap 2 hebt gedefinieerd.
-
Controleer de NAT-bewerking.
In elk van de voorgaande voorbeelden werden verschillende vormen van de ip nat insidecommando gebruikt. U kunt ook de ip nat outsidecommando gebruiken om dezelfde doelen te bereiken, maar houd rekening met de NAT-volgorde van bewerkingen. Voor configuratievoorbeelden die de ip nat gebruiken buiten de opdrachten, raadpleegt u de opdracht IP NAT buiten de bronlijst configureren.
De vorige voorbeelden toonden ook deze acties aan:
Opdracht |
Actie |
IP NAT Inside Source
|
- Vertaalt de bron van IP-pakketten die van binnen naar buiten reizen.
- Vertaalt de bestemming van de IP-pakketten die van buiten naar binnen reizen.
|
IP NAT-externe bron
|
- Vertaalt de bron van de IP-pakketten die van buiten naar binnen reizen.
- Vertaalt de bestemming van de IP-pakketten die binnen naar buiten reizen.
|
Gerelateerde informatie