Tartalomjegyzék

< Cisco

NAT

A NAT

A NAT a Network Address Translation rövidítése, magyarul címfordítás.

Háromféle NAT:

Statikus NAT

Statikus NAT 1

Adott a következő hálózat:

Célunk, hogy a külső hálózatról elérjük a belső hálózaton lévő webszervert.

A következőket kell beállítani:

R1(config)# interface GigabitEthernet0/0
R1(config-if)# ip address 1.1.1.1 255.0.0.0
R1(config-if)# ip nat outside

R1(config)# interface GigabitEthernet0/1
R1(config-if)# ip address 192.168.10.1 255.255.255.0
R1(config-if)# ip nat inside

R(config)# ip nat inside source static 192.168.10.2 1.1.1.1  
R1#sh ip nat translations 
Pro  Inside global     Inside local       Outside local      Outside global
---  1.1.1.1           192.168.10.2       ---                ---
tcp 1.1.1.1:80         192.168.10.2:80    1.1.1.2:1026       1.1.1.2:1026

R1#

Statikus NAT 2

Célunk újra az, hogy a külső hálózatról elérjük a belső hálózaton lévő webszervert, de most a forgalomirányító külső címétől eltérő címen érhető majd el a szerver.

A topológia:

        Külső hálózat                  privát hálózat
                                             Virtuális: 1.1.1.3
                                                    IP: 192.168.10.2/24
1.1.1.2/8          1.1.1.1/8   192.168.10.1     Átjáró: 192.168.10.1
PC0-------------------------<R1>------------------Server0
                         g0/0   g0/1

A következőket kell beállítani:

R1(config)# interface GigabitEthernet0/0
R1(config-if)# ip address 1.1.1.1 255.0.0.0
R1(config-if)# ip nat outside

R1(config)# interface GigabitEthernet0/1
R1(config-if)# ip address 192.168.10.1 255.255.255.0
R1(config-if)# ip nat inside

R1(config)# ip nat inside source static 192.168.10.2 1.1.1.3

Statikus NAT 3

A következő példában nem lesz újdonság. Csupán PC és Szerver helyett forgalomirányítót állítunk be.

Topológia:

Három routert használunk, amelyeket Host-R, NAT-R és Telent-R-nek nevezünk. A belső hálózatunkon (LAN) van a Host-R gép, az Interneten a Telnet-R nevű telnet kiszolgáló.

Ez egy jó trükk az forgalomirányítók használatának bemutatásához. A forgalomirányítókon letiltható a forgalomirányítás, így a viselkedése olyan lesz mint egy végponti eszközé, amelynek alapértelmezett átjáróra van szüksége.

Állítsuk be a fenti ábra alapján az IP címeket, neveket. A Telnet-R forgalomirányítóra beállíthatunk telnet hozzáférést is.

Most kapcsoljuk ki a forgalomirányítást:

Host-R(config)# no ip routing
Telnet-R(config)# no ip routing

A no ip routing parancs kikapcsolja a forgalomirányítási képességet. Nézzük meg most a forgalomirányító-táblát.

Host-R(config)# show ip route

Ehhez hasonlót kell látnunk:

Host-R#show ip route
Default gateway is 192.168.12.2

Host               Gateway           Last Use    Total Uses  Interface
ICMP redirect cache is empty

Host-R#

Nézzük meg a telnetes forgalomirányítón is:

Telnet-R#show ip route

Ehhez hasonló választ látunk:

Telnet-R#show ip route
Default gateway is 192.168.23.2

Host               Gateway           Last Use    Total Uses  Interface
ICMP redirect cache is empty

Telnet-R#

Most állítsuk be az alapértelmezett átjárót, mindkét végponton.

Host-R# ip default-gateway 192.168.10.1
Telnet-R# ip default-gateway 192.168.20.1

Mindkét forgalomirányító tudja használni a NAT forgalomirányítót. Teszteljük:

Host-R#ping 192.168.20.3

Hogy lássuk pontosan mi történik, kapcsoljuk be a debug-ot, a telnetes ponton:

Telent-R# debug ip packet

