Quelques notions sur TCP / IP



Documents pareils
2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

II/ Le modèle OSI II.1/ Présentation du modèle OSI(Open Systems Interconnection)

Introduction. Adresses

DHCP et NAT. Cyril Rabat Master 2 ASR - Info Architecture des réseaux d entreprise

Administration réseau Firewall

Rappels réseaux TCP/IP

Configuration de base de Jana server2. Sommaire

Figure 1a. Réseau intranet avec pare feu et NAT.

Sécurité des réseaux Firewalls

Cours de sécurité. Pare-feux ( Firewalls ) Gérard Florin -CNAM - - Laboratoire CEDRIC -

Présentation du modèle OSI(Open Systems Interconnection)

Réseaux - Cours 4. Traduction d adresse (NAT/PAT) et Service de Nom de Domaine (DNS) Cyril Pain-Barre. IUT Informatique Aix-en-Provence

Intérêt du NAT (Network Address Translation) Administration Réseau Niveau routage. Exemple d Intranet. Principe NAT

L3 informatique Réseaux : Configuration d une interface réseau

VoIP et "NAT" VoIP et "NAT" 1/ La Traduction d'adresse réseau. 1/ La traduction d'adresse réseau. 1/ La traduction d'adresse réseau

Devoir Surveillé de Sécurité des Réseaux

Internet - Outils. Nicolas Delestre. À partir des cours Outils réseaux de Paul Tavernier et Nicolas Prunier

Formation Iptables : Correction TP

Fonctionnement de Iptables. Exercices sécurité. Exercice 1

Alexis Lechervy Université de Caen. M1 Informatique. Réseaux. Filtrage. Bureau S3-203

MISE EN PLACE DU FIREWALL SHOREWALL

Firewall. Souvent les routeurs incluent une fonction firewall qui permet une première sécurité pour le réseau.

LAB : Schéma. Compagnie C / /24 NETASQ

pare - feu généralités et iptables

Rappel: Le routage dans Internet. Contraintes. Environnement et contraintes. La décision dans IP du routage: - Table de routage:

TAGREROUT Seyf Allah TMRIM

2. DIFFÉRENTS TYPES DE RÉSEAUX

TARMAC.BE TECHNOTE #1

Configuration Routeur DSL pour Xbox LIVE ou PlayStation-Network

Réseaux. Moyens de sécurisation. Plan. Evolutions topologiques des réseaux locaux

Chapitre I. La couche réseau. 1. Couche réseau 1. Historique de l Internet

Services Réseaux - Couche Application. TODARO Cédric

TCP/IP, NAT/PAT et Firewall

RESEAUX TCP/IP: NOTIONS AVANCEES. Preparé par Alberto EscuderoPascual

Introduction aux Technologies de l Internet

IUT d Angers License Sari Module FTA3. Compte Rendu. «Firewall et sécurité d un réseau d entreprise» Par. Sylvain Lecomte

Nmap (Network Mapper) Outil d exploration réseau et scanneur de ports/sécurité

TR2 : Technologies de l'internet. Chapitre VI. NAT statique et dynamique Overloading (PAT) Overlapping, port Forwarding Serveur Proxy, DMZ

Plan. Programmation Internet Cours 3. Organismes de standardisation

TP Linux : Firewall. Conditions de réalisation : travail en binôme. Fonctionnement du parefeu Netfilter. I Qu est ce qu'un firewall?

TER Réseau : Routeur Linux 2 Responsable : Anthony Busson

Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A. TP réseau firewall

Configuration d'un Réseau Privé Virtuel (RPV ) communément appelé VPN

Fonctionnement du protocole DHCP. Protocole DHCP (S4/C7)

Firewall IDS Architecture. Assurer le contrôle des connexions au. Sécurité 1

Plan du Travail. 2014/2015 Cours TIC - 1ère année MI 30

Internet Protocol. «La couche IP du réseau Internet»

Notice d installation des cartes 3360 et 3365

Routeurs de Services Unifiés DSR-1000N DSR-500N DSR-250N

Algorithmique et langages du Web

Internet et Programmation!

Term Professionnelle Micro informatique & Réseaux Installation et Maintenance Lycée Saint Joseph Vannes

Tunnels et VPN. 22/01/2009 Formation Permanente Paris6 86

