Vous êtes sur la page 1sur 33

Dr Ali LARBI

Saturation de l’espace d’adressage : cause


L’augmentation exponentielle du nombre d’ordinateurs connectés à
Internet a rapidement saturé l’espace d’adressage IP
Phénomène dû aussi bien aux entreprises qu’aux particuliers
Côté entreprises :
hébergent souvent des serveurs devant être joints en permanence
leurs stations de travail ont aussi souvent besoin d’accéder à tout
moment à des services externes
Côté particuliers :
nombreux à avoir choisi un abonnement ADSL ou câble payé au forfait et
qui restent connectés en permanence (que l’attribution d’adresse soit fixe
ou dynamique)
le prix des ordinateurs est tel qu’une famille possède souvent plusieurs
ordinateurs qui doivent tous accéder à Internet
du point de vue FAI, une famille a les mêmes besoins qu’une petite
entreprise
Si le CIDR a permis de régler en partie le problème, l’espace d’adres-
sage IPv4 demeure insuffisant !
1
Saturation de l’espace d’adressage : effets
La pénurie d’adresses IPv4 s’est traduite par la situation suivante :
Il n’est plus possible d’attribuer une adresse IP à chaque station
connectée à Internet.

Dit autrement :
Une organisation (entreprise/particulier) qui possède un certain
nombre m de stations ayant besoin d’un accès Internet n’obtient
généralement qu’un petit nombre n d’adresses IP dites publiques
où

n est bien plus petit que m (et peut même valoir 1 !)

Mais :
En attendant le déploiement d’IPv6, la technique de traduction
d’adresse NAT —et en particulier sa variante PAT— a été dévelop-
pée pour permettre à ces m stations d’avoir accès à Internet.
2
Principe de la traduction d’adresse
Permettre à n adresses publiques d’être partagées par un grand
nombre m de stations (périphériques réseau).
Pour cela :
il faut placer une NATBox qui doit être le seul point de passage
entre le Site NAT (réseau de l’organisation) et le WAN (Internet)
la NATBox est la seule qui possède et gère les n adresses publiques

NATBox

Site NAT WAN


(Internet)

n adresses publiques

En schématisant, quand une station du Site NAT veut dialoguer avec


l’extérieur, elle passe par la NATBox qui utilisera (temporairement)
l’une des n adresses publiques
3
Quelques précisions
une NATBox est un routeur avec les fonctionnalités NAT (la plupart
des routeurs, et les *box des FAI)
les stations du Site NAT n’ont pas connaissance des adresses publiques
de la NATBox et ne les utilisent pas
mais ont des adresses privées qu’il est fortement conseillé de prendre
dans les plages définies par la RFC 1918 :
10.0.0.0/8 soit 16 777 216 adresses (de 10.0.0.0 à 10.255.255.255)
172.16.0.0/12 soit 1 048 576 adresses (de 172.16.0.0 à 172.31.255.255)
192.168.0.0/16 soit 65 536 adresses (de 192.168.0.0 à 192.168.255.255)

Site NAT
NATBox
réseau privé WAN
10.0.0.0/8
(Internet)
partie "invisible" pour Internet
n adresses publiques

Pour les stations du WAN, seules les n adresses de la NATBox


existent et le Site NAT avec ses adresses privées est invisible.
4
Précisions (suite)

à l’interieur du Site NAT, les stations communiquent entre elles en


utilisant leurs adresses privées
sans le NAT, un message envoyé à l’extérieur ne pourrait avoir de
réponse car les adresses privées ne sont pas routables dans le WAN
la NATBox doit traduire (remplacer) dans un tel message, l’adresse
privée par une adresse publique, et inversement pour la réponse

Sur un routeur CISCO, on définit les adresses publiques à utiliser pour la


traduction (dynamique) dans un pool.
Exemple :

ip nat pool adrpub 82.3.4.6 82.3.4.10 netmask 255.255.255.0

définit un pool de 5 adresses publiques nommé adrpub

5
NAT et la discussion interne

La station A (10.0.0.2) veut discuter avec la station B (10.0.0.3) :


