Documente Academic
Documente Profesional
Documente Cultură
9
NAT i tunelare
29 noiembrie 2011
Cursul 9
Translatarea adreselor
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
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
filter
mangle
12
eth0
Internet
192.168.1.2/24
192.168.1.100/24
13
eth1
eth0
Internet
192.168.1.2/24
192.168.1.100/24
14
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
eth1
eth0
Internet
192.168.1.2/24
192.168.1.100/24
17
Dezavantaje NAT
18
Cursul 9
Tunelare
Conceptul de tunelare
GRE
SSH
6to4
Conceptul de tunelare
Exemple de tuneluri
Generice
GRE
Tunel SSH
Tuneluri
Securitate
IPsec
6to4
Tranziie IPv6
Teredo
Tunel GRE
Delivery protocol: IPv4, IPv6
22
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
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
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
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
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
Reea IPv6
R1
1.
A
1.
2.
3.
2.
R2
3.
B
Tunel SSH
Tunel SSH
Delivery protocol: SSH
29
Tunel SSH
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
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
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
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
34
Tunel 6to4
Migrarea de la IPv4 la IPv6 are loc treptat
Insule IPv6
Backbone IPv4
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
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
42
Tunel Teredo
Tunel Teredo
Delivery protocol: UDP
43
Cuvinte cheie
Payload
protocol
Tunel SSH
Tunelare
Tunel 6to4
Tunel GRE
Delivery
protocol
SNAT
DNAT
NAT iptables
MASQUERADE
Static
Dinamic
NAT
PAT
44