routage ssi-4 réseaux Octobre 2005
sea me
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
traceroute to mail.univ-tln.fr ( ) ( ) ms ms ms ( ) ms ms ms ( ) ms ms ms 4 montpellier-6k-1-v802.intf.routers.proxad.net ( ) ms ms ms 5 toulouse-6k-1-v800.intf.routers.proxad.net ( ) ms ms ms 6 bordeaux-6k-1-v804.intf.routers.proxad.net ( ) ms ms ms 7 * cbv-6k-2-v824.intf.routers.proxad.net ( ) ms * 8 th2-6k-2-po8.intf.routers.proxad.net ( ) ms * ms 9 p19-6k-2-po4.intf.routers.proxad.net ( ) ms ms ms 10 aub-6k-1-v806.routers.proxad.net ( ) ms ms ms 11 renater.sfinx.tm.fr ( ) ms ms ms 12 nri-a-gi cssi.renater.fr ( ) ms ms ms 13 lyon-pos9-0.cssi.renater.fr ( ) ms ms ms 14 montpellier-pos1-0.cssi.renater.fr ( ) ms ms ms 15 marseille-pos1-0.cssi.renater.fr ( ) ms ms ms 16 rrthd-marseille.cssi.renater.fr ( ) ms ms ms ( ) ms ms ms ( ) ms ms ms ( ) ms ms ms ( ) ms ms ms 21 * * * 22 mail.univ-tln.fr ( ) ms ms 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 destinationpasserelle table de routage réseauinterface eth eth1 eth0 eth2 eth1 eth0 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 oui non
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/sysconfig/network : /etc/hosts : alias /etc/resolv.conf : résolution des noms /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 ! echo 1 > /proc/sys/net/ipv4/ipforward
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
adresse complète adresse ip + numéro de port
masque ip source ps ip destin.port pxy ip routeur numadresse ipport … pxyip sourcePs...
@ 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 dadresse 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 !
routage niveau hôte ROUTAGE PROCESSUS PRE-ROUTAGE POST-ROUTAGE TRANSFERT ROUTAGE ENTREE SORTIE drop
$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.
rien ne passe… ROUTAGE PROCESSUS PRE-ROUTAGE POST-ROUTAGE TRANSFERT ROUTAGE ENTREE SORTIE drop accept
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.
rien ne passe… ROUTAGE PROCESSUS PRE-ROUTAGE POST-ROUTAGE TRANSFERT ROUTAGE ENTREE SORTIE drop accept accept (nat) lo, etho : accept
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
transfert et masquarade ROUTAGE PROCESSUS PRE-ROUTAGE POST-ROUTAGE TRANSFERT ROUTAGE ENTREE SORTIE drop accept l0, eth0 : accept eth0 :: ppp0 masqué eth0 :: ppp0 autorisé
nombreuses possibilités Seuls les tranferts eth0::ppp0 sont autorisés… Un serveur de nom local ne pourrait pas faire des requêtes vers lextérieur (output drop). $iptables –A OUTPUT –o ppp0 –p udp –sport 1024: -d port 53 -m state –state ! INVALIDE –j ACCEPT $iptables –A INPUT –i ppp0 –o etho -m state –state RELATED –j ACCEPT
Exemple de routage table de routage de destinationrouteur
table de routage destinationmasquepasserelleinterface
table de routage destinationmasquepasserelleinterface ok ok/ko ko ko ok ko ok
alpha.fr beta.fr mapix dns routeur routeur zoe r # /etc/resolv.conf nameserver search alpha.fr
alpha.fr beta.fr mapix dns routeur routeur zoe arp who has arp reply dns query arp who has arp reply dns query arp who has gateway arp reply dns reply 1H cname mail.beta.fr zoe.beta.fr A mail.beta.fr A dns reply http query dns query dns reply http query beta.fr 10d ns zoe.beta.fr zoe 5h