[[oktatas:hálózat:cisco|< Cisco]]
====== NAT ======
* **Szerző:** Sallai András
* Copyright (c) Sallai András, 2017, 2018, 2019
* Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|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:
{{:oktatas:hálózat:cisco:statikus_nat_06.png|}}
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-------------------------------------------Server0
g0/0 g0/1
{{:oktatas:hálózat:cisco:statikus_nat_07.png|}}
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:
{{:oktatas:hálózat:cisco:statikus_nat_08.png|}}
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.
{{:oktatas:hálózat:cisco:statikus_nat_09.png|}}
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:
{{:oktatas:hálózat:cisco:dinamikus_nat_10.png|}}
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-------------==---------------------------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-------------==---------------------------
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