Sunteți pe pagina 1din 44

Cursul 9

9
NAT i tunelare
29 noiembrie 2011

Cursul 9

Translatarea adreselor

Problema epuizrii adreselor IPv4


NAT
PAT
Configurare NAT cu iptables
Dezavantajele translatrii

Problema epuizrii adreselor IPv4


Problem major IPv4
Au fost introduse mecanisme pentru conservarea spaiului
S-au alocat trei spaii pentru adrese private:
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16

Aceste adrese nu pot fi folosite n Internet


Pentru ca o staie cu adres privat s poat accesa Internetul
adresa acesteia trebuie translatat

Procesul de translatare
Atunci cnd un pachet trece printr-un ruter adresele IP surs i
destinaie rmn neschimbate
Procesul de translatare presupune schimbarea adresei IP surs
sau destinaie a unui pachet la trecea printr-un ruter
Procesul poart numele de NAT (Network Address Translation)
Pentru conectivitate translatarea trebuie s aib loc n ambele
direcii
A

R1

192.168.0.1

166.14.133.3

141.85.37.16

141.85.37.16
4

Tabela NAT
Ruterul ine evidena translatrilor ce trebuie fcute n tabela de
NAT
Tabela NAT:
Poate fi construit static (de ctre administrator) sau dinamic (prin
inspectarea traficului ce trece prin ruter)
Pstreaz o list de asocieri adres intern adres extern
Tabela NAT:
192.168.0.1 166.14.133.3
A

R1

192.168.0.1

166.14.133.3

141.85.37.16

141.85.37.16
5

Procesul de translatare
Translatri

NAT

Static

PAT

Dinamic

NAT Static
Problem: Serverul A are o adres privat ns vrem s fie
accesibil n exterior printr-o adres public unic i constant
Soluie: NAT Static
Adresa intern a serverului este mereu translatat la o adres public
rezervat
192.168.0.1 166.14.133.3
B

R1

Server A
IP: 192.168.0.1

Client B
IP: 150.133.16.1

150.133.16.1

150.133.16.1

192.168.0.1

166.14.133.3

192.168.0.1

166.14.133.3

150.133.16.1

150.133.16.1

NAT Dinamic
Problem: Avem n reeaua privat 40 de staii dar doar 20 de
adrese publice
Soluie: NAT Dinamic
Staiile care vor s comunice n Internet primesc temporar una din
adresele publice disponibile (din NAT Pool), dac mai exist adrese
nefolosite
NAT Pool: 141.85.37.240/28
192.168.0.1 141.85.37.241

192.168.0.1/24 A
192.168.0.2/24 B
192.168.0.3/24 C

SW1

R1

192.168.0.1

141.85.37.241

150.133.16.1

150.133.16.1

Ar putea fi o soluie NAT dinamic pentru problema anterioar a serverului?


8

PAT
Problem: Avem n reeaua privat 40 de staii dar o singur
adres public
Soluie: PAT (Port Address Translation)
Mai poart i numele de masquerade sau NAT Overload
La translatare se asociaz fiecrei comunicaii i un port (un identificator
de nivel transport ce indic programul surs/destinaie) pe ruter
Cnd rspunsul destinatarului ajunge la ruter, acesta citete portul din
pachet i consult tabela NAT pentru a vedea n ce s translateze
Tabela NAT
192.168.0.1:80 166.14.133.3:62101
192.168.0.1:1614 166.14.133.3:62102
192.168.0.2:80 166.14.133.3:63105
192.168.0.3:1811 166.14.133.3:48231
9

PAT
192.168.0.1:53210 166.14.133.3:62101

192.168.0.2:58712 166.14.133.3:56123

192.168.0.1/24 A
192.168.0.2/24 B
192.168.0.3/24 C

SW1

R1

166.14.133.3

S 192.168.0.1:53210

S 166.14.133.3:62101

150.133.16.1:80

150.133.16.1:80

S 192.168.0.2:58712

S 166.14.133.3:56123

150.133.16.1:80

150.133.16.1:80

150.133.16.1:80

150.133.16.1:80

D 192.168.0.2:58712

D 166.14.133.3:56123

10