Programmation Réseau. ! UFR Informatique ! Jean-Baptiste.Yunes@univ-paris-diderot.fr

A5.2.3, Repérage des compléments de formation ou d'autoformation

UDP/TCP - Protocoles transport

Le routeur de la Freebox explications et configuration

MAUREY SIMON PICARD FABIEN LP SARI

laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007

Le filtrage de niveau IP

Packet Tracer : configuration des listes de contrôle d'accès étendues, scénario 1

TP : Introduction à TCP/IP sous UNIX

Sécurité des réseaux Les attaques

Plan. École Supérieure d Économie Électronique. Plan. Chap 9: Composants et systèmes de sécurité. Rhouma Rhouma. 21 Juillet 2014

TP : STATION BLANI 2000 SIMULATION DU RESEAU INFORMATIQUE

Sécurité et Firewall

M1101a Cours 4. Réseaux IP, Travail à distance. Département Informatique IUT2, UPMF 2014/2015

GENERALITES. COURS TCP/IP Niveau 1

CONFIGURATION IP. HESTIA FRANCE S.A.S 2, rue du Zécart TEMPLEUVE +33 (0) (0) Site internet:

Cisco Certified Network Associate

Mise en œuvre d une Gateway HTTP/HTTPS avec un serveur de Présentation en DMZ

U.E. ARES - TD+TME n 1

Master 1 ère année. UE Réseaux Avancés I. Corrections décembre Durée : 2h Documents autorisés

avec Netfilter et GNU/Linux

CONFIGURATION FIREWALL

VIDÉOSURVEILLANCE. Procédures de paramétrage des différentes box du marché

Pour configurer le Hitachi Tecom AH4021 afin d'ouvrir les ports pour "chatserv.exe", vous devez suivre la proc

Cloud public d Ikoula Documentation de prise en main 2.0

Sécuriser son réseau. Sécuriser son réseau Philippe Weill (IPSL/LATMOS) Frédéric Bongat (SSI/GOUV/FR)

TP4 : Firewall IPTABLES

Culture informatique. Cours n 9 : Les réseaux informatiques (suite)

Guide de configuration de la Voix sur IP

Oléane VPN : Les nouvelles fonctions de gestion de réseaux. Orange Business Services

Protocoles IP (2/2) M. Berthet. Les illustrations sont tirées de l ouvrage de Guy Pujolle, Cours réseaux et Télécom Contributions : S Lohier

Les firewalls libres : netfilter, IP Filter et Packet Filter

Chap.9: SNMP: Simple Network Management Protocol

LINUX - Sécurité. Déroulé de l'action. - 3 jours - Contenu de formation

Installation d un serveur virtuel : DSL_G624M

Chapitre : Les Protocoles

EPREUVE PRATIQUE DES TECHNIQUES INFORMATIQUES ACTIVITE N 1. Thème de l activité : Configuration d un firewall

Le Multicast. A Guyancourt le

TP réseau Les réseaux virtuels (VLAN) Le but de se TP est de segmenter le réseau d'une petite entreprise dont le câblage est figé à l'aide de VLAN.

Guide d installation. Routeur ZyWall 2 plus

Licence 3 Systèmes et Réseaux II. Chapitre V : Filtrage

Internets. Informatique de l Internet: le(s) Internet(s) Composantes de l internet R3LR RENATER

Capture, Filtrage et Analyse de trames ETHERNET avec le logiciel Wireshark. Etape 1 : Lancement des machines virtuelles VMWARE et de Wireshark

TR2 : Technologies de l'internet. Chapitre VII. Serveur DHCP Bootp Protocole, Bail Relais DHCP

Applications en réseau

Guide de connexion Wi-Fi sur un hotspot ADP Télécom

Transcription:

Tout ce que vous vouliez savoir sur le NAT sans avoir osé le demander Quelques notions sur TCP / IP Ce chapitre n a pas pour but de vous saouler avec un N ième cours réseau mais de vous donner le minimum minimorum de connaissances réseau pour comprendre ce qu est le NAT. Un paquet de, ou datagramme comprend un en-tête et une zone de données ou «charge utile». L en-tête comprend, entre-autres, l adresse IP du destinataire ainsi que celle de l émetteur ; on y trouve aussi un champ qui dit quel est le protocole de niveau supérieur qui est encapsulé dans IP (ex : TCP ou UDP). La figure ci-dessous donne un aperçu sommaire d un datagramme IP : Datagramme IP Protocole données Dans les cas les plus fréquents, la zone de données contient soit un paquet UDP soit un paquet (ou segment) TCP. Un paquet UDP contient lui aussi un en-tête et une zone de données. L en-tête UDP indique le port UDP et le port UDP. Ce qui nous donne, si l on regarde le paquet au niveau IP : Protocole = 17 = UDP Port Port données UDP En-tête UDP

