Wojciech Kubiak

Wojciech Kubiak Cloud Unit Leader,
Cybercom Poland Sp.
z o.o.

Temat: Problem z NATem

Witam
Mam problem z dostępem do hosta WWW (10.60.18.3) wystawionego na zewnątrz przez StaticNat jako (81.x.y.30) z Lanu (host PC1 10.60.17.100) który działa pod DynNAT overload.

Obrazek

NAT statyczny i dynamiczny są na RTR1.
ip nat inside source list NAT interface FastEthernet0/0 overload
ip nat inside source static 10.60.18.3 81.x.y.30


I access lista NAT:

ip access-list extended NAT
deny ip 10.60.0.0 0.0.15.255 10.0.0.0 0.255.255.255
permit ip 10.60.0.0 0.0.255.255 any

Rolę "Internetu" pełni w tym przykładzie INERNEThost za routerem GATEWAY.
Wszystko się pinguje, NAT działa poprawnie... ale
Jak spróbuję wysłać ICMP z PC1 do WWW ale na adres zewnętrzny 81.x.y.30 nie otrzymuję odpowiedzi. Pakiet "zapętla" się w RTR1.
Inbound PDU:

SRC IP: 10.60.17.100
DST IP: 81.x.y.30

Outbound PDU (po poprawnym zNATowaniu)

SRC IP: 81.x.y.26
DST IP: 81.x.y.30

Z Packet Tracera otrzymuję komunikat:
Buffer Full: The maximum number of events has been reached...Wojciech Kubiak edytował(a) ten post dnia 17.03.10 o godzinie 12:20
Marek Dabrowski

Marek Dabrowski Senior Network
Engineer

Temat: Problem z NATem

Czesc ...

Patrzac na to pierwsze pytanie jakie mam do ciebie ... to inside NAT masz a gdzie on wychodzi ? Where is your outside statement?

Duzo nie robilem przy nat na routerach ale w ASA u match the incoming packet translation to the interface going out ... could be the same interface but you still need to tell it where it needs to come out translated ...

makes sense ?

I'm going to try to replicate this issue in my lab see what i come up with.

Dodam to,

link hxxp://www.cisco.com/en/US/partner/docs/ios/12_1/iproute/configuration/guide/1cdipadr.html#wp1002300

Configuring Static Translation

To configure static inside source address translation, use the following commands beginning in global configuration mode:

Command
Purpose

Step 1

ip nat inside source static local-ip global-ip

Establish static translation between an inside local address and an inside global address.

Step 2

interface type number

Specify the inside interface.

Step 3

ip nat inside

Mark the interface as connected to the inside.

Step 4

interface type number

Specify the outside interface.

Step 5

ip nat outside

Mark the interface as connected to the outside.

Wiec jesli chcesz zeby obydwie strony PC1 and Internethost widzialy 81.x.y.30 to musisz zrobic ip nat outside na interface co patrzy na inernethost i PC1 ... mysle to jest rozwiazaniem twojego problemu.

P.S. Przepraszam za slownictwo ale moj techniczny Polski jest straszny bo nigdy nie uzywalem.Marek Dabrowski edytował(a) ten post dnia 17.03.10 o godzinie 18:01
Wojciech Kubiak

Wojciech Kubiak Cloud Unit Leader,
Cybercom Poland Sp.
z o.o.

Temat: Problem z NATem

Dzięki za odpowiedź :) ale jak pisałem wcześniej, NAT działa jak powinien. W tej chwili na routerze RTR1 skonfigurowany jest on tak że "outside" jest tylko na interfejsie do internetu (w kierunku routera GATEWAY) a na pozostałych jest "inside". Jak zmienimy konfigurację NATu na interfejsie w kierunku PC1 z "inside" na "outside" to oczywiście pakiety do 81.x.y.30 zaczną chodzić ale przestanie działać połączenie z internetem ponieważ nie będą NATowane pakiety w kierunku routera GATEWAY.

Żeby spowodować nienatowanie pakietów z PC1 to WWW próbowałem w access-liscie NAT wprowadzić taki wpis:

Extended IP access list NAT
deny ip 10.60.0.0 0.0.15.255 10.0.0.0 0.255.255.255
deny ip 10.60.0.0 0.0.15.255 host 81.x.y.30
permit ip 10.60.0.0 0.0.255.255 any
Wojciech Kubiak edytował(a) ten post dnia 17.03.10 o godzinie 19:20

konto usunięte

Temat: Problem z NATem

ta przestrzen adresowa publiczna to cos wiecej niz 30 bity ? bo jak tak to ci to nie zadziala w ten sposob

V.
Wojciech Kubiak

Wojciech Kubiak Cloud Unit Leader,
Cybercom Poland Sp.
z o.o.

Temat: Problem z NATem

Maska 255.255.255.248... Przecież dla maski 30 bit miałbym do dyspozycji 2 adresy czyli jeden do użycia (2-gi to gateway) i nie mógłbym skonfigurować statycznego NATu.
W przykładzie dla uproszczenia skonfigurowałem sieć z maską klasy
CWojciech Kubiak edytował(a) ten post dnia 17.03.10 o godzinie 21:35