NAT n Linux
Se implementeaz folosind utilitarul iptables
Se folosete tabela nat
Lanurile modificate de comenzile de nat sunt:
PREROUTING pentru rescrierea destinaiei
POSTROUTING pentru rescrierea sursei

11

Recapitulare: iptables

Prerouting
N

Forward
M

Input
M
F
nat

Postrouting
N

Output
N M
F

Proces din ruter

filter
mangle

12

NAT static cu iptables


Regulile sunt adugate n tabela nat lanul POSTROUTING
Este folosit target-ul SNAT:
Specific n ce s fie rescrise IP-ul i portul surs
Procesarea lanului se ncheie

Pentru NAT static trebuie specificat sursa (-s)


linux# iptables t nat A POSTROUTING s 192.168.1.100 j SNAT --to-source 141.85.200.1

Atenie: SNAT vine de la Source NAT (nu de la static NAT)


eth1

eth0

Internet

192.168.1.2/24
192.168.1.100/24
13

NAT static cu iptables


Dac este iniiat din exterior conexiunea, aceasta nu va ajunge la
server
Trebuie creat i regula invers, care rescrie adresa destinaie la
trecerea prin ruter
Rescrierea destinaiei se face cu target-ul DNAT (Destination NAT)
Se folosete lanul de PREROUTING n acest caz
De ce?
linux# iptables t nat A PREROUTING d 141.85.200.1 j DNAT --to-destination 192.168.1.100

eth1

eth0

Internet

192.168.1.2/24
192.168.1.100/24
14

NAT dinamic/PAT cu iptables


Regulile sunt adugate n tabela nat lanul POSTROUTING
Tot target-ul SNAT este folosit:
Pentru NAT dinamic se poate specifica un range de adrese IP
Ruterul nu mapeaz adrese unu la unu (se folosete de fapt o combinaie
de NAT dinamic cu PAT)
linux# iptables t nat A POSTROUTING s 192.168.1.0/24 j SNAT
--to-source 141.85.200.2-141.85.200.6

Vor putea fi iniiate conexiuni din exterior?


R: Nu.
eth1

eth0

Internet

192.168.1.2/24
192.168.1.100/24
15

NAT cu iptables
Este vreo problem cu setul de reguli de mai jos?
R: Da. Niciodat nu se va face match pe a doua regul de NAT deoarece
sursa 192.168.1.100 va face match pe prima regula
linux# iptables t nat F
linux# iptables t nat A POSTROUTING s 192.168.1.0/24 j SNAT
--to-source 141.85.200.2-141.85.200.6
linux# iptables t nat A POSTROUTING s 192.168.1.100 j SNAT --to-source 141.85.200.1
linux# iptables t nat A PREROUTING d 141.85.200.1 j DNAT --to-destination 192.168.1.100

eth1

eth0

Internet

192.168.1.2/24
192.168.1.100/24
16

NAT dinamic/PAT cu iptables


Target-ul MASQUERADE specific faptul c se va folosi IP-ul
interfeei de ieire n translatare
Util cnd interfaa ctre Internet ia prin DHCP adresa
MASQUERADE face flush la mapri cnd interfaa e repornit
linux# iptables t nat A POSTROUTING o eth0 j MASQUERADE

Se poate folosi pentru PAT doar un subset de porturi cu --to-ports


Trebuie specificat tipul de trafic (UDP sau TCP):
linux# iptables t nat A POSTROUTING o eth0 p tcp j MASQUERADE --to-ports 50000-55000

eth1

eth0

Internet

192.168.1.2/24
192.168.1.100/24
17

Dezavantaje NAT

n cazul PAT comunicaia nu poate fi iniiat de o


staie din Internet
Folosete informaii de nivel superior pentru a
controla un nivel inferior
ntrzie adoptarea IPv6

ngreuneaz configurarea tunelurilor

Are dificulti n gestionarea traficului UDP

18

Cursul 9

Tunelare

Conceptul de tunelare
GRE
SSH
6to4

Conceptul de tunelare

Procesul de tunelare const n ncapsularea datelor unui protocol


(payload protocol) ntr-un alt protocol (delivery protocol)
Observaie: Dei IP ncapsuleaz datele TCP i Ethernet
ncapsuleaz datele IP, acestea nu sunt considerate exemple de
tunelare

Exemple de tuneluri
Generice

GRE