De même pour TCP, l en-tête comprend une indication du port TCP et du port TCP : Port Port données TCP L en-tête d un segment TCP comprend aussi des drapeaux («flags») permettant de particulariser les segments : on peut ainsi avoir des segments transportant des données ou des segments transportant de la signalisation. Les segments de signalisation sont par exemple : segment de demande de début de connexion (drapeaux SYN=1, ACK=0) ; ce type de segment est en général nommé SYN dans la littérature réseau ; segment d acceptation de demande de connexion (drapeaux SYN=1, ACK=1) ; ce type de segment est en général nommé SYN/ACK segment de libération de connexion (drapeau FIN=1) ; ce type de segment est en général nommé FIN. Et le NAT dans tout cela? Pourquoi a-t-on besoin du NAT? Le NAT est souvent utilisé quand on a un réseau avec des adresses non routables, c est-à-dire des adresses qui peuvent être atteintes à l intérieur d un réseau privé mais qui ne peuvent pas être routées dans l Internet public. Il existe plusieurs plages d adresses non routables : 10.0.0.0/8, 172.16.0.0/12, et 192.168.0.0/16. Ces plages ont été définies par l IANA. Tant qu un réseau privé reste non connecté à l Internet, aucun problème ne se pose a priori. Les «ennuis» commencent dès la connexion à l Internet : en effet, il va falloir translater les adresses internes non routables en une ou plusieurs adresses externes routables. Pour cela, le routeur va gérer une table de translation qui indique comment modifier les adresses IP et ports internes afin de les translater dans le domaine d adresses publiques. Ceci implique que le

routeur va accéder à la fois aux informations contenues dans l en-tête de niveau 3 (ou réseau, c-à-d IP) et dans l en-tête de niveau 4 (ou transport, c-à-d TCP ou UDP). Certains constructeurs (dont Alcatel) distinguent le NAT où seules les adresses IP sont translatées du NAT+PAT où les adresses IP + ports TCP ou UDP peuvent être simultanément translatés. Nous ne ferons pas cette distinction et considérerons le cas le plus général et nous utiliserons, par abus de langage, le terme NAT pour indiquer une translation d adresse et/ou de ports. Fonctionnement du NAT Le routeur gère une table à double entrée de la forme suivante : Interface Interne Interface Externe IP Proto. Port IP Proto. Port Cette table est initialement vide lors de la mise sous tension du routeur. Connexion initiée du côté LAN Commençons tout d abord par le cas le plus simple où une machine du réseau interne initie une connexion vers une machine de l Internet : le routeur consulte sa table de translation du côté «interne», voit que le triplet (adresse, protocole, port ) n est pas dans la table ; à ce moment, le routeur translate le champ adresse IP en une adresse externe et attribue au champ port un numéro de port libre ; il réécrit ainsi les en-tête IP et transport du paquet sortant avant de l envoyer sur l interface externe. A titre d exemple, nous considérerons que le réseau interne a pour plage d adresse le réseau privé 10.0.0.0/8, que l interface externe est une liaison point-à-point dont l adresse est 80.11.124.108 et que la machine initiant la connexion a l adresse 10.0.0.1. Le client initie une connexion HTTP vers www.google.com (adresse IP : 216.239.37.101 1 ). 1 A la date de rédaction de ce document.

Le segment TCP initialement envoyé est de la forme : @ dest 216.239.37.101 @ 10.0.0.1 Port dest 80 Port 2038 2 Le routeur ajoute une entrée dans sa table de translation (par exemple) : Interface Interne Interface Externe IP Proto. Port IP Proto. Port 10.0.0.1 TCP 2038 80.11.124.108 TCP 1024 Puis réécrit le paquet original comme suit avant de le transférer sur l interface externe : @ dest 216.239.37.101 @ 80.11.124.108 Port dest 80 Port 1024 Quand le serveur répond, le routeur consulte la table de translation du côté interface externe, trouve l entrée précédente et effectue la translation inverse. 2 comme il s agit d un segment SYN, la zone de données TCP est vide.

