Inleiding
In dit document wordt beschreven hoe u de opdracht configureert ip nat outside source list en wordt beschreven wat er met het IP-pakket gebeurt tijdens het NAT-proces.
Voorwaarden
Vereisten
Er zijn geen specifieke vereisten van toepassing op dit document.
Gebruikte componenten
De informatie in dit document is gebaseerd op Cisco Routers waarop Cisco IOS® Software Release wordt uitgevoerd.
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.
Achtergrondinformatie
U kunt deze opdracht gebruiken om het bronadres van de IP-pakketten te vertalen die van de externe kant van het netwerk naar de interne kant van het netwerk worden verzonden. Deze actie vertaalt het bestemmingsadres van de IP-pakketten die in de tegenovergestelde richting reizen - van binnen naar buiten het netwerk. Deze opdracht is nuttig in situaties zoals overlappende netwerken, waarbij de netwerkadressen aan de interne kant de adressen aan de externe kant overlappen. We gebruiken het netwerkdiagram als voorbeeld.
Conventies
Raadpleeg Cisco Technical Tips Conventions (Conventies voor technische tips van Cisco) voor meer informatie over documentconventies.
Configureren
Deze sectie bevat informatie over het configureren van de functies die in dit document worden beschreven.
Opmerking: Gebruik Command Lookup Tool (alleen voor geregistreerde klanten) voor meer informatie over de opdrachten die in dit document worden gebruikt.
Netwerkdiagram
Het netwerk in dit document is als volgt opgebouwd:
Netwerkdiagram
Wanneer een ping afkomstig is van de Router R1 Loopback0-interface (172.16.88.1) naar de Router R2 Loopback0-interface (172.31.1.1), vindt de volgende reeks gebeurtenissen plaats:
- Packet Forwarding: Router R1 stuurt de pakketten door naar de NAT-Router omdat deze is geconfigureerd met een standaardroute. Op de buiteninterface van de NAT-Router heeft het pakket een bronadres (SA) van 172.16.88.1 en een bestemmingsadres (DA) van 172.31.1.1.
- NAT-vertaling: Aangezien de SA is toegestaan door toegangslijst 1, die wordt gebruikt door de opdracht ip nat buiten de bronlijst, wordt deze vertaald naar een adres uit de NAT-pool "NET". In dit geval wordt het adres vertaald naar 172.31.16.10, het eerste beschikbare adres in de NAT-pool.
- Routering naar bestemming: na vertaling zoekt de NAT-Router in zijn routeringstabel naar de bestemming en routeert het pakket. Router R2 ontvangt het pakket op zijn inkomende interface met een SA van 172.31.16.10 en een DA van 172.31.1.1. Router R2 reageert door het verzenden van een Internet Control Message Protocol (ICMP) echo antwoord op 172.31.16.10. Als Router R2 geen route heeft naar 172.31.16.10, laat het pakket vallen.
- Antwoordverwerking: In dit geval heeft Router R2 een standaardroute, dus verzendt het antwoordpakket naar de NAT-Router, met behulp van een SA van 172.31.1.1 en een DA van 172.31.16.10. De NAT-Router ontvangt het pakket op zijn interne interface en controleert op een route naar het 172.31.16.10-adres. Als het geen route heeft, reageert het met een ICMP onbereikbaar antwoord.
- Vertaling en routering terug: In dit geval heeft de NAT-Router een route naar 172.31.16.10 vanwege de add-route optie van de ip nat outside source opdracht, die een host route toevoegt op basis van de vertaling tussen het externe globale en externe lokale adres. De NAT-Router vertaalt het pakket terug naar het oorspronkelijke bronadres (172.16.88.1) en routeert het pakket uit de buiteninterface terug naar Router R1.
Configuraties
| Router R1 |
hostname R1
!
!--- Output suppressed.
!
interface Loopback0
ip address 172.16.88.1 255.255.255.0
!
!--- Output suppressed.
!
interface GigabitEthernet0/0
ip address 172.16.191.254 255.255.255.252
duplex auto
speed auto
!
!--- Output suppressed.
ip route 0.0.0.0 0.0.0.0 172.16.191.253
!--- Default route to forward packets to NAT-Router.
!--- Output suppressed.
|
| router-NAT-router |
hostname NAT-Router
!
!--- Output suppressed.
!
interface GigabitEthernet0/0
ip address 172.16.191.253 255.255.255.252
ip nat outside
ip virtual-reassembly in
duplex auto
speed auto
!
interface GigabitEthernet0/1
ip address 172.31.192.202 255.255.255.0
ip nat inside
ip virtual-reassembly in
duplex auto
speed auto
!
ip nat pool NET 172.31.16.10 172.31.16.254 netmask 255.255.255.0
!--- NAT pool defining Outside Local addresses to be used for translation.
!
ip nat outside source list 1 pool NET add-route
!
!--- Configures translation for Outside Global addresses !--- with the NAT pool.
!
ip route 172.16.88.0 255.255.255.0 172.16.191.254
ip route 172.31.1.0 255.255.255.0 172.31.192.201
!
!--- Static routes for reaching the loopback interfaces on R1 and R2.
!
access-list 1 permit 172.16.88.0 0.0.0.255
!
!--- Access-list defining Outside Global addresses to be translated.
!--- Output suppressed.
|
| Router R2 |
hostname R2
!
!--- Output suppressed.
interface Loopback0
ip address 172.31.1.1 255.255.255.0
!
!
interface GigabitEthernet0/0
ip address 172.31.192.201 255.255.255.0
duplex auto
speed auto
!
!--- Output suppressed.
ip route 0.0.0.0 0.0.0.0 172.31.192.202
!--- Default route to forward packets to NAT-Router.
!--- Output suppressed.
|
Verifiëren
Dit gedeelte bevat informatie die u kunt gebruiken om te bevestigen dat uw configuratie correct werkt.
Bepaalde show-opdrachten worden ondersteund door de Output Interpreter Tool (alleen geregistreerde klanten), waarmee u een analyse van de show opdrachtuitvoer kunt bekijken.
De opdracht show ip nat translations kan worden gebruikt om de vertaalitems te controleren, zoals in deze uitvoer wordt weergegeven:
NAT-Router#show ip nat translations
Pro Inside global Inside local Outside local Outside global
--- --- --- 172.31.16.10 172.16.88.1
icmp 172.31.1.1:0 172.31.1.1:0 172.31.16.10:0 172.16.88.1:0
NAT-Router#
De uitvoer laat zien dat het Outside Global-adres 172.16.88.1, het adres op de Loopback0-interface van router R1, wordt vertaald naar het Outside Local-adres 172.31.16.10.
U kunt de opdracht ip-route tonen gebruiken om de routeringstabel-items te controleren, zoals wordt weergegeven:
NAT-Router#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
a - application route
+ - replicated route, % - next hop override, p - overrides from PfR
Gateway of last resort is not set
172.16.0.0/16 is variably subnetted, 3 subnets, 3 masks
S 172.16.88.0/24 [1/0] via 172.16.191.254
C 172.16.191.252/30 is directly connected, GigabitEthernet0/0
L 172.16.191.253/32 is directly connected, GigabitEthernet0/0
172.31.0.0/16 is variably subnetted, 4 subnets, 2 masks
S 172.31.1.0/24 [1/0] via 172.31.192.201
S 172.31.16.10/32 [1/0] via 172.16.88.1
C 172.31.192.0/24 is directly connected, GigabitEthernet0/1
L 172.31.192.202/32 is directly connected, GigabitEthernet0/1
NAT-Router#
De uitvoer toont een / 32-route voor het externe lokale adres 172.31.16.10, dat is gemaakt vanwege de add-routeoptie van de opdracht ip nat outside source. Deze route wordt gebruikt voor het routeren en vertalen van pakketten die van de binnenkant naar de buitenkant van het netwerk reizen.
Problemen oplossen
Deze sectie bevat informatie waarmee u problemen met de configuratie kunt oplossen.
Deze uitvoer is het resultaat van het uitvoeren van het debug ip-pakket en debug ip nat-opdrachten op Router NAT-Router, terwijl het pingen van de Router R1 loopback0 interface adres (172.16.88.1) naar de Router R2 loopback0 interface adres (172.31.1.1):
!--- The source address in the first packet arriving on the outside interface is first translated.
*Oct 4 20:26:48.839: NAT: s=172.16.88.1->172.31.16.10, d=172.31.1.1 [0]
!--- The ICMP echo request packet with the translated source address is routed and forwarded on the inside interface.
*Oct 4 20:26:48.839: IP: s=172.31.16.10 (GigabitEthernet0/0), d=172.31.1.1 (GigabitEthernet0/1), len 100, output feature, NAT Inside(8), rtype 1, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Oct 4 20:26:48.839: IP: s=172.31.16.10 (GigabitEthernet0/0), d=172.31.1.1 (GigabitEthernet0/1), len 100, output feature, Common Flow Table(29), rtype 1, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Oct 4 20:26:48.839: IP: s=172.31.16.10 (GigabitEthernet0/0), d=172.31.1.1 (GigabitEthernet0/1), len 100, output feature, Stateful Inspection(30), rtype 1, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Oct 4 20:26:48.839: IP: s=172.31.16.10 (GigabitEthernet0/0), d=172.31.1.1 (GigabitEthernet0/1), len 100, output feature, NAT ALG proxy(63), rtype 1, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Oct 4 20:26:48.839: IP: s=172.31.16.10 (GigabitEthernet0/0), d=172.31.1.1 (GigabitEthernet0/1), g=172.31.192.201, len 100, forward
*Oct 4 20:26:48.839: IP: s=172.31.16.10 (GigabitEthernet0/0), d=172.31.1.1 (GigabitEthernet0/1), len 100, sending full packet
!--- The ICMP echo reply packet arriving on the inside interface, is first routed based on the destination address.
Oct 4 20:26:48.841: IP: s=172.31.1.1 (GigabitEthernet0/1), d=172.31.16.10, len 100, input feature, Common Flow Table(5), rtype 0, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Oct 4 20:26:48.841: IP: s=172.31.1.1 (GigabitEthernet0/1), d=172.31.16.10, len 100, input feature, Stateful Inspection(8), rtype 0, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Oct 4 20:26:48.841: IP: s=172.31.1.1 (GigabitEthernet0/1), d=172.31.16.10, len 100, input feature, Virtual Fragment Reassembly(39), rtype 0, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Oct 4 20:26:48.841: IP: s=172.31.1.1 (GigabitEthernet0/1), d=172.31.16.10, len 100, input feature, Virtual Fragment Reassembly After IPSec Decryption(57), rtype 0, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Oct 4 20:26:48.841: IP: s=172.31.1.1 (GigabitEthernet0/1), d=172.31.16.10, len 100, input feature, MCI Check(109), rtype 0, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
!--- The destination address in the packet is then translated.
*Oct 4 20:26:48.841: NAT: s=172.31.1.1, d=172.31.16.10->172.16.88.1 [0]
!--- The ICMP echo reply packet with the translated destination address is forwarded on the outside interface.
*Oct 4 20:26:48.841: IP: s=172.31.1.1 (GigabitEthernet0/1), d=172.16.88.1 (GigabitEthernet0/0), len 100, output feature, Post-routing NAT Outside(26), rtype 1, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Oct 4 20:26:48.841: IP: s=172.31.1.1 (GigabitEthernet0/1), d=172.16.88.1 (GigabitEthernet0/0), len 100, output feature, Common Flow Table(29), rtype 1, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Oct 4 20:26:48.841: IP: s=172.31.1.1 (GigabitEthernet0/1), d=172.16.88.1 (GigabitEthernet0/0), len 100, output feature, Stateful Inspection(30), rtype 1, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Oct 4 20:26:48.841: IP: s=172.31.1.1 (GigabitEthernet0/1), d=172.16.88.1 (GigabitEthernet0/0), len 100, output feature, NAT ALG proxy(63), rtype 1, forus FALSE, sendself FALSE, mtu 0, fwdchk FALSE
*Oct 4 20:26:48.841: IP: s=172.31.1.1 (GigabitEthernet0/1), d=172.16.88.1 (GigabitEthernet0/0), g=172.16.191.254, len 100, forward
*Oct 4 20:26:48.843: IP: s=172.31.1.1 (GigabitEthernet0/1), d=172.16.88.1 (GigabitEthernet0/0), len 100, sending full packet
*Oct 4 20:26:48.845: NAT*: s=172.16.88.1->172.31.16.10, d=172.31.1.1 [1]
*Oct 4 20:26:48.846: NAT*: s=172.31.1.1, d=172.31.16.10->172.16.88.1 [1]
*Oct 4 20:26:48.848: NAT*: s=172.16.88.1->172.31.16.10, d=172.31.1.1 [2]
*Oct 4 20:26:48.849: NAT*: s=172.31.1.1, d=172.31.16.10->172.16.88.1 [2]
*Oct 4 20:26:48.851: NAT*: s=172.16.88.1->172.31.16.10, d=172.31.1.1 [3]
*Oct 4 20:26:48.852: NAT*: s=172.31.1.1, d=172.31.16.10->172.16.88.1 [3]
*Oct 4 20:26:48.854: NAT*: s=172.16.88.1->172.31.16.10, d=172.31.1.1 [4]
*Oct 4 20:26:48.855: NAT*: s=172.31.1.1, d=172.31.16.10->172.16.88.1 [4]
De vorige procedure wordt herhaald voor elk pakket dat op de buiteninterface wordt ontvangen.
Samenvatting
Het belangrijkste verschil tussen het gebruik van de opdracht ip nat outside source list (dynamische NAT) in plaats van de opdracht ip nat outside source static command (statische NAT) is dat er geen items in de vertaaltabel zijn totdat de router (geconfigureerd voor NAT) de vertaalcriteria van het pakket verifieert. In het vorige voorbeeld voldoet het pakket met de SA 172.16.88.1 (dat in de buiteninterface van NAT-Router wordt geleverd) aan toegangslijst 1, de criteria die worden gebruikt door de opdracht ip nat buiten de bronlijst. Om deze reden moeten pakketten afkomstig zijn van het externe netwerk voordat pakketten van het interne netwerk kunnen communiceren met de Router R1 loopback0-interface.
Er zijn twee belangrijke dingen om op te merken in dit voorbeeld:
1. Wanneer het pakket van buiten naar binnen reist, vindt de vertaling eerst plaats en wordt vervolgens de routeringstabel gecontroleerd op de bestemming. Wanneer het pakket van binnen naar buiten reist, wordt de routeringstabel eerst gecontroleerd op de bestemming en vervolgens vindt de vertaling plaats.
2. Het is belangrijk op te merken welk deel van het IP-pakket wordt vertaald bij het gebruik van elk van de vorige opdrachten. De volgende tabel geeft een richtlijn:
| Opdracht |
Actie |
| IP NAT buiten bronlijst |
- vertaalt de bron van de IP-pakketten die van buiten naar binnen reizen
- vertaalt de bestemming van de IP-pakketten die van binnen naar buiten reizen
|
| IP NAT in bronlijst |
- 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
|
Wat deze richtlijnen aangeven, is dat er meer dan één manier is om een pakket te vertalen. Afhankelijk van uw specifieke behoeften kunt u bepalen hoe u de NAT-interfaces (binnen of buiten) definieert en welke routes de routeringstabel bevat voor of na de vertaling. Houd er rekening mee dat het deel van het pakket dat wordt vertaald, afhankelijk is van de richting waarin het pakket reist en hoe u NAT hebt geconfigureerd.
Gerelateerde informatie