Így láthatjuk a Telnet-R milyen csomagokat fogad.

Végezzük el újra ping tesztet, majd nézzük meg Telnet-R forgalomirányító konzolját.

IP: tableid=0, s=192.168.10.2 (FastEthernet0/0), d=192.168.20.3 (FastEthernet0/0), routed via RIB

IP: s=192.168.10.2 (FastEthernet0/0), d=192.168.20.3 (FastEthernet0/0), len 128, rcvd 3

A debug ip packet parancs hatására láthatóvá válik milyen csomagok érkeztek a Telnet-R forgalomirányítóra. A s= mutatja, hogy honnan jöttek a csomagok:

s=192.168.10.2

Az d= mutatja, hogy mi volt a céljuk:

d=192.168.20.3

Most állítsuk be a NAT-ot a NAT forgalomirányítón:

NAT-R(config)#int f0/0
NAT-R(config-if)#ip nat inside
NAT-R(config)#int f0/1
NAT-R(config-if)#ip nat outside

Állítsuk be a NAT-ot:

NAT-R(config)# ip nat inside source static 192.168.10.2 192.168.20.1

Az „Telnet-R” forgalomirányítón ki is kapcsolhatjuk az alapértelmezett átjárót:

Telnet-R(config)# no ip default-gateway

Nézzük meg a milyen címfordítások vannak:

NAT#sh ip nat translations 
Pro  Inside global     Inside local       Outside local      Outside global
---  192.168.20.1      192.168.10.2       ---                ---
tcp 192.168.20.1:1025  192.168.10.2:1025  192.168.20.3:23    192.168.20.3:23

NAT#

Statikus NAT 4

A negyedik statikus NAT beállítás megegyezik az előzőekkel, kivéve, hogy két forgalomirányítón kell a csomagoknak áthaladniuk. A cél a privát hálózatban elérni a szerver weboldalát.

Beállítások:

R1(config)# int g0/0
R1(config-if)# ip address 192.168.10.1 255.255.255.0
R1(config-if)# ip nat inside
R1(config-if)# int s0/0/0
R1(config-if)# ip address 195.100.200.2 255.255.255.0
R1(config-if)# ip nat outside
R1(config-if)# exit
R1(config)# ip nat inside source static 192.168.10.2 195.100.200.2
 
R1(config)# router rip
R1(config-router)# ver 2
R1(config-router)# net 195.100.200.0
R1(config-router)# R1(config-router)# passive-interface g0/0
R2(config)# int g0/0
R2(config-if)# ip address 1.1.1.1 255.0.0.0
R2(config-if)# int s0/0/0
R2(config-if)# ip address 195.100.200.1 255.255.255.0

R2(config)# router rip
R2(config-router)#  ver 2
R2(config-router)#  net 1.0.0.0
R2(config-router)#  net 195.100.200.0

Az R1 router külső interfészét összekötjük a szerver IP címével:

Felhasznált:

Dinamikus NAT

A dinamikus NAT automatikus leképezést hoz létre egy vagy több belső és egy külső IP címek között. A dinamikus NAT-hoz több IP címre van szükség, ha a belső hálózatról több gép akar kifele látni.

Topológia:

A példában 4 IP címet rendelünk a dinamikus NAT számára.

Beállítás:

R1(config)# int g0/0
R1(config-if)# ip add 192.168.10.1 255.255.255.0
 
R1(config)# int g0/1
R1(config-if)# ip add 209.100.100.1 255.255.255.0
 
R1(config)# ip nat pool NATMEDENCE1 209.100.100.2 209.100.100.5 netmask 255.255.255.0
R1(config)# access-list 1 permit 192.168.10.0 0.0.0.255
R1(config)# ip nat inside source list 1 pool NATMEDENCE1
 
R1(config)# int g0/0
R1(config-if)# ip nat inside
 
R1(config)#int g0/1
R1(config-if)# ip nat outside

Ellenőrzés:

R1# show ip nat translations

Kiterjesztett NAT

Kiterjesztett NAT 1

