routage M6 module réseaux Mars 2003
Région PACA jupiter.u-3mrs.fr/~ www-cad.cea.fr/
une route utv---uk 1 blackdiamond ( ) 0 ms 1 ms 0 ms 2 c7200 ( ) 1 ms 0 ms 1 ms ( ) 1 ms 1 ms 2 ms 4 routeur-ft-coeur-toulon ( ) 2 ms 1 ms 2 ms 5 routeur-ft-coeur-marseille1 ( ) 2 ms 2 ms 2 ms 6 routeur-ft-coeur-marseille2 ( ) 3 ms 2 ms 2 ms 7 marseille-a0-1-3.cssi.renater.fr ( ) 3 ms 3 ms 3 ms 8 lyon-pos14-0.cssi.renater.fr ( ) 8 ms 9 ms 9 ms 9 nri-b-pos5-0.cssi.renater.fr ( ) 16 ms 17 ms 17 ms 10 renater.fr1.fr.geant.net ( ) 17 ms 17 ms 17 ms 11 fr.uk1.uk.geant.net ( ) 23 ms 23 ms 24 ms 12 janet-gw.uk1.uk.geant.net ( ) 23 ms 24 ms 23 ms 13 lond-scr3.ja.net ( ) 24 ms 23 ms 25 ms 14 po6-0.lond-scr.ja.net ( ) 23 ms 24 ms 23 ms 15 po0-0.cambridge-bar.ja.net ( ) 28 ms 28 ms 28 ms 16 route-enet-3.cam.ac.uk ( ) 28 ms 27 ms 28 ms 17 route-cent-3.cam.ac.uk ( ) 28 ms 28 ms 28 ms 18 aquila.csx.cam.ac.uk ( ) 28 ms 28 ms 28 ms
routage Les réseaux sont reliés entre eux par des routeurs caractérisés par plusieurs interfaces. Les routeurs disposent de plusieurs adresses ip et plusieurs adresses physiques : 1 adresse physique par interface 1 adresse ip par réseau. Ils sont chargés de lacheminement des paquets ip.
table de routage Les routeurs décident de la route à faire suivre aux paquets ip par consultation dune table de routage. La maintenance des tables de routages est une opération fondamentale. Elle peut être manuelle, statique ou dynamique.
datagramme IP longueurV identification checksum tos offset TTLproto. adresse IP source adresse IP destination options L données MD0
RA RB table de routage de RB destinationrouteur table de routage réseauinterface eth eth1
méthode de routage extraire adresse IP destinataire adresse locale le paquet est arrivé destination accessible utiliser la table de routage pour déterminer le prochain routeur déterminer adresse physique et transmettre sur linterface adéquat
route par défaut La classe dune adresse IP permet de déterminer la partie réseau dune adresse De la table de routage on peut déduire trois types de routes : une route explicite vers lhôte une route vers un réseau une route par défaut Cl.minmaxtaille A01271 B C hôtes et routeurs utilisent la même méthode de routage.
fichiers et commandes /etc/networks : nom de réseau route : manipulation des tables de routage ifconfig : configuration des interfaces netstat : état des connexions réseaux iptables: manipulation des adresses filtrage des paquets
un exemple pratique internet modem interfaces : l0 et eth0
% ifconfig eth0 eth0 Lien encap:Ethernet HWaddr 00:60:97:71:69:A4 inet adr: Bcast: Masque: UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Paquets Reçus:0 erreurs:0 jetés:0 débordements:0 trames:0 Paquets transmis:0 erreurs:0 jetés:0 débordements:0 carrier:0 collisions:0 lg file transmission:100 Interruption:5 Adresse de base:0x280 Canal DMA:3 % route Table de routage IP du noyau Destination Passerelle Genmask Indic Metric Ref Use Iface * U eth * U lo
exemple pratique (suite) internet modem interfaces : l0 et eth0 ppp0
% ifconfig ppp0 ppp0 Lien encap:Protocole Point-à-Point inet adr: P-t-P: Masque: UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 Paquets Reçus:20 erreurs:0 jetés:0 débordements:0 trames:0 Paquets transmis:21 erreurs:0 jetés:0 débordements:0 carrier:0 collisions:0 lg file transmission:3 % route Table de routage IP du noyau Destination Passerelle Genmask Indic Metric Ref Use Iface * UH ppp * U eth * U lo default UG ppp0 % ping rhodes.univ-tln.fr PING rhodes.univ-tln.fr ( ) from : 56(84) bytes of data. From : Packet filtered
internet modem Il faut autoriser le transfert des paquets entre les interfaces ppp0 et eth0
routage niveau hôte ROUTAGE PROCESSUS PRE-ROUTAGE POST-ROUTAGE TRANSFERT ROUTAGE ENTREE SORTIE
chaines de filtrage INPUT OUTPUT FORWARD Un ensemble de règles pour filtrer les paquets
chaines de translation PREROUTING POSTEROUTING OUTPUT Un ensemble de règles pour « changer » les adresses ip source et destination
@ TRANSLATION La connexion du réseau privé au réseau public est réalisée grâce aux translations dadresses socket sourceport socket destin. passerelle
NAT La translation de source permet aux hôtes du réseau privé de sortir vers lextérieur. La translation dadresse de destination permet aux hôtes Internet de rentrer dans le réseau privé.
$ /sbin/ipchains -A forward -s /24 -j MASQ % route Table de routage IP du noyau Destination Passerelle Genmask Indic Metric Ref Use Iface * U vmnet * U eth * U lo default UG eth0 $ netstat -M Entrées IP Masquerade prot expire source destination ports icmp 0: rhodes.univ-tln.fr > 2048 (*) % route add default gw % ping rhodes PING rhodes.univ-tln.fr ( ) from : 56(84) bytes of data. From : Packet filtered
iptables $ iptables –F vider les chaines $ iptables –X destruction des chaines utilisateurs $ iptables –t nat –F idem $ iptables –t nat –X toutes les chaines sont vides avec la règle ACCEPT $ iptables –t nat –A POSTROUTING –s /24 –o ppp0 –j MASQUERADE $echo 1 > /proc/sys/net/ipv4/ip_forward la route vers internet est ouverte
sécurité Dans létat le réseau local est ouvert sur Internet, niveau sécurité faible. Iptables permet de construire des règles de filtrages limiter les accès et augmenter la sécurité.
on ferme toutes les portes $iptables –F vider les chaines $iptables –X suppimer les chaines $iptables –P INPUT DROP $iptables –P OUTPUT DROP $iptables –P FORWARD DROP plus rien ne passe !
$iptables –t nat –F vider les chaines $iptables –t nat –X suppimer les chaines $iptables -t nat -P PREROUTING ACCEPT $iptables –t nat –P POSTROUTING ACCEPT $iptables –t nat –P OUTPUT ACCEPT À ce stade, rien ne passe.
Il faut ouvrir quelques portes $iptables –A INPUT –i lo –j ACCEPT $iptables –A OUTPUT –o lo –j ACCEPT idem avec eth ? $iptables –A INPUT –i etho –j ACCEPT $iptables –A OUTPUT –o etho –j ACCEPT Le réseau local est toujours coupé du monde car la chaîne FORWARD ne laisse rien passer.
masquage $iptables -t nat -A POSTROUTING –s /24 –o ppp0 -j MASQUERADE À ce stade, rien ne passe. $iptables –A FORWARD –i etho –o ppp0 -m state –state NEW, ESTABLISHED, RELATED –j ACCEPT $iptables –A FORWARD –i ppp0 –o etho -m state –state ESTABLISHED, RELATED –j ACCEPT
protocoles de routage table de routage de destinationrouteur
protocoles de routage
routage interne
routage externe