konto usunięte

Temat: Problem z NATem

Przypuszczam, że przy skonfigurowanym NVI mogłoby to zadziałać.

Przykład: http://blog.ine.com/2008/02/15/the-inside-and-outside-...
Marek Dabrowski

Marek Dabrowski Senior Network
Engineer

Temat: Problem z NATem

Marcin uwazam ze towje rozwiazanie powinno zadzialac ... jestem rozpieszczony bo w ASA mozesz robic rule w kazdym kierunku ile ich byc chcial .. na routerze widze to nie jest takie proste ..
Marek Dabrowski

Marek Dabrowski Senior Network
Engineer

Temat: Problem z NATem

Wlasnie skonczylem LAB i widze ze wszystko chodzi tak jak ty to zrobiles ... ciekawe czy to ma cos wspolnego z twoim IOS ... co jest dziwne to jak pinguje z 10.60.17.100 to nie pokazuje mi sie w NAT debug .. a jak ping robie z 81.x.x.x to widze jak robi mi translation ... co jest dziwne ... wiec wyglada na to ze nie robi NAT jak przechodzi przez NAT router.

to moj config

interface GigabitEthernet1/0
ip address 10.60.18.1 255.255.255.0
ip nat inside
ip virtual-reassembly
negotiation auto
!
interface GigabitEthernet2/0
ip address 81.1.1.29 255.255.255.0
ip nat outside
ip virtual-reassembly
negotiation auto
!
interface GigabitEthernet3/0
ip address 10.60.17.1 255.255.255.0
ip nat inside
ip virtual-reassembly
negotiation auto
!
ip forward-protocol nd
!
no ip http server
no ip http secure-server
!
ip nat source list NAT interface GigabitEthernet2/0 overload
ip nat inside source static 10.60.18.3 81.1.1.30
!
!
ip access-list extended NAT
deny ip 10.60.0.0 0.0.15.255 10.0.0.0 0.255.255.255
permit ip 10.60.0.0 0.0.255.255 any

debug NAT jak ping robie z 81.1.1.100

*Mar 17 23:52:01.731: NAT*: o: icmp (81.1.1.100, 6) -> (81.1.1.30, 6) [30]
*Mar 17 23:52:01.731: NAT*: o: icmp (81.1.1.100, 6) -> (81.1.1.30, 6) [30]
*Mar 17 23:52:01.731: NAT*: s=81.1.1.100, d=81.1.1.30->10.60.18.3 [30]
*Mar 17 23:52:01.811: NAT*: i: icmp (10.60.18.3, 6) -> (81.1.1.100, 6) [30]
*Mar 17 23:52:01.811: NAT*: s=10.60.18.3->81.1.1.30, d=81.1.1.100 [30]
*Mar 17 23:52:01.867: NAT*: o: icmp (81.1.1.100, 6) -> (81.1.1.30, 6) [31]
*Mar 17 23:52:01.867: NAT*: s=81.1.1.100, d=81.1.1.30->10.60.18.3 [31]
*Mar 17 23:52:01.891: NAT*: i: icmp (10.60.18.3, 6) -> (81.1.1.100, 6) [31]
*Mar 17 23:52:01.891: NAT*: s=10.60.18.3->81.1.1.30, d=81.1.1.100 [31]
*Mar 17 23:52:01.959: NAT*: o: icmp (81.1.1.100, 6) -> (81.1.1.30, 6) [32]
*Mar 17 23:52:01.959: NAT*: s=81.1.1.100, d=81.1.1.30->10.60.18.3 [32]
*Mar 17 23:52:01.991: NAT*: i: icmp (10.60.18.3, 6) -> (81.1.1.100, 6) [32]
*Mar 17 23:52:01.991: NAT*: s=10.60.18.3->81.1.1.30, d=81.1.1.100 [32]
*Mar 17 23:52:02.051: NAT*: o: icmp (81.1.1.100, 6) -> (81.1.1.30, 6) [33]
*Mar 17 23:52:02.051: NAT*: s=81.1.1.100, d=81.1.1.30->10.60.18.3 [33]
*Mar 17 23:52:02.079: NAT*: i: icmp (10.60.18.3, 6) -> (81.1.1.100, 6) [33]
*Mar 17 23:52:02.079: NAT*: s=10.60.18.3->81.1.1.30, d=81.1.1.100 [33]
*Mar 17 23:52:02.099: NAT*: o: icmp (81.1.1.100, 6) -> (81.1.1.30, 6) [34]
*Mar 17 23:52:02.099: NAT*: s=81.1.1.100, d=81.1.1.30->10.60.18.3 [34]
*Mar 17 23:52:02.171: NAT*: i: icmp (10.60.18.3, 6) -> (81.1.1.100, 6) [34]
*Mar 17 23:52:02.171: NAT*: s=10.60.18.3->81.1.1.30, d=81.1.1.100 [34]

nic sie nie pokazuje jak robie ping z 10.60.17.100

mam nadzieje ze to cos ci pomoglo

Ja bym sprobowal NVI tak jak Marcin zaproponowal ale z tego co widze to straszny jest performance niz orginalnie.