le dialogue étant interne, la NATBox n’est pas concernée par
ce trafic
les datagrammes contiennent les adresses de A et de B
C
A
10.0.0.2 139.124.187.4

IPréseau
Sourceprivé10.0.0.2 82.3.4.5

IP 10.0.0.0/8
Dest. 10.0.0.3 Internet
10.0.0.1
10.0.0.3 NATBox
(pool 82.3.4.6 à 82.3.4.10)
B

6
NAT et la discussion avec l’extérieur
A (10.0.0.2) veut discuter avec la station externe C (139.124.187.4) :
1 A envoie le datagramme qui parvient au routeur (NATBox)
2 la NATBox remplace l’adresse source (privée) par une adresse
publique disponible (82.3.4.6), enregistre une association (82.3.4.6,
10.0.0.2) dans sa table de traductions, et transmet le datagramme
vers C
3 C répond à l’adresse source du datagramme (82.3.4.6)
4 la NATBbox reçoit le datagramme, consulte sa table de traductions,
trouve l’association (82.3.4.6, 10.0.0.2), remplace l’adresse
destination par 10.0.0.2 et retransmet le datagramme à A
C
A
10.0.0.2 139.124.187.4

82.3.4.5
IP Source réseau privé
10.0.0.2
10.0.0.0/8
IP Dest. 139.124.187.4 10.0.0.1
Internet
10.0.0.3 NATBox
(pool 82.3.4.6 à 82.3.4.10)
B
7
NAT et la discussion avec l’extérieur
A (10.0.0.2) veut discuter avec la station externe C (139.124.187.4) :
1 A envoie le datagramme qui parvient au routeur (NATBox)
2 la NATBox remplace l’adresse source (privée) par une adresse
publique disponible (82.3.4.6), enregistre une association (82.3.4.6,
10.0.0.2) dans sa table de traductions, et transmet le datagramme
vers C
3 C répond à l’adresse source du datagramme (82.3.4.6)
4 la NATBbox reçoit le datagramme, consulte sa table de traductions,
trouve l’association (82.3.4.6, 10.0.0.2), remplace l’adresse
destination par 10.0.0.2 et retransmet le datagramme à A
C
A
10.0.0.2 139.124.187.4

réseau privé 82.3.4.5


10.0.0.0/8 IP Source 82.3.4.6
10.0.0.1
Internet
10.0.0.3 NATBox IP Dest. 139.124.187.4
(pool 82.3.4.6 à 82.3.4.10)
B
8
NAT et la discussion avec l’extérieur
A (10.0.0.2) veut discuter avec la station externe C (139.124.187.4) :
1 A envoie le datagramme qui parvient au routeur (NATBox)
2 la NATBox remplace l’adresse source (privée) par une adresse
publique disponible (82.3.4.6), enregistre une association (82.3.4.6,
10.0.0.2) dans sa table de traductions, et transmet le datagramme
vers C
3 C répond à l’adresse source du datagramme (82.3.4.6)
4 la NATBbox reçoit le datagramme, consulte sa table de traductions,
trouve l’association (82.3.4.6, 10.0.0.2), remplace l’adresse
destination par 10.0.0.2 et retransmet le datagramme à A
C
A IP Source 139.124.187.4
10.0.0.2 IP Dest. 82.3.4.6 139.124.187.4

réseau privé 82.3.4.5


10.0.0.0/8
10.0.0.1
Internet
10.0.0.3 NATBox
(pool 82.3.4.6 à 82.3.4.10)
B
9
NAT et la discussion avec l’extérieur
A (10.0.0.2) veut discuter avec la station externe C (139.124.187.4) :
1 A envoie le datagramme qui parvient au routeur (NATBox)
2 la NATBox remplace l’adresse source (privée) par une adresse
publique disponible (82.3.4.6), enregistre une association (82.3.4.6,
10.0.0.2) dans sa table de traductions, et transmet le datagramme
vers C
3 C répond à l’adresse source du datagramme (82.3.4.6)
4 la NATBbox reçoit le datagramme, consulte sa table de traductions,
trouve l’association (82.3.4.6, 10.0.0.2), remplace l’adresse
destination par 10.0.0.2 et retransmet le datagramme à A
C
A IP Source 139.124.187.4
10.0.0.2 IP Dest. 10.0.0.2 139.124.187.4