Tunel SSH
Tuneluri

Securitate
IPsec

6to4
Tranziie IPv6

Teredo

Tunel GRE (Generic Routing Encapsulation)

Tunel GRE
Delivery protocol: IPv4, IPv6

Payload protocol: Protocoale de nivel 3


Nivel OSI: 3
Funcie: Folosit pentru transport de pachete IP
fr a fi procesate de ruterele
intermediare

22

Tunel GRE (Generic Routing Encapsulation)


R1 trimite un pachet ctre R5
ntre R2 i R4 este configurat un tunel GRE (nu este o legtur
fizic)
Capetele tunelului sunt reprezentate de IP-urile 10.0.23.2 i 10.0.34.4 de
pe interfeele fizice

10.0.12.2

R2

Tunel GRE
10.0.23.2
10.0.34.4

10.0.23.3

R4

10.0.45.4

10.0.34.3
R3

10.0.12.1
R1

10.0.45.4
R5
23

Tunel GRE (Generic Routing Encapsulation)


10.0.12.2

R2

Tunel GRE
10.0.23.2
10.0.34.4

10.0.23.3

R4

10.0.45.4

10.0.34.3
R3

10.0.12.1

10.0.45.4

R1

R5

Nivelul 3

10.0.45.4

10.0.12.1

X=5

Destinaie

Surs

TTL

Nivelul 2

24

Tunel GRE (Generic Routing Encapsulation)


10.0.12.2

R2

Tunel GRE
10.0.23.2
10.0.34.4

10.0.23.3

R4

10.0.45.4

10.0.34.3
R3

10.0.12.1

10.0.45.4

R1

R5

Nivelul 3

10.0.45.4

10.0.12.1

X1=4

10.0.34.4

10.0.23.2

Y=5

Destinaie

Surs

TTL

GRE

Nivelul 3
Nivelul 2

25

Tunel GRE (Generic Routing Encapsulation)


10.0.12.2

R2

Tunel GRE
10.0.23.2
10.0.34.4

10.0.23.3

R4

10.0.45.4

10.0.34.3
R3

10.0.12.1

10.0.45.4

R1

R5

Nivelul 3

10.0.45.4

10.0.12.1

X1=4

10.0.34.4

10.0.23.2

Y-1=4

Destinaie

Surs

TTL

GRE

Nivelul 3
Nivelul 2

26

Tunel GRE (Generic Routing Encapsulation)


10.0.12.2

R2

Tunel GRE
10.0.23.2
10.0.34.4

10.0.23.3

R4

10.0.45.4

10.0.34.3
R3

10.0.12.1

10.0.45.4

R1

R5

Nivelul 3

10.0.45.4

10.0.12.1

X1=4

Destinaie

Surs

TTL

Nivelul 2

27

Aplicaie GRE: IPv6 peste IPv4


Reea IPv4
Reea IPv6

Reea IPv6
R1

1.
A

1.
2.
3.

2.

R2

3.
B

Payload protocol: IPv6


Delivery protocol: IPv4

Payload protocol: IPv6


Payload protocol: IPv6

Tunel SSH

Tunel SSH
Delivery protocol: SSH

Payload protocol: Protocoale de nivel 4


Nivel OSI: 7
Funcie: Folosit pentru transportul securizat al
traficului (integritate, autentificare,
confienialitate)

29

Tunel SSH

Utilizatorul Gogu are un cont pe ruterul R1


R1 este de fapt o main Linux ce are SSH instalat
Serverul este vechi i nu permite instalarea de SSH
Gogu vrea ca traficul su s fie criptat peste Internet, dar totui s
poat controla prin Telnet serverul

Internet

R1
Server
141.85.200.1

141.85.200.19

gogu-linux
200.200.0.1

30

Tunel SSH
Soluia este crearea unui tunel SSH
gogu-linux# ssh N L 0.0.0.0:5000:141.85.200.1:23 gogu@141.85.200.19

Utilizatorul i adresa pentru conectare


Local - Tunelul va avea punctul de intrare pe maina local

Nu se deschide un shell pe maina intermediar


Internet

R1
Server
141.85.200.1

141.85.200.19

gogu-linux
200.200.0.1

31

Tunel SSH
gogu-linux# ssh N L 0.0.0.0:5000:141.85.200.1:23 gogu@141.85.200.19

