Tutorielnatpat 120218122614-phpapp02
Upcoming SlideShare
Loading in...5
×
 

Tutorielnatpat 120218122614-phpapp02

on

  • 633 views

 

Statistics

Views

Total Views
633
Views on SlideShare
633
Embed Views
0

Actions

Likes
2
Downloads
28
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Tutorielnatpat 120218122614-phpapp02 Tutorielnatpat 120218122614-phpapp02 Document Transcript

  • Dimitri LEMBOKOLO 1 I. Partie I : Les Protocoles IP de la couche réseau  Forme des adresses IP  Masque de réseau  Les classes d’adresses Partie II : Les réseaux privées et la traduction d’adresses (NAT)  Présentation des fonctions NAT et PAT  Principes fonctionnalités de NAT et PAT  NAT statique  NAT dynamique  PAT Partie III : Statique ou Dynamique  Quand faire du NAT statique ?  Quand faire du NAT dynamique  Puis-je combiner ces deux méthodes  Description horaire Partie IV : La sécurité et la NAT  La NAT dynamique permet-elle d’améliorer ma sécurité ?  Est-ce utile pour la sécurité d’utiliser un proxy  La NAT est-elle compatible avec IPSEC  Utilitaire pour faire du NAT Conclusion
  • Dimitri LEMBOKOLO 2 I. Le protocole IP de la couche Réseau Le rôle fondamental de la couche réseau (niveau 3 du modèle OSI) est de déterminer la route que doivent emprunter les paquets. Cette fonction de recherche de chemin nécessite une identification de tous les hôtes connectés au réseau. Le modèle TCP/IP utilise un système particulier d'adressage qui porte le nom de la couche réseau de ce modèle : l'adressage IP. Le but de ce rapport est de présenter le fonctionnement de cet adressage dans sa version la plus utilisée IPv4. De façon académique, on débute avec le format des adresses IP. On définit ensuite les classes d'adresses IP, le premier mode de découpage de l'espace d'adressage. Comme ce mode de découpage ne convenait pas du tout au développement de l'Internet, on passe en revue aux améliorations apportées depuis 1980 : les sous-réseaux ou subnetting, la traduction d'adresses ou Native Address Translation (NAT).  Le format des adresses IP Les adresses IP sont composées de 4 octets. Par convention, on note ces adresses sous forme de 4 nombres décimaux de 0 à 255 séparés par des points. L'originalité de ce format d'adressage réside dans l'association de l'identification du réseau avec l'identification de l'hôte.  La partie réseau est commune à l'ensemble des hôtes d'un même réseau ;  La partie hôte est unique à l'intérieur d'un même réseau. Prenons un exemple d'adresse IP pour en identifier les différentes parties : Tableau 1. Exemple : adresse IP 192.168.1.1 Adresse complète 192.168. 1. 1 Masque de réseau 255.255.255. 0 Partie réseau 192.168. 1. Partie hôte 1 Adresse Réseau 192.168. 1. 0 Adresse de diffusion 192.168. 1.255  Le masque de réseau Le masque de réseau sert à séparer les parties réseau et hôte d'une adresse. On retrouve l'adresse du réseau en effectuant un ET logique bit à bit entre une adresse complète et le masque de réseau. L'adresse de diffusion
  • Dimitri LEMBOKOLO 3 Chaque réseau possède une adresse particulière dite de diffusion. Tous les paquets avec cette adresse de destination sont traités par tous les hôtes du réseau local. Certaines informations telles que les annonces de service ou les messages d'alerte sont utiles à l'ensemble des hôtes du réseau. Voici le même exemple obtenu avec l'affichage de la configuration des interfaces réseau d'un hôte avec un système GNU/Linux : 1. Les informations qui nous intéressent sont placées sur cette ligne. L'adresse 10.10.1.4 est l'adresse IP affectée à l'interface Ethernet eth1 ; 2. L'adresse de diffusion est 10.255.255.255 compte tenu du masque réseau ; 3. Le masque réseau à pour valeur : 255.0.0.0.  Les classes d'adresses À l'origine, plusieurs groupes d'adresses ont été définis dans le but d'optimiser le cheminement (ou le routage) des paquets entre les différents réseaux. Ces groupes ont été baptisés classes d'adresses IP. Ces classes correspondent à des regroupements en réseaux de même taille. Les réseaux de la même classe ont le même nombre d'hôtes maximum. Deux adresses interdites Il est interdit d’attribuer à une machine d’un réseau IP, l’adresse du réseau et l’adresse de broadcast. Ce qui, pour le réseau 192.168.1.0/24, nous donne :  adresse du réseau : 192.168.1.0  adresse de broadcast : 192.168.1.255 Les classes A, B et C (obsolète) Historiquement, le réseau Internet était découpé en classes d'adresses : Classe A :  Le premier bit de ces adresses IP est à 0.  Le masque décimal associé est 255.0.0.0, soit les 8 premiers bits à 1.  Les adresses de ces réseaux ont la forme décimale a.0.0.0 avec a variant 0 à (27 -1 =) 127.
  • Dimitri LEMBOKOLO 4  Cette classe détermine ainsi (127 - 0 + 1 =) 128 réseaux.  Le nombre de bits restant pour l'adressage des hôtes est de (32 - 8 =) 24.  Chaque réseau de cette classe peut donc contenir jusqu'à 224 -2 = 16 777 214 machines.  L’adresse de classe A 127 est réservée pour les tests de bouclage et les fonctions de diagnostic. Classe B :  Les 2 premiers bits de ces adresses IP sont à 1 et 0 respectivement.  Le masque décimal associé est 255.255.0.0, soit les 16 premiers bits à 1.  Les adresses de ces réseaux ont la forme décimale a.b.0.0 avec a variant de (27 =) 128 à (27 + 26 -1 =) 191 et b variant de 0 à 255.  Cette classe détermine ainsi [(191 - 128 + 1) × (255 - 0 + 1)]= 16 384 réseaux.  Le nombre de bits restant pour l'adressage des hôtes est de (32 - 16 )= 16.  Chaque réseau de cette classe peut donc contenir jusqu'à 216 -2 = 65 534 machines. Classe C :  Les 3 premiers bits de ces adresses IP sont à 1, 1 et 0 respectivement.  Le masque décimal associé est 255.255.255.0, soit les 24 premiers bits à 1.  Les adresses de ces réseaux ont la forme décimale a.b.c.0 avec a variant de (27 + 26 )= 192 à (27 + 26 + 25 -1)= 223, b et c variant de 0 et 255 chacun.  Cette classe détermine ainsi [(223 - 192 + 1) × (255 - 0 + 1) × (255 - 0 + 1)] = 2 097 152 réseaux.  Le nombre de bits restant pour l'adressage des hôtes est de (32 - 24 =) 8.  Chaque réseau de cette classe peut donc contenir jusqu'à 28 -2 = 254 machines. Classe D :  Les 4 premiers bits de ces adresses IP sont à 1, 1, 1 et 0 respectivement.  Le masque décimal associé par défaut est 240.0.0.0, soit les 4 premiers bits à 1.  Les adresses de cette classe ont la forme décimale a.b.c.d avec a variant de (27 + 26 + 25 ) = 224 à (27 + 26 + 25 + 24 -)1 = 239, b, c et d variant de 0 et 255 chacun.  Cette classe est spéciale : elle est réservée à l'adressage de groupes de diffusion multicast. Classe E :  Les 4 premiers bits de ces adresses IP sont (tous) à 1.  Le masque décimal associé par défaut est 240.0.0.0, soit les 4 premiers bits à 1.  Les adresses de cette classe ont la forme décimale a.b.c.d avec a variant de (27 + 26 + 25 + 24 )= 240 à (28 -1) = 255, b, c et d variant de 0 et 255 chacun.  Cette classe est également spéciale : elle est actuellement réservée à un adressage de réseaux de recherche. Calcul  Nombre total de sous-réseaux = 2nombre de bits empruntés  Nombre total d'hôtes = 2nombre de bits restants  Sous-réseaux utilisables = 2nombre de bits empruntés - 2  Hôtes utilisables = 2nombre de bits restants - 2
  • Dimitri LEMBOKOLO 5 La notion de classe d'adresses a été rendue obsolète pour l'adressage des nœuds du réseau Internet car elle induisait une restriction notable des adresses IP affectables par l'utilisation de masques spécifiques. Les documents RFC 1518 et RFC 1519 publiés en 1993 spécifient une nouvelle norme : l'adressage CIDR (cf. supra). Ce nouvel adressage précise qu'il est possible d'utiliser un masque quelconque appliqué à une adresse quelconque. Il organise par ailleurs le regroupement géographique des adresses IP pour diminuer la taille des tables de routage des principaux routeurs du réseau Internet. II. Les réseaux privés et la traduction d'adresses (NAT) Les réseaux privés se sont développés en «réaction» à deux évolutions de l'Internet : la mauvaise utilisation de l'espace d'adressage IPv4 et les besoins de sécurisation des réseaux d'entreprises. Ces évolutions on conduit à la conception de réseaux dits privés n'ayant que peu ou pas d'interfaces exposées sur le réseau public l'Internet. Pour planifier l'adressage d'un réseau privé, il faut distinguer deux cas de figure :  Si le réseau privé n'est jamais interconnecté avec d'autres réseaux (notamment l'Internet), on peut utiliser n'importe quelle adresse.  Si le réseau privé peut être interconnecté avec d'autres réseaux via un routeur, on doit utiliser les adresses réservées à cet usage. Ces adresses sont données dans le document RFC1918. Dans la pratique, c'est le second cas de figure que l'on retrouve le plus souvent. Tableau 2. Réseaux privés Classe Masque réseau Plage d’dresses internes RFC 1918 Notation CIDR A 255.0.0.0 10.0.0.0 - 10.255.255.255 10.0.0.0/8 B 255.240.0.0 172.16.0.0 - 172.31.255.255 172.16.0.0/12 C 255.255.0.0 192.168.0.0 - 192.168.255.255 192.168.0.0/16 Généralement, les FAI configurent généralement les routeurs périphériques de façon à empêcher le transfert du trafic privé. Avec NAT, les sociétés individuelles peuvent attribuer des adresses privées à certains ou tous leurs hôtes, et utiliser NAT pour leur procurer un accès à Internet.  Présentation des fonctions NAT et PAT NAT est conçu pour conserver des adresses IP et permettre aux réseaux d’utiliser des adresses IP privées sur les réseaux internes. Ces adresses internes privées sont traduites en adresses publiques routables. Un matériel compatible NAT fonctionne généralement à la périphérie d’un réseau d’extrémité. Quand un hôte situé à l’intérieur du réseau d’extrémité souhaite émettre vers un hôte de l’extérieur, il transfère le paquet au routeur périphérique frontière. Ce routeur périphérique frontière effectue le processus NAT et traduit l’adresse privée interne d’un hôte en une adresse publique externe routable.
  • Dimitri LEMBOKOLO 6 Les termes ci-dessous, liés à NAT, ont été définis par Cisco :  Adresse locale interne – L’adresse IP attribuée à un hôte du réseau interne. Il s’agit généralement d’une adresse privée RFC 1918.  Adresse globale interne – Une adresse IP légitime attribuée par InterNIC ou par le fournisseur d’accès, et qui représente une ou plusieurs adresses IP locales internes pour le monde extérieur.  Adresse locale externe – L’adresse IP d’un hôte externe telle que la connaisse les hôtes du réseau interne.  Adresse globale externe – L’adresse IP attribuée à un hôte du réseau externe. C’est le propriétaire de l’hôte qui attribue cette adresse.  Principales fonctionnalités NAT et PAT Les traductions NAT peuvent avoir de nombreuses utilisations et peuvent indifféremment être attribuées de façon statique ou dynamique.  NAT statique La fonction NAT statique est conçue pour permettre le mappage biunivoque d’adresses locales et globales. Ceci s’avère particulièrement utile pour les hôtes qui doivent disposer d’une adresse permanente, accessible depuis Internet. Ces hôtes internes peuvent être des serveurs d’entreprise ou des équipements de réseau.  Configuration Traduction statique :  Etablir le mappage statique : Router (config)#ip nat inside source static {@ IP locale} {@ IP globale}  Définir les interfaces : Router (config-if)#ip nat inside L’interface connectée à l’intérieur Router (config-if)#ip nat outside L’interface connectée à l’extérieur  NAT dynamique La fonction NAT dynamique est conçue pour mapper une adresse IP privée sur une adresse publique. Une adresse IP quelconque prise dans un groupe d’adresses IP publiques est attribuée à un hôte du réseau.  Configuration Définir une liste d’adresses IP globales à allouer : Router (config)#ip nat pool {nom_pool} {@ IP début} {@ IP fin} netmask {masque de SR}  Définir une ACL standard autorisant les adresses qui doivent être traduites.  Etablir la traduction dynamique Router (config)#ip nat inside source list {n° ACL} pool {nom_pool}  Définir les interfaces :
  • Dimitri LEMBOKOLO 7 Router (config-if)#ip nat inside L’interface connectée à l’intérieur Router (config-if)#ip nat outside L’interface connectée à l’extérieur Remarque : Cisco recommande de ne pas configurer les listes d’accès référencées par des commandes NAT à l’aide de la commande permit any. En effet, permit any peut mener la fonction NAT à consommer trop de ressources routeur, ce qui peut occasionner des problèmes Surcharge : Il existe deux façons de configurer la surcharge, en fonction de la manière dont les adresses IP publiques ont été allouées.  Un FAI ne peut allouer qu’une adresse IP publique à un réseau.  Définir une ACL standard autorisant les @ qui doivent être traduites.  Spécifier l’@ globale, en tant que groupe à utiliser par la surcharge : Router (config)#ip nat pool {nom_pool} {@ IP début} {@ IP fin} netmask {masque de SR}  Etablir la traduction dynamique :  Router (config)#ip nat inside source list {n° ACL} interface {interface} overload  Définir les interfaces : Router (config-if)#ip nat inside L’interface connectée à l’intérieur Router (config-if)#ip nat outside L’interface connectée à l’extérieur  PAT Avec la traduction d’adresses de ports (Port Address Translation - PAT), plusieurs adresses IP privées peuvent être mappées sur une adresse IP publique unique. La fonction PAT utilise des numéros de port source uniques sur l’adresse IP globale interne, de façon à assurer une distinction entre les traductions. Le numéro de port est encodé sur 16 bits. Le nombre total d’adresses internes pouvant être traduites en une adresse externe peut théoriquement atteindre les 65 536 par adresse IP. De façon plus réaliste, le nombre de port pouvant être attribués à une adresse IP unique avoisine les 4000. déjà utilisé, PAT attribue le premier numéro de port disponible en commençant au début du groupe de ports approprié. configurées, PAT sélectionne l’adresse IP suivante pour tenter d’allouer de nouveau le numéro du port source initial.
  • Dimitri LEMBOKOLO 8 III. Statique ou dynamique ?  Quand faire du NAT statique ? Nous avons vu que la NAT statique permettait de rendre disponible une machine sur Internet, mais qu'il fallait par contre une adresse IP pour que ce serveur soit joignable. Il est donc utile d'utiliser la NAT statique quand vous voulez rendre une application disponible sur Internet, comme un serveur web, mail ou un serveur FTP.  Quand faire du NAT dynamique ? La NAT dynamique permet d'une part de donner un accès à Internet à des machines possédant des adresses privées, et d'autre part d'apporter un petit plus en terme de sécurité. Elle est donc utile pour économiser les adresse IP, donner un accès à Internet à des machines qui n'ont pas besoin d'être joignables de l'extérieur (comme la plupart des utilisateurs). D'autre part, même quand on possède assez d'adresses IP, il est souvent préférable de faire de la NAT dynamique pour rendre les machines injoignables directement de l'extérieur. Par exemple, pour un usage personnel de partage de l'ADSL ou du câble, on utilise souvent la NAT dynamique pour partager son accès, étant donné que les machines n'ont pas besoin d'être jointes de l'extérieur.  Puis-je combiner ces deux méthodes ? Oui, et c'est même souvent la meilleure solution lorsque l'on a à la fois des machines offrant un service, et d'autres qui n'ont besoin que de se connecter à Internet. Ainsi, on économisera les adresses IP grâce aux machines NATtées dynamiquement, et on utilisera exactement le bon nombre d'adresses IP publiques dont on a besoin. Il est donc très intéressant de combiner ces deux méthodes. IV. La sécurité et la NAT  La NAT dynamique permet-elle d'améliorer ma sécurité ? La NAT dynamique permet de rendre les machines d'un réseau local inaccessibles directement de l'extérieur, on peut donc voir cela comme une sécurité supplémentaire. Mais cela n'est pas suffisant et il est indispensable d'utiliser un filtrage si l'on veut obtenir un bon niveau de sécurité. La NAT dynamique seule ne peut pas être considéré comme une sécurité suffisante  Est-ce utile pour la sécurité d'utiliser un proxy ? Un proxy travaille au niveau 7 du modèle OSI, c'est à dire qu'il est capable d'interpréter et de modifier les informations du protocole sur lequel il travaille. Ainsi, il peut vérifier le contenu de ce qui est reçu de la part du serveur et en interdire ou modifier le contenu selon la politique choisie. L'utilisation d'un proxy pour des protocoles critiques est donc souvent utile si on veut avoir une bonne vision de ce qui se passe.
  • Dimitri LEMBOKOLO 9  La NAT est-elle compatible avec IPSEC ? Si on veut être précis, la réponse est oui. Cependant, la norme IPSEC ayant différentes implémentations, ce n'est pas toujours le cas. D'ailleurs la plupart des constructeurs ont créé leurs propres solutions IPSEC pour traverser de la NAT. Le problème vient de l'encryptions de l'en-tête IP par les participants au tunnel IPSEC. Si l'adresse IP est modifiée pendant le trajet du paquet, elle ne sera pas la même à l'arrivée que celle qui a été encryptée au départ, et après comparaison, le paquet sera détruit. Cependant, en se plaçant en mode ESP et en faisant du tunneling, c'est la totalité du paquet qui est encryptée, et un nouvel en-tête est ajouté à celui-ci. Ainsi, la comparaison ne se fera pas sur l'en-tête modifiée, mais sur celle contenue dans les données du paquet.  Utilitaires pour faire de la NAT  10.1 10.1 - Sous Windows Voici quelques noms de produits qui permettent entre autres de faire de la NAT, une présentation plus précise sera peut-être faite par la suite si cela s'avère utile. Je n'ai pas testés ces produits, ;-) Wingate, winroute lite, NAT32, TCPrelay...  10.2 10.2 - Sous Unix IPchains, ipfilter, netfilter...
  • Dimitri LEMBOKOLO 10  Mise en œuvre Architecture NAT statique (Routeur CISCO 3700, IOS : c3745-ipvoicek9-mz.124-9.T) Sur le Routeur NAT (RouteurNAT) hostname RouteurNAT ! interface FastEthernet0/0 ip address 10.10.1.254 255.255.255.0 ip nat inside ! --- Définit Ethernet 0/0 avec une adresse IP et déclarer l’interface interne du NAT ! interface Serial0/0 ip address 192.1.95.241 255.255.255.240 ip nat outside clock rate 56000 ! --- Définit Serial 0/0 avec une adresse IP et déclarer l’interface externe du NAT ! ip nat inside source static 10.10.1.3 192.1.95.243 ip nat inside source static 10.10.1.4 192.1.95.244 ! ! ---Etats --- que tout paquet reçu sur l'interface à l'intérieur avec une adresse IP source de --- 10.10.1.3 est traduit par 192.1.95.243. ! ---Etats --- que tout paquet reçu sur l'interface à l'intérieur avec une adresse IP source de --- 10.10.1.4 est traduit par 192.1.95.244
  • Dimitri LEMBOKOLO 11 Sur le Routeur Internet (RouteurInternet) hostname RouteurInternet ! interface FastEthernet0/0 ! interface Serial0/0 ip address 192.1.95.242 255.255.255.240 Sur les Machines
  • Dimitri LEMBOKOLO 12 Vérification  Visualiser les translations d'adresses :  Activer le debug NAT :
  • Dimitri LEMBOKOLO 13 Architecture NAT statique (Routeur CISCO 7200, IOS : c7200-advipservicesk9-mz.124-2.T) Sur le Routeur NAT (RouteurNAT) hostname R1 ! interface FastEthernet1/0 ip address 10.10.1.1 255.0.0.0 ip nat inside !---- Déclarer l’interface interne du NAT---: ! interface Serial2/0 ip address 192.1.65.241 255.255.255.240 ip nat outside !----Déclarer l’interface externe du NAT--- ! clock rate 54120 ! ! !---- Déclaration de votre pool d'adresses publiques--- ip nat pool tpnat 192.1.65.243 192.1.65.254 netmask 255.255.255.240 ! ! !---- Configurer l'ACL qui autorise les réseaux internes à utiliser le NAT---- ip nat inside source list 7 pool tpnat access-list 7 permit 10.0.0.0 0.255.255.255
  • Dimitri LEMBOKOLO 14 ! !--- Déclarer le PAT sur l'interface de sortie --- ip nat inside source list 7 interface Serial2/0 overload ! ! ip nat translation timeout 7200 !--- Temps en seconde --- Sur le Routeur Internet (RouteurInternet) hostname R2 ! interface Serial1/0 ip address 192.1.65.242 255.255.255.240 ! Sur les machines
  • Dimitri LEMBOKOLO 15 Vérification  Ping routeur R1 vers les machines
  • Dimitri LEMBOKOLO 16  Ping machine vers routeurs  Ping routeur R2 vers R1
  • Dimitri LEMBOKOLO 17  Afficher les statistiques de traduction Conclusion La NAT est aujourd'hui un élément important en réseau étant donné son énorme déploiement à travers le monde suite à l'annonce de la pénurie d'adresses IPv4. Certes, il y a le IPv6 pour palier à ce problème mais très peu l’utilise dans la sous régions. J'ai essayé de rendre la compréhension de cette technique la plus accessible possible. Cependant, il faut impérativement avoir quelques notions en réseau pour pouvoir bien comprendre les points délicats qu'elle comporte. Il y a et il y aura sûrement encore beaucoup de choses à dire sur le sujet. Vos remarques sont donc encore et toujours les bienvenues, aussi bien pour y ajouter des idées, que pour enlever le superflu.