réseau privé 82.3.4.5


10.0.0.0/8
10.0.0.1
Internet
10.0.0.3 NATBox
(pool 82.3.4.6 à 82.3.4.10)
B
10
Terminologie du NAT
Issue de CISCO, la terminologie fait la distinction entre :
les adresses globales : adresses publiques routables (sur Internet) car
elles ont une signification à portée globale
les adresses locales : n’ont un sens que localement, dans le Site NAT

Selon où l’on se trouve, on utilise l’un de ces types d’adresses :


à l’intérieur (inside) du Site NAT, on utilise des adresses locales
à l’extérieur (outside), on utilise des adresses globales

adresses locales adresses globales

NATBox
Site NAT Internet

Intérieur (inside) Extérieur (outside)


localement, les adresses des messages sont libres à l’extérieur, les adresses doivent être publiques

11
Terminologie du NAT (2)

Les messages passant la frontière inside/outside sont modifiés par


la NATBox qui en traduit les adresses :
pour les messages sortants (inside −→ outside) :
les adresses locales sont traduites en adresses globales
pour les messages entrants (inside ←− outside) :
les adresses globales sont traduites en adresses locales

adresses locales adresses globales

NATBox
Site NAT Internet

adresses locales adresses globales

Intérieur (inside) Extérieur (outside)

12
Terminologie du NAT (3)
On ajoute les qualificatifs d’interne et d’externe :
les adresses internes (inside) sont celles maı̂trisées par l’administrateur
du Site NAT
les adresses externes (outside) font référence à des hôtes situés sur le
WAN et qui possèdent (en principe) des adresses publiques

On distingue donc en réalité les 4 types d’adresses suivantes :


adresses locales internes ou ALI (inside local address) :
les adresses (en principe privées) des hôtes du Site NAT
adresses globales internes ou AGI (inside global address) :
les adresses publiques de la NATBox
adresses locales externes ou ALE (outside local address) :
les adresses des hôtes du WAN vues par les hôtes du LAN
adresses globales externes ou AGE (outside global address) :
les adresses des hôtes du WAN
13
Variantes du NAT

Avec n adresses publiques, plusieurs variantes sont possibles/combinables :


NAT statique : n stations choisies du Site NAT ont accès à l’extérieur
(traductions ALI ←→ AGI fixées par avance)
NAT dynamique : m stations (voire toutes) du Site NAT sont
autorisées à accéder à l’extérieur. Les AGI leur sont associées
dynamiquement et temporairement.
PAT dynamique : plusieurs milliers de stations peuvent partager une
seule AGI (adresse publique). La variante du NAT la plus utilisée.
PAT statique : surtout utilisée pour permettre à des serveurs internes
d’être joints depuis l’extérieur
auxquelles ont peut ajouter le traitement de l’overlapping.

14
La traduction statique (ou 1 pour 1)
Associer de manière fixe et permanente une AGI à une ALI.

Surtout utilisée si le Site NAT dispose m serveurs devant être accessibles


depuis l’extérieur :
réserver m adresses parmi les n adresses publiques
ces m adresses ne pourront plus servir à la traduction dynamique
configurer la NATBox avec m traductions statiques de type :
(adresse globale interne, adresse locale interne)

Exemple (partiel) d’activation sur un routeur CISCO :


# ip nat inside source static 10.1.1.1 82.3.4.10
associe statiquement l’ALI 10.1.1.1 et l’AGI 82.3.4.10. Cette association est
permanente et apparaı̂t dans la table des traductions :
# show ip nat translations
Pro Inside global Inside local Outside local Outside global
--- 82.3.4.10 10.1.1.1 --- ---
15
Traitement des messages pour la traduction statique
Message sortant : adresse source traduite ALI −→ AGI si l’association
statique (AGI, ALI) existe, sinon il est rejeté
Exemples : où seule la traduction statique (82.3.4.10, 10.1.1.1) existe
10.1.1.1 10.1.1.1