Adresa i portul destinaiei


Portul pe care se ascult staia local
Bind address adresele locale pe care se va asculta
Internet

R1
Server
141.85.200.1

141.85.200.19

gogu-linux
200.200.0.1

32

Tunel SSH
n urma comenzii pe gogu-linux se deschide portul 5000
gogu-linux# ssh N L 0.0.0.0:5000:141.85.200.1:23 gogu@141.85.200.19

Tot traficul primit pe portul 5000 este redirectat ctre serverul de


SSH de pe R1
R1 redirecteaz traficul ctre destinaie (Server)
Este traficul ntre R1 i Server criptat?
R: Nu. Tunelul SSH sigur este stabilit doar ntre gogu-linux i R1.
Internet

R1
Server
141.85.200.1

141.85.200.19

gogu-linux
200.200.0.1
gogu-linux# telnet 127.0.0.1 5000
server> _
33

Tunel 6to4

Tunel 6to4
Delivery protocol: IP

Payload protocol: IPv6


Nivel OSI: 3
Funcie: Folosit pentru migrarea ctre IPv6

34

Tunel 6to4
Migrarea de la IPv4 la IPv6 are loc treptat
Insule IPv6
Backbone IPv4

Pentru comunicare este necesar tunelarea traficului IPv6


Dou soluii:
Tunele statice
Dezavantaje: greu de administrat, trebuie configurate, pot fi introduse erori

Tunele automate
Uor de administrat
Se construiesc automat cnd sunt necesare

35

Tunel 6to4
Adresele IPv6 trebuie s fie din reeaua 2002::/16
Urmtorii 32 de bii sunt luai din adresa IPv4 de la ieirea insulei
IPv6
141 . 85 . 200 . 19
IPv4

2002 : 8D 55 : C8 13 ::/48
141.85.200.19
R1
2002:???
2002:???
R2

IPv6

36

Tunel 6to4
R1: 2002:8D55:C813::/48
R2: 2002:8D55:C813::/48

Ultimii 16 bii din partea de reea subnetting


R1: 2002:8D55:C813::1/64
IPv4

R2: 2002:8D55:C813::2/64

141.85.200.19
R1
2002:???
2002:???
R2

IPv6

37

Tunel 6to4
R2 vrea s comunice cu R5

IPv4
R3

R4
R5

R1
R2

IPv6

IPv6
IPv6(R5)

IPv6(R2)

Destinaie

Surs
38

Tunel 6to4
R1 primete pachetul i l ncapsuleaz ntr-un pachet IPv4
Adresele IPv4 sunt obinute din biii 17-48 din adresele IPv6
IPv4
R3

R4
R5

R1
R2

IPv6

IPv6
IPv4(R4)

IPv4(R1)

Destinaie

Surs
39

Tunel 6to4
R3 nu cunoate nimic despre reelele IPv6
ntruct destinaia e IPv4 se efectueaz un proces normal de
rutare
IPv4
R3

R4
R5

R1
R2

IPv6

IPv6
IPv4(R4)

IPv4(R1)

Destinaie

Surs
40

Tunel 6to4
R4 este capt de tunel i decapsuleaz antetul IPv6
R4 tie c pachetul este destinat IPv6 din cmpul de protocol din
antetul IPv4 (41)
IPv4
R3

R4
R5

R1
R2

IPv6

IPv6
IPv6(R5)

IPv6(R2)

Destinaie

Surs
41

Tunel L2TP

Tunel L2TP
Delivery protocol: UDP

Payload protocol: PPP, ATM, Frame Relay


Nivel OSI: 2
Funcie: Folosit pentru transportul peste
infrastructuri IP al conexiunilor PPP

42

Tunel Teredo

Tunel Teredo
Delivery protocol: UDP

Payload protocol: IPv6


Nivel OSI: 3
Funcie: Folosit pentru transportul peste
infrastructuri IP al traficului IPv6

43

Cuvinte cheie
Payload
protocol

Tunel SSH

Tunelare
Tunel 6to4

Tunel GRE
Delivery
protocol

SNAT
DNAT
NAT iptables
MASQUERADE

Static
Dinamic

NAT

PAT

44

S-ar putea să vă placă și