Kiterjesztett NAT vagy, ahogy a Cisconál hívják: PAT. Mivel portot is fordítunk.

Egy routeren áthaladó privát címeket szeretnénk nyilvános IP címekké fordítani. A privát címek nem juthatnak ki az Internetre, mivel azt az Internet más helyein is használják. Ilyenkor címfordítást használunk routeren, vagy szerveren.

                                          Internet
            192.168.10.0/24          195.100.100.0/24
                             .1     .1
   .11                      g0/0    g0/1             .2
  PC0-------------==------------<R1>---------------Server0
                                NAT

Beállítjuk a routereken az IP címeket:

R1(config)# int g0/0
R1(config-if)# ip address 192.168.10.1 255.255.255.0
R1(config-if)# no shutdown
R1(config-if)#
R1(config-if)# int g0/1
R1(config-if)#ip address 195.100.100.1 255.255.255.0
R1(config-if)#no shutdown

A teszteléshez mindenhol beállíthatjuk az átjárót. Ekkor minden mindent elér.

A továbbiakhoz gondoskodjunk a Server0 átjárójának törléséről, mivel a R1 router neki nem átjáró, mert abba az irányba egy véghálózat van. A PC0 ezek után már nem éri a szervert, amíg a NAT nincs beállítva.

A NAT beállítása:

R1(config)# int g0/0
R1(config-if)# ip nat inside
R1(config-if)# exit
R1(config)#
R1(config)# int g0/1
R1(config-if)# ip nat outside
R1(config-if)# exit
R1(config)# access-list 1 permit 192.168.10.0 0.0.0.255
R1(config)# ip nat inside source list 1 int g0/1 overload

Az access-list sor létrehoz egy ACL-listát, amelynek az azonosítója 1. Ezt felhasználjuk az ip nat kezdetű sorban.

Kiterjesztett NAT 2

A különbség a NAT 1-gyel szemben, hogy itt két router van.

                                          Internet
            192.168.10.0/24          195.100.100.0/24
                             .1     .1          .2
   .11                      g0/0    g0/1        g0/0
  PC0-------------==------------<R1>---------------<R2>
                                NAT                 | g0/1
                                                    |  .1
                                                    |
                                                    | 197.100.100.0/24
                                                    |
                                                    |.5
                                                 Server1

A szerveren itt nyilván kell árjáró, mert ő is saját router mögött van.

NAT beállítása Cisco IOS-en

Beállítjuk a routereken az IP címeket:

R1(config)# int g0/0
R1(config-if)# ip address 192.168.10.1 255.255.255.0
R1(config-if)# no shutdown
R1(config-if)#
R1(config-if)# int g0/1
R1(config-if)#ip address 195.100.100.1 255.0.0.0
R1(config-if)#no shutdown
R2(config)# int g0/0
R2(config-if)# ip address 195.100.100.2 255.255.255.0
R2(config-if)# no shutdown
R2(config-if)#
R2(config-if)# int g0/1
R2(config-if)#ip address 197.100.100.5 255.255.255.0
R2(config-if)#no shutdown

Megmondjuk az R1 router számára hol található a 197.100.100.0/24-es hálózat:

ip route 197.100.100.0 255.255.255.0 g0/1

A NAT beállítása:

R1(config)# int g0/0
R1(config-if)# ip nat inside
R1(config-if)# exit
R1(config)#
R1(config)# int g0/1
R1(config-if)# ip nat outside
R1(config-if)# exit
R1(config)# access-list 100 permit ip any any
R1(config)# ip nat inside source list 100 int g0/1 overload

Az access-list sor létrehoz egy ACL-listát, amelynek az azonosítója 100. Ezt felhasználjuk az ip nat kezdetű sorban.

Ellenőrzés, monitorozás

Nézzük meg milyen címfordítások voltak:

R1(config)#do show ip nat translation
Pro  Inside global     Inside local       Outside local      Outside global
tcp 1.1.1.2:1025       192.168.8.2:1025   1.1.1.1:80         1.1.1.1:80

R1(config)#

Vagy röviden:

R1#sh ip nat tran

Debug:

R1#debug ip nat