AS 82.3.4.10

AS 10.1.1.1
réseau privé AD
82.3.4.5 139.124.187.4 AS 10.0.0.3
réseau privé 82.3.4.5

AD 10.0.0.0/8
139.124.187.4 Internet AD 10.0.0.0/8
139.124.187.4 Internet
10.0.0.1 10.0.0.1
NATBox NATBox
ERREUR
table des traductions table des traductions
10.0.0.3 AGI ALI 10.0.0.3 AGI ALI
82.3.4.10 10.1.1.1 (statique) 82.3.4.10 10.1.1.1 (statique)

Message entrant : adresse destination traduite AGI −→ ALI si


l’association statique (AGI, ALI) existe, sinon il est rejeté (cette AGI est
gérée mais non associée par la NATBox)
10.1.1.1 10.1.1.1
AS 197.202.1.8
AS 197.202.1.8 AD 82.3.4.9
AS 197.202.1.8
réseau privé 82.3.4.5 AD 82.3.4.10 réseau privé 82.3.4.5

AD 10.0.0.0/8
10.1.1.1 Internet 10.0.0.0/8 Internet
10.0.0.1 10.0.0.1
NATBox NATBox ERREUR
table des traductions table des traductions
10.0.0.3 AGI ALI 10.0.0.3 AGI ALI
82.3.4.10 10.1.1.1 (statique) 82.3.4.10 10.1.1.1 (statique)

16
La traduction dynamique NAT (ou m pour n)
(m > n) Associer dynamiquement l’une des n AGI à l’une des m ALI
autorisées lorsque nécessaire.
Seules n stations auront un accès extérieur en même temps :
configurer la NATBox pour autoriser les m hôtes à discuter avec
l’extérieur et définir le pool des n AGI qui seront utilisées
lorsqu’une sation autorisée entame un dialogue avec l’extérieur, lui
associer temporairement une AGI disponible
l’association prend fin après un certain temps d’inactivité
l’AGI est alors remise dans le pool d’adresses disponibles
Aucune association ne peut être créée par un message entrant.
Mais tant que l’association (AGI, ALI) n’a pas expiré, l’hôte est ac-
cessible aux stations externes par l’AGI.
Les traductions dynamiques apparaissent comme les traductions statiques
dans la table des traductions mais leur durée de vie (TTL) est limitée.

17
NAT dynamique : exemples
Message sortant : association créée ou réutilisée pour les ALI
autorisées uniquement (ici, 10.0.0.3)
10.1.1.1 10.2.2.2 10.1.1.1 10.2.2.2
pool 82.3.4.6 à 82.3.4.9
AS 82.3.4.6 pool
ERREUR
82.3.4.6 à 82.3.4.9
10.0.0.3 autorisée 10.0.0.3 autorisée
AS 10.0.0.3
réseau privé AD 139.124.187.4 AS
réseau10.2.2.2
privé
AD 10.0.0.0/8
139.124.187.4 10.0.0.1 82.3.4.5 Internet 10.0.0.0/8
AD 139.124.187.410.0.0.1 82.3.4.5 Internet
NATBox NATBox
table des traductions table des traductions
10.0.0.3 AGI ALI 10.0.0.3 AGI ALI
82.3.4.10 10.1.1.1 (statique) 82.3.4.10 10.1.1.1 (statique)
82.3.4.6 10.0.0.3 (dynamique) 82.3.4.6 10.0.0.3 (dynamique)

Message entrant : accepté et traduit uniquement si association


existante pour l’AGI
10.1.1.1 10.2.2.2 10.1.1.1 10.2.2.2
AS 182.13.28.5
AS 182.13.28.5 AD 82.3.4.7
AS 182.13.28.5
réseau privé AD 82.3.4.6 réseau privé
AD 10.0.0.0/8
10.0.0.3 10.0.0.1 82.3.4.5 Internet 10.0.0.0/8 10.0.0.1 82.3.4.5 Internet
NATBox NATBox ERREUR
table des traductions table des traductions
10.0.0.3 AGI ALI 10.0.0.3 AGI ALI
82.3.4.10 10.1.1.1 (statique) 82.3.4.10 10.1.1.1 (statique)
82.3.4.6 10.0.0.3 (dynamique) 82.3.4.6 10.0.0.3 (dynamique)