Dans notre exemple, la réponse du serveur Web www.google.com apparaît sous forme d un segment SYN/ACK dont le format serait : @ dest 80.11.124.108 @ 216.239.37.101 Port dest 1024 Port 80 ce qui nous donne après translation «inverse» : @ dest 10.0.0.1 @ 216.239.37.101 Port dest 2038 Port 80 Lors de la rupture de la connexion, le routeur efface l entrée de sa table de translation. La condition de rupture de connexion est assez facile à détecter dans le cas de TCP puisque dans le cas nominal, le routeur verra passer un segment FIN marquant la fin de la connexion. Dans le cas d UDP, un tel mécanisme n existe pas puisqu UDP est un protocole sans connexion. Pour UDP, le routeur va donc associer à chaque entrée NAT une estampille temporelle qu il remet à jour chaque fois qu il translate un paquet selon l entrée NAT considérée ; au bout d un certain délai d inactivité, l entrée NAT est supprimée de la table. Pour différentes raisons techniques, bien qu une connexion TCP soit généralement terminée par un échange de segments FIN, il est aussi utile de gérer une temporisation d expiration associée aux entrées NAT utilisant TCP comme protocole de transport (suite à une erreur réseau la connexion peut fort bien être rompue sans qu aucun segment FIN n ait été échangé par exemple). Comme les ruptures «sales» de connexion sont moins fréquentes que les ruptures négociées, la temporisation d inactivité pour une entrée TCP peut être réglée de manière à être supérieure à celle d une entrée UDP. Connexion initiée du côté WAN Ce cas est un peu plus complexe dans la mesure où les adresses externes sont en général moins nombreuses que les adresses internes : le cas fréquent est en effet la connexion partagée où le

routeur a une seule adresse externe assignée par le FAI et plusieurs adresses internes assignées par le possesseur du routeur. Quand le WAN initie une connexion, le routeur ne peut déterminer automatiquement quelle est l adresse interne destinatrice de la connexion puisqu il peut y avoir plusieurs machines destinatrices côté LAN. C est pour cela qui est nécessaire de définir des patrons («templates») afin de donner au routeur des règles explicites de translation NAT. Un patron définit les caractéristiques que devra posséder un paquet entrant afin d entraîner la création d une entrée NAT. Exemple : sur le réseau interne, nous avons installé un serveur de courrier électronique (port SMTP 25/tcp) sur une machine d adresse interne 10.0.0.2 et nous voulons que tout paquet TCP arrivant sur l adresse WAN et dont le numéro de port TCP est égal à 25 soit translaté sur l adresse interne avec le même numéro de port. Le patron (indiqué en italique) sera donc : Interface Interne Interface Externe IP Proto. Port IP Proto. Port 10.0.0.2 TCP 25 0.0.0.0 TCP 25 La notation 0.0.0.0 pour l adresse externe signifie «quelle que soit l adresse IP assignée à l adresse externe». Supposons qu une machine externe initie une connexion vers notre serveur de courrier. Notre DNS publie l adresse externe du serveur de courrier, c est-à-dire l adresse assignée au routeur. Ce dernier voit donc arriver un segment TCP dont l adresse est l adresse IP du routeur et le port TCP est 25 ; le routeur voit donc que le patron est validé et va créer une entrée dans la table NAT : Interface Interne Interface Externe IP Proto. Port IP Proto. Port 10.0.0.2 TCP 25 0.0.0.0 TCP 25 10.0.0.2 TCP 25 80.11.124.108 TCP 25 Une fois l entrée dynamique créée, on se retrouve ramené au cas de la connexion initiée par le LAN : quand le serveur de courrier va répondre (avec un port TCP égal à 25), le routeur va trouver l entrée 10.0.0.2:25/tcp et effectuer la translation inverse, c est-à-dire remplacer l adresse IP interne du serveur par celle du routeur dans le champ adresse du paquet de réponse. Remarques Protocoles autres que TCP et UDP NAT ne s applique pas uniquement aux protocoles TCP et UDP : ainsi, si l une des machines internes PINGue une machine externe, le machine interne va créer un paquet ICMP (numéro de protocole = 1) de type echo-request auquel la machine distante doit répondre par un paquet ICMP de type echo-reply. La commande echo-request comprend un champ identifier de 16 bits qui doit être recopié tel quel lors d un echo-reply. La RFC 792 précise que ce champ peut être utilisé pour déterminer à quelle demande d écho correspond une réponse donnée. Ce champ peut donc aussi être