konto usunięte

Temat: Problem z NATem

Wojciech Kubiak:
... ciach ...
Z Packet Tracera otrzymuję komunikat:
Buffer Full: The maximum number of events has been reached...Wojciech Kubiak edytował(a) ten post dnia 17.03.10 o godzinie 12:20

podeslij mi ten konfig z PT lukne co masz nie tak
co do adresacji to nie podales jaka jest wiec asekuracyjnie spytalem
V.
Wojciech Kubiak

Wojciech Kubiak Cloud Unit Leader,
Cybercom Poland Sp.
z o.o.

Temat: Problem z NATem

To moja przykładowa konfiguracja w PT:
http://kubiak.in/www/NAT.pkt

Myślę że problem jest na poziomie ARPa. RTR1 nie wie jak zencapsulować pakiet do 81.1.1.30Wojciech Kubiak edytował(a) ten post dnia 19.03.10 o godzinie 10:35
Marcin Ślęczek

Marcin Ślęczek Network Engineer

Temat: Problem z NATem

Marek Dabrowski:
Wlasnie skonczylem LAB i widze ze wszystko chodzi tak jak ty to zrobiles ... ciekawe czy to ma cos wspolnego z twoim IOS ... co jest dziwne to jak pinguje z 10.60.17.100 to nie pokazuje mi sie w NAT debug .. a jak ping robie z 81.x.x.x to widze jak robi mi translation ... co jest dziwne ... wiec wyglada na to ze nie robi NAT jak przechodzi przez NAT router.

to moj config
!
ip nat source list NAT interface GigabitEthernet2/0 overload
ip nat inside source static 10.60.18.3 81.1.1.30
!
nic sie nie pokazuje jak robie ping z 10.60.17.100

mam nadzieje ze to cos ci pomoglo

Ja bym sprobowal NVI tak jak Marcin zaproponowal ale z tego co widze to straszny jest performance niz orginalnie.

Możliwe że złe zachowanie jest przyczyną źle wpisanego polecenia wiążącego listę adresów Inside Local z interfejsem na który odbywa się translacja.

Powinno być:
ip nat inside source list NAT interface GigabitEthernet2/0 overload

a jest:
ip nat source list NAT interface GigabitEthernet2/0 overload
Marek Dabrowski

Marek Dabrowski Senior Network
Engineer

Temat: Problem z NATem

Możliwe że złe zachowanie jest przyczyną źle wpisanego polecenia wiążącego listę adresów Inside Local z interfejsem na który odbywa się translacja.

Powinno być:
ip nat inside source list NAT interface GigabitEthernet2/0 overload

a jest:
ip nat source list NAT interface GigabitEthernet2/0 overload

To u niego jest

ip nat inside source list NAT interface GigabitEthernet2/0 overload

a u mnie jest

ip nat source list NAT interface GigabitEthernet2/0 overload

ciekawe jak u mnie w labie sie zmieni jesli to zmiene ...

---------------------------------------------------

Zmienilem i niestety tak czy owak dziala ...

----------------------------------------------------

Zauwazylem tez ta komende co moze by ci pomoc ale nie wiem dokladnie jaki to ma "impact" na security ...

Router(config)#$de source list NAT interface gigabitEthernet 2/0 overload ?

oer Use with vtemplate only. On new translation, if OER BR is UP, OER will select IP from outgoing Interface. All packets matching translation are forwarded over Interface for duration or translation.

reversible Allow out->in traffic

Router(config)#$de source list NAT interface gigabitEthernet 2/0 overload re
Router(config)#$list NAT interface gigabitEthernet 2/0 overload REVERSIBLE

------------------------------------

zrob tez debug NAT i pokaz kiedy robisz ping z PC1 ciekawe co sie dzieje ...Marek Dabrowski edytował(a) ten post dnia 19.03.10 o godzinie 20:51
Wojciech Kubiak

Wojciech Kubiak Cloud Unit Leader,
Cybercom Poland Sp.
z o.o.

Temat: Problem z NATem

Router#show debugging 
Generic IP:
IP packet debugging is on
IP NAT debugging is on
Router#
IP: tableid=0, s=10.60.17.100 (Ethernet0/1/0), d=81.1.1.30 (FastEthernet0/0), routed via RIB
IP: s=10.60.17.100 (Ethernet0/1/0), d=81.1.1.30 (FastEthernet0/0), g=81.1.1.30, len 128, forward
NAT: s=10.60.17.100->81.1.1.26, d=81.1.1.30 [25]
IP: s=10.60.17.100 (Ethernet0/1/0), d=81.1.1.30 (FastEthernet0/0), len 128, encapsulation failed


Doskonale widać decyzję o forwadowaniu pakietu później NAT zamienia IP z 10.60.17.100 na 81.1.1.26 a następnie pojawia się problem podczas tworzenia pakietu. Moim zdaniem problem jest podczas wysylania zapytania ARP o adres MAC kompa z IP 81.1.1.30. Wtedy okazuje się że taki MAC wystąpić powinien zarówno w polu "source" jak i "destination" nagłówka pakietu.



Wyślij zaproszenie do