18
NAPT (Network Address Port Translation) ou PAT
(à nouveau RFC 2663 et 3022)

19
Caractéristiques du PAT

Alors que NAT limite l’accès simultané à l’extérieur (Internet)


à n stations si l’on dispose de n AGI, le PAT permet cet accès
à plusieurs milliers de stations même si n est réduit à 1
Les *box des FAI utilisent le PAT pour permettre à plusieurs
ordinateurs d’un foyer (ou d’une TPE) d’accéder à Internet,
puisqu’un foyer ne possède qu’une seule adresse IP
Le PAT est normalisé pour fonctionner avec des datagrammes
IP contenant des messages ICMP, UDP ou TCP
Pour d’éventuels autres protocoles, des solutions peuvent être
mises en place mais ce n’est pas normalisé

C’est la variante la plus utilisée du NAT.

20
Fonctionnement du PAT
Le PAT gère et traduit des adresses d’application, là où le NAT
crée et gère des associations (AGI, ALI) avec des adresses IP
Rappel : les adresses d’application sont des triplets (IP, Protocole, Port)
La NATBox (PAT) associe une adresse d’application globale à une
application d’un hôte interne qui entame un dialogue avec l’extérieur
Pour cela, comme les adresses IP, les ports sont aussi traduits. Une
association a alors la forme :
(Protocole, ALI:PLI, AGI:PGI)
où
Protocole : est UDP, TCP ou ICMP
PLI (Port Local Interne) : est le port utilisé par l’application locale
PGI (Port Global Interne) : est le port associé pour l’adresse globale de
l’application
Tout le bénéfice du PAT réside dans la traduction des ports :
pour un Protocole donné, en attribuant un PGI différent aux appli-
cations ayant besoin d’un accès externe, une seule AGI suffit !
21
PAT : Exemple avec AGI unique

La NATBox ne possède qu’une seule AGI 82.3.4.5 qu’elle


partage avec les hôtes du Site NAT :

10.1.1.1 10.2.2.2

(S) 82.3.4.5:15001

TCP
10.0.0.3 autorisée
réseau privé (D) 143.28.12.40:22
(S) 10.0.0.3:15001
TCP

10.0.0.0/8 10.0.0.1 82.3.4.5 Internet


(D) 143.28.12.40:22
NATBox
table des traductions
Proto Inside global Inside local
10.0.0.3 tcp 82.3.4.5:15001 10.0.0.3:15001

un client SSH de 10.0.0.3 se connecte au serveur SSH externe


143.28.12.40

22
PAT : Exemple avec AGI unique

La NATBox ne possède qu’une seule AGI 82.3.4.5 qu’elle


partage avec les hôtes du Site NAT :

10.1.1.1 10.2.2.2

(S) 82.3.4.5:15002

TCP
(S) 10.2.2.2:15001 10.2.2.2 autorisée
TCP

réseau privé (D) 195.3.66.1:25


(D) 195.3.66.1:25
10.0.0.0/8 10.0.0.1 82.3.4.5 Internet
NATBox
table des traductions
Proto Inside global Inside local
10.0.0.3 tcp 82.3.4.5:15001 10.0.0.3:15001
tcp 82.3.4.5:15002 10.2.2.2:15001

un client SMTP de 10.2.2.2 se connecte au serveur SMTP externe


195.3.66.1

23
PAT : Exemple avec AGI unique

La NATBox ne possède qu’une seule AGI 82.3.4.5 qu’elle


partage avec les hôtes du Site NAT :

10.1.1.1 10.2.2.2

(S) 143.28.12.40:22

TCP
réseau privé
(S) 143.28.12.40:22 (D) 82.3.4.5:15001
TCP

10.0.0.0/8 Internet
(D) 10.0.0.3:15001 10.0.0.1 82.3.4.5
NATBox
table des traductions
Proto Inside global Inside local
10.0.0.3 tcp 82.3.4.5:15001 10.0.0.3:15001
tcp 82.3.4.5:15002 10.2.2.2:15001