translatée par le routeur pour permettre à plusieurs machines du LAN de PINGer des machines distantes. Cas pratiques Ce chapitre a pour but de donner pour quelques configurations typiques les règles NAT à implémenter. Serveur de mail (SMTP et POP3) Courrier entrant (SMTP) : NATer le port 25/tcp. Relève du courrier (POP3) : NATer le port 110/tcp. Cette règle n est nécessaire que si l on veut relever son courrier depuis le WAN. Serveur WEB Un serveur Web utilise en général le port 80 (par configuration du serveur, on peut lui faire utiliser des ports moins standards tels que 8000 ou 8080). Il faudra donc NATer ce port là si l on a installé sur le LAN un serveur Web qui doit être visible de l extérieur. edonkey / emule edonkey utilise les ports 4661/tcp et 4665/udp pour les connexions sortantes et 4662/tcp (par défaut) pour les connexions entrants. Comme nous l avons vu plus haut, il suffit juste d avoir un patron pour les connexions entrantes : on NATera donc de façon explicite le port 4662/tcp. Depuis la version 0.24, emule utilise aussi le port 4672/udp de manière entrante et sortante. Il faut donc aussi NATer de manière explicite ce port. KaZaa NATer le port 1412/tcp pour les connexions entrantes. Exemples : modem Alcatel La copie d écran ci-dessous montre une session sous telnet. La commande :nat list permet d imprimer l état de la table NAT. [nat]=>:nat list Indx Prot Inside-address:Port Outside-address:Port Foreign-address:Port Flgs E xpir State Control 12 6 10.0.0.1:2259 80.11.8.125:10928 64.180.40.188:1723 1 8773 1 15 1 10.0.0.1:512 80.11.8.125:11340 216.239.37.101:2048 1 590 11 36 1 10.0.0.2:16964 80.11.8.125:11339 216.239.37.101:2069 1 598 11 42 17 80.11.8.125:53 80.11.8.125:10803 193.252.19.3:53 1 2958 10 47 6 10.0.0.1:1214 80.11.8.125:1214 0.0.0.0:0 instance 56 6 10.0.0.1:2721 80.11.8.125:11397 213.214.215.216:4661 1 8997 1 58 6 10.0.0.1:4662 80.11.8.125:4662 0.0.0.0:0 instance 58 6 10.0.0.1:4662 0.0.0.0:4662 0.0.0.0:0 template 58 6 10.0.0.1:1214 0.0.0.0:1214 0.0.0.0:0 template

On voit par exemple (entrées 15 et 36), deux PING en provenance de deux machines du réseau LAN interne et destinés vers la même machine (216.239.37.101) ; afin de les distinguer, le routeur leur a affecté des identifiants différents (11340 et 11339). On y voit aussi (entrée 42) une ligne où l adresse interne est la même que l adresse externe : il s agit ici d une connexion initiée par le modem vers le serveur DNS du FAI. En outre, on voit des entrées de type patron («template») où l adresse externe est de la forme 0.0.0.0 (lignes 58) et des entrées de type instance (lignes 47 et 58) où l adresse externe est bien l adresse assignée au routeur. Ces deux types d entrées sont présentes lorsque l on a défini des règles NAT explicites. Les entrées de type instance n expirent pas (pas de temporisation d inactivité). Dans l affichage des tables NAT du modem Alcatel, on constate aussi que le routeur mémorise l adresse distante pour les entrées dynamiques. En plus d être utile pour tracer les connexions sortantes, il y a peut-être d autres justifications pour cette entrée supplémentaire ; ce sera un os à ronger pour la version 2 de ce petit papier. P.S. : Ah oui, j allais oublier le principal : NAT cela veut dire Network Address Translation dans la langue de Shakespeare ou Translation d Réseau dans la langue de Molière.