Dit document beschrijft een scenario waarin de pakketlijnen tussen de NAT-router en de naburige router op de externe interface worden beschreven wanneer u dynamische netwerkadresomzetting (NAT) gebruikt vanwege verkeer dat bestemd is voor een ongebruikt ip-adres in een NAT-pool en de aanwezigheid van een standaardroute op de NAT-router die deze pakketten naar buiten routeert.
Er zijn geen specifieke vereisten van toepassing op dit document.
Dit document is niet beperkt tot specifieke software- en hardware-versies.
De informatie in dit document is gebaseerd op apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als u in een levend netwerk werkt, zorg er dan voor dat u de potentiële impact van om het even welke opdracht begrijpt alvorens het te gebruiken.
De volgende topologie werd gebruikt om het voorbeeldscenario te creëren.
Zie de Cisco Technical Tips Convention voor meer informatie over documentconventies.
In de bovenstaande topologie wordt Router-A met NAT geconfigureerd zodat het pakketten vertaalt die zijn afkomstig van netwerk 171.68.200.0/24 naar een reeks adressen die door de NAT pool "testlus" worden gedefinieerd. De configuratie van de router-A is als volgt (alle andere routers worden geconfigureerd met statische routes om connectiviteit te verkrijgen):
hostname Router-A ! ! ip nat pool test-loop 172.16.47.161 172.16.47.165 prefix-length 28 ip nat inside source list 7 pool test-loop ! interface Loopback0 ip address 1.1.1.1 255.0.0.0 ! interface Ethernet0 ip address 135.135.1.2 255.255.255.0 shutdown ! interface Serial0 ip address 171.68.200.49 255.255.255.0 ip nat inside no ip mroute-cache no ip route-cache no fair-queue ! interface Serial1 ip address 172.16.47.146 255.255.255.240 ip nat outside no ip mroute-cache no ip route-cache ! ip classless ip route 0.0.0.0 0.0.0.0 172.16.47.145 access-list 7 permit 171.68.200.0 0.0.0.255 ! ! line con 0 exec-timeout 0 0 line aux 0 line vty 0 4 login ! end
Met NAT vertaling debugging en IP pakketzuiveringsopdrachten, genereerden we een ping van de router op het interne apparaat. De ping werkte en er werd een vertaaltabel gegenereerd. In de hieronder weergegeven uitvoer zien we dat IP-pakketdebugging en IP NAT-debugging ingeschakeld zijn en dat er op dit moment geen items in de vertaaltabel zijn.
Opmerking: de opdrachten debug genereren een aanzienlijke hoeveelheid output. Gebruik deze uitsluitend wanneer het verkeer op het IP-netwerk laag is, zodat de andere activiteit op het systeem niet ongunstig wordt beïnvloed.
Router-A# show debug Generic IP: IP packet debugging is on (detailed) IP NAT debugging is on Router-A# show ip nat translations Router-A#
De binnenrouter (binnenapparaat) begint een ICMP-pakket met een bronadres van 171.68.200.48 en een doeladres van 171.68.191.1 (het adres van het externe apparaat). De volgende debug-uitvoer toont een IP-pakket met een bronIP-adres van 171.68.200.48 dat wordt vertaald naar 172.16.47.161. Het pakket komt in de seriële0-interface en is bestemd voor de seriële1 interface.
NAT: s=171.68.200.48->172.16.47.161, d=171.68.191.1 [401] IP: s=172.16.47.161 (Serial0), d=171.68.191.1 (Serial1), g=172.16.47.145, len 100, forward ICMP type=8, code=0
De volgende debug-uitvoer toont het IP-retourpakket met een IP-adres van de bestemming van 172.16.47.161 dat wordt vertaald naar 171.68.200.48. Het pakket komt in de seriële1 interface en is voorzien van de seriële0-interface.
NAT*: s=171.68.191.1, d=172.16.47.161->171.68.200.48 [401] IP: s=171.68.191.1 (Serial1), d=171.68.200.48 (Serial0), g=171.68.200.48, len 100, forward ICMP type=0, code=0
De debug uitvoer toont het succesvolle pingelen uitwisseling tussen het binnenapparaat en het buitenapparaat:
NAT: s=171.68.200.48->172.16.47.161, d=171.68.191.1 [402] IP: s=172.16.47.161 (Serial0), d=171.68.191.1 (Serial1), g=172.16.47.145, len 100, forward ICMP type=8, code=0 NAT*: s=171.68.191.1, d=172.16.47.161->171.68.200.48 [402] IP: s=171.68.191.1 (Serial1), d=171.68.200.48 (Serial0), g=171.68.200.48, len 100, forward ICMP type=0, code=0 NAT: s=171.68.200.48->172.16.47.161, d=171.68.191.1 [403] IP: s=172.16.47.161 (Serial0), d=171.68.191.1 (Serial1), g=172.16.47.145, len 100, forward ICMP type=8, code=0 NAT*: s=171.68.191.1, d=172.16.47.161->171.68.200.48 [403] IP: s=171.68.191.1 (Serial1), d=171.68.200.48 (Serial0), g=171.68.200.48, len 100, forward ICMP type=0, code=0 NAT: s=171.68.200.48->172.16.47.161, d=171.68.191.1 [404] IP: s=172.16.47.161 (Serial0), d=171.68.191.1 (Serial1), g=172.16.47.145, len 100, forward ICMP type=8, code=0 NAT*: s=171.68.191.1, d=172.16.47.161->171.68.200.48 [404] IP: s=171.68.191.1 (Serial1), d=171.68.200.48 (Serial0), g=171.68.200.48, len 100, forward ICMP type=0, code=0 NAT: s=171.68.200.48->172.16.47.161, d=171.68.191.1 [405] IP: s=172.16.47.161 (Serial0), d=171.68.191.1 (Serial1), g=172.16.47.145, len 100, forward ICMP type=8, code=0 NAT*: s=171.68.191.1, d=172.16.47.161->171.68.200.48 [405] IP: s=171.68.191.1 (Serial1), d=171.68.200.48 (Serial0), g=171.68.200.48, len 100, forward ICMP type=0, code=0
Met de opdracht toonaangevende ip nat vertalingen zien we een ingang in de vertaaltabel voor het binnenapparaat.
Router-A# show ip nat translations Pro Inside global Inside local Outside local Outside global --- 172.16.47.161 171.68.200.48 --- ---
Nu een vertaling voor het binnenapparaat in de vertaaltabel bestaat, kunnen we met succes pingelen van het buitenapparaat tot het mondiale adres van het binnenapparaat, zoals getoond in de debug uitvoer die door router-A hieronder gegenereerd wordt.
Opmerking: Het pakje dat door het externe apparaat is aangemaakt, heeft een bronadres van 171.68.191.1 en een doeladres van 172.16.47.161 (het globale interne adres in de vertaaltabel).
Router-A# NAT*: s=171.68.191.1, d=172.16.47.161->171.68.200.48 [108] IP: s=171.68.191.1 (Serial1), d=171.68.200.48 (Serial0), g=171.68.200.48, len 100, forward ICMP type=8, code=0 NAT: s=171.68.200.48->172.16.47.161, d=171.68.191.1 [108] IP: s=172.16.47.161 (Serial0), d=171.68.191.1 (Serial1), g=172.16.47.145, len 100, forward ICMP type=0, code=0 NAT*: s=171.68.191.1, d=172.16.47.161->171.68.200.48 [109] IP: s=171.68.191.1 (Serial1), d=171.68.200.48 (Serial0), g=171.68.200.48, len 100, forward ICMP type=8, code=0 NAT: s=171.68.200.48->172.16.47.161, d=171.68.191.1 [109] IP: s=172.16.47.161 (Serial0), d=171.68.191.1 (Serial1), g=172.16.47.145, len 100, forward ICMP type=0, code=0 NAT*: s=171.68.191.1, d=172.16.47.161->171.68.200.48 [110] IP: s=171.68.191.1 (Serial1), d=171.68.200.48 (Serial0), g=171.68.200.48, len 100, forward ICMP type=8, code=0 NAT: s=171.68.200.48->172.16.47.161, d=171.68.191.1 [110] IP: s=172.16.47.161 (Serial0), d=171.68.191.1 (Serial1), g=172.16.47.145, len 100, forward ICMP type=0, code=0 NAT*: s=171.68.191.1, d=172.16.47.161->171.68.200.48 [111] IP: s=171.68.191.1 (Serial1), d=171.68.200.48 (Serial0), g=171.68.200.48, len 100, forward ICMP type=8, code=0 NAT: s=171.68.200.48->172.16.47.161, d=171.68.191.1 [111] IP: s=172.16.47.161 (Serial0), d=171.68.191.1 (Serial1), g=172.16.47.145, len 100, forward ICMP type=0, code=0 NAT*: s=171.68.191.1, d=172.16.47.161->171.68.200.48 [112] IP: s=171.68.191.1 (Serial1), d=171.68.200.48 (Serial0), g=171.68.200.48, len 100, forward ICMP type=8, code=0 NAT: s=171.68.200.48->172.16.47.161, d=171.68.191.1 [112] IP: s=172.16.47.161 (Serial0), d=171.68.191.1 (Serial1), g=172.16.47.145, len 100, forward ICMP type=0, code=0
De volgende debug uitvoer demonstreert wat kan gebeuren wanneer een extern apparaat probeert de communicatie met een bestemmingsadres te openen dat een ongebruikt IP adres in de test-loop pool is. De heldere ip nat vertaling opdracht werd gebruikt om de vertaaltabel te vereffenen en er werd een ping naar een ongebruikt IP-adres in de testlus pool gestuurd.
Het externe apparaat stuurt een ICMP-pakket dat bestemd is voor het interne mondiale adres van 172.16.47.161. De uitvoerinterface is echter hetzelfde als de invoerinterface voor dit pakket.
IP: s=171.68.191.1 (Serial1), d=172.16.47.161 (Serial1), g=172.16.47.145, len 100, forward ICMP type=8, code=0 IP: s=171.68.191.1 (Serial1), d=172.16.47.161 (Serial1), g=172.16.47.145, len 100, forward ICMP type=8, code=0 IP: s=171.68.191.1 (Serial1), d=172.16.47.161 (Serial1), g=172.16.47.145, len 100, forward ICMP type=8, code=0 IP: s=171.68.191.1 (Serial1), d=172.16.47.161 (Serial1), g=172.16.47.145, len 100, forward ICMP type=8, code=0 IP: s=171.68.191.1 (Serial1), d=172.16.47.161 (Serial1), g=172.16.47.145, len 100, forward ICMP type=8, code=0 IP: s=171.68.191.1 (Serial1), d=172.16.47.161 (Serial1), g=172.16.47.145, len 100, forward ICMP type=8, code=0 IP: s=171.68.191.1 (Serial1), d=172.16.47.161 (Serial1), g=172.16.47.145, len 100, forward ICMP type=8, code=0 IP: s=171.68.191.1 (Serial1), d=172.16.47.161 (Serial1), g=172.16.47.145, len 100, forward ICMP type=8, code=0 IP: s=171.68.191.1 (Serial1), d=172.16.47.161 (Serial1), g=172.16.47.145, len 100, forward ICMP type=8, code=0 IP: s=171.68.191.1 (Serial1), d=172.16.47.161 (Serial1), g=172.16.47.145, len 100, forward ICMP type=8, code=0 IP: s=171.68.191.1 (Serial1), d=172.16.47.161 (Serial1), g=172.16.47.145, len 100, forward ICMP type=8, code=0 IP: s=171.68.191.1 (Serial1), d=172.16.47.161 (Serial1), g=172.16.47.145, len 100, forward ICMP type=8, code=0 IP: s=171.68.191.1 (Serial1), d=172.16.47.161 (Serial1), g=172.16.47.145, len 100, forward ICMP type=8, code=0
NAT vertaalt pakketten die van buiten naar binnen gaan voordat u het pakket verstuurt. In dit geval, is er geen ingang in de vertaallijst, zodat router-A het pakket slechts kan leiden. De router-A is van zijn standaardroute om de pakketten te leiden, het verzenden van de pakketten terug uit de seriële1 interface, die een lijn veroorzaakt die uiteindelijk de serielijn kon brengen.
Om dit soort routing loop te vermijden, moet u nooit pakketten van de buitenapparaten aan de binnenkant van mondiale adressen aanmaken. Echter, omdat dit moeilijk te afdwingen is, kunt u een statische route voor de binnenglobale adressen met een volgende hop van nul in router-A toevoegen. Op deze manier, wanneer een extern apparaat pakketten verstuurt die voor een binnen mondiaal adres bestemd zijn, en er geen ingang in de vertaallijst is, leidt router-A het pakket om 0 te nul, vermijdt de lus. Met behulp van het bovenstaande voorbeeld ziet de statische route er als volgt uit:
ip route 172.16.47.160 255.255.255.252 null0.
Revisie | Publicatiedatum | Opmerkingen |
---|---|---|
1.0 |
10-Aug-2005 |
Eerste vrijgave |