le serveur SSH répond à la NATBox qui transmet au client de


10.0.0.3

24
PAT : Exemple avec AGI unique

La NATBox ne possède qu’une seule AGI 82.3.4.5 qu’elle


partage avec les hôtes du Site NAT :

10.1.1.1 10.2.2.2

(S) 195.3.66.1:25

TCP
(S) 195.3.66.1:25
TCP

réseau privé (D) 82.3.4.5:15002


(D) 10.2.2.2:15001
10.0.0.0/8 10.0.0.1 82.3.4.5 Internet
NATBox
table des traductions
Proto Inside global Inside local
10.0.0.3 tcp 82.3.4.5:15001 10.0.0.3:15001
tcp 82.3.4.5:15002 10.2.2.2:15001

le serveur SMTP répond à la NATBox qui transmet au client de


10.2.2.2

25
PAT : Filtrage des messages entrants
Un message entrant ne peut créer d’association dans la table des
traductions : seul un message sortant peut le faire
Un message entrant n’est accepté et traduit que s’il fait partie d’un
dialogue en cours
Outre les associations en cours, les dialogues doivent être enregistrés et
notamment les adresses des applications externes
Quand un message entrant arrive, la NATBox vérifie que les adresses
d’application correspondent à celles d’un dialogue existant
Exemple : les adresses des applications externes des 2 connexions précédentes
figurent en réalité dans la table des traductions.
10.1.1.1 10.2.2.2
(S) 110.80.81.82:22

TCP
(D) 82.3.4.5:15001
Les messages entrants réseau privé
qui n’appartiennent 10.0.0.0/8 10.0.0.1 82.3.4.5 Internet
NATBox ERREUR
pas à ces connexions table des traductions
sont rejetés. 10.0.0.3
Proto Inside global Inside local Outside
tcp 82.3.4.5:15001 10.0.0.3:15001 143.28.12.40:22
tcp 82.3.4.5:15002 10.2.2.2:15001 195.3.66.1:25

26
Fonctionnement du PAT pour ICMP
ICMP ne fournit pas de ports
Les messages d’erreur ICMP contiennent toutefois les en-têtes IP et
TCP/UDP des datagrammes en cause et peuvent donc être traduits
Les messages ICMP de demande (ECHO, Horodatage, etc.)
contiennent un identificateur
L’identificateur est traduit comme s’il s’agissait d’un port. Une
traduction PAT pour un message ICMP (hors messages d’erreur)
envoyé vers l’extérieur par une ALI aura donc la forme suivante :
(ICMP, AGI:IGI, ALI:ILI)
où ILI est l’Identificateur Local Interne et IGI est l’Identificateur Global
Interne
Ainsi la réponse, qui aura comme IP destination l’AGI et comme
identificateur IGI pourra être traduite et retransmise à l’ALI
correspondante
Comme pour TCP et UDP, les adresses externes sont enregistrées, et les
messages entrants ICMP étrangers à un dialogue en cours son rejetés
27
PAT de messages ICMP sortants (hors erreurs)
depuis 10.0.0.3 : requête ping (ECHO REQUEST) d’identificateur (ILI) 0 :
10.1.1.1 10.2.2.2

ICMP
(S) 82.3.4.5:0
10.0.0.3 autorisée
réseau privé (D) 194.199.116.4

ICMP
(S) 10.0.0.3:0
10.0.0.0/8 10.0.0.1 82.3.4.5 Internet
(D) 194.199.116.4
NATBox
table des traductions
Proto Inside global Inside local Outside
10.0.0.3 icmp 82.3.4.5:0 10.0.0.3:0 194.199.116.4:0

depuis 10.1.1.1 : autre requête ping d’identificateur 0 :


10.1.1.1 10.2.2.2

ICMP
(S) 82.3.4.5:1
ICMP

(S) 10.1.1.1:0 10.0.0.3 autorisée


réseau privé (D) 201.3.4.21
(D) 201.3.4.21
10.0.0.0/8 10.0.0.1 82.3.4.5 Internet
NATBox
table des traductions
Proto Inside global Inside local Outside
10.0.0.3 icmp 82.3.4.5:0 10.0.0.3:0 194.199.116.4:0
icmp 82.3.4.5:1 10.1.1.1:0 201.3.4.21:1

La NATBox a traduit l’ILI (0) avec un IGI libre (1)


28
Table de traductions complète
La table des traductions contient en réalité toutes ces adresses
Exemple : la table ci-dessous montre les traductions pour les deux connexions
TCP des exemples précédents et les deux dialogues ICMP (ping) :
# show ip nat translations
Pro Inside global Inside local Outside local Outside global
tcp 82.3.4.5:15001 10.0.0.3:15001 143.28.12.40:22 143.28.12.40:22
tcp 82.3.4.5:15002 10.2.2.2:15001 195.3.66.1:25 195.3.66.1:25
icmp 82.3.4.5:0 10.0.0.3:0 194.199.116.4:0 194.199.116.4:0
icmp 82.3.4.5:1 10.1.1.1:0 201.3.4.21:1 201.3.4.21:1

Seules sont traduites les adresses internes (Inside global et Inside local) : les
adresses externes (Outside local et Outside global) restent les mêmes.
Ceci car la traduction demandée est inside (interne). Pour que les adresses ex-
ternes soient traduites (cas d’overlapping), il faut aussi opérer une traduction
outside.

29
Gestion de la table des traductions/dialogues en cours
Pour les variantes dynamiques du NAT et du PAT, la NATBox doit
maintenir un état des ”dialogues” (ou sessions) en cours :
connexions TCP
dialogues avec UDP
dialogues avec ICMP (essentiellement ping)

car les adresses globales internes —temporairement allouées— doivent


être rendues à nouveau disponibles dès que possible :
pour le NAT : l’AGI associée à une ALI devra être à nouveau disponible
lorsque les dialogues de l’ALI avec l’extérieur sont terminés
pour le PAT : les couples AGI:PGI (de TCP et ceux d’UDP) et AGI:IGI
(ICMP) doivent être aussi restitués lorsque les applications ont terminé
leur dialogue

La NATBox doit détecter la fin des dialogues en cours, afin de pouvoir


réallouer dès que possible les adresses globales internes.

30
Détection de la fin d’un dialogue

C’est un problème difficile auquel il n’y a pas de solution ”transparente”


Pour une connexion TCP :
les deux côtés ont envoyé leur segment FIN
un côté à envoyé un segment RST
mais rien ne dit qu’ils l’ont reçu : la connexion est considérée comme
close un certain temps (configurable) après l’une de ces situations
Pour un dialogue UDP ou ICMP :
cela dépendant des (protocoles d’) applications
le dialogue est considéré comme terminé si aucun datagramme le
concernant n’arrive à la NATBox pendant un certain temps (configurable)
la NATBox peut disposer d’un module reconnaissant les protocoles
d’application concernés et la fin de leurs dialogues

31
PAT statique et redirection de port (port forwarding)
Comment un serveur du Site NAT peut-il être contacté depuis l’extérieur ?

Rappel : le PAT (dynamique) filtre les messages entrants, et on ne peut


contacter un serveur du Site NAT depuis l’extérieur
Une traduction PAT statique permet à l’extérieur d’initier un dialogue
Exemple : la règle suivante sur la NATBox ajoute une entrée statique
dans la table qui permet à l’extérieur de se connecter au serveur SMTP
de la station 10.1.1.1 :
# ip nat inside source static tcp 10.1.1.1 25 82.3.4.5 25
# show ip nat translations
Pro Inside global Inside local Outside local Outside global
tcp 82.3.4.5:25 10.1.1.1:25 --- ---

Ainsi, les segments TCP destinés au port 25 de la NATBox


seront redirigés (traduits) vers le serveur 10.1.1.1.
Certaines NATBox permettent de configurer des redirections de plages
de port vers d’autres plages, ainsi que les adresses externes autorisées
32

Vous aimerez peut-être aussi