< Cisco

NAT

Szerző: Sallai András

Copyright © Sallai András, 2017, 2018, 2019

Licenc: CC Attribution-Share Alike 4.0 International

Web: https://szit.hu

A NAT

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

Háromféle NAT:

statikus NAT

dinamikus NAT

kiterjesztett NAT (PAT)

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:

195.100.200.2

192.168.10.2

Felhasznált:

http://www.omnisecu.com/cisco-certified-network-associate-ccna/how-to-configure-static-nat-in-cisco-router.php

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