480 likes | 716 Views
routage. ssi-4 réseaux 2003 -- 2004 Octobre 2005. sea me. Région PACA. www.up.univ-mrs.fr/ www.mediterranee.univ-mrs.fr/ jupiter.u-3mrs.fr/~ www.univ-avignon.fr/ www.unice.fr/ www.univ-tln.fr/ www.dr20.cnrs.fr/ www.inria.fr/Unites/SOPHIA-fra.html www-cad.cea.fr/
E N D
routage ssi-4 réseaux 2003 -- 2004 Octobre 2005
Région PACA • www.up.univ-mrs.fr/ • www.mediterranee.univ-mrs.fr/ • jupiter.u-3mrs.fr/~ • www.univ-avignon.fr/ • www.unice.fr/ • www.univ-tln.fr/ • www.dr20.cnrs.fr/ • www.inria.fr/Unites/SOPHIA-fra.html • www-cad.cea.fr/ • www.obs-hp.fr/ • www.aix-mrs.iufm.fr/ • www.iufm.unice.fr/ • www.ac-aix-marseille.fr/ • www.ac-nice.fr/
une route utv---uk 1 blackdiamond (10.1.1.1) 0 ms 1 ms 0 ms 2 c7200 (192.168.6.2) 1 ms 0 ms 1 ms 3 194.214.66.30 (194.214.66.30) 1 ms 1 ms 2 ms 4 routeur-ft-coeur-toulon (194.214.246.33) 2 ms 1 ms 2 ms 5 routeur-ft-coeur-marseille1 (194.214.68.17) 2 ms 2 ms 2 ms 6 routeur-ft-coeur-marseille2 (194.214.68.2) 3 ms 2 ms 2 ms 7 marseille-a0-1-3.cssi.renater.fr (193.51.181.22) 3 ms 3 ms 3 ms 8 lyon-pos14-0.cssi.renater.fr (193.51.179.221) 8 ms 9 ms 9 ms 9 nri-b-pos5-0.cssi.renater.fr (193.51.179.129) 16 ms 17 ms 17 ms 10 renater.fr1.fr.geant.net (62.40.103.53) 17 ms 17 ms 17 ms 11 fr.uk1.uk.geant.net (62.40.96.90) 23 ms 23 ms 24 ms 12 janet-gw.uk1.uk.geant.net (62.40.103.150) 23 ms 24 ms 23 ms 13 lond-scr3.ja.net (146.97.37.81) 24 ms 23 ms 25 ms 14 po6-0.lond-scr.ja.net (146.97.33.9) 23 ms 24 ms 23 ms 15 po0-0.cambridge-bar.ja.net (146.97.35.10) 28 ms 28 ms 28 ms 16 route-enet-3.cam.ac.uk (146.97.40.50) 28 ms 27 ms 28 ms 17 route-cent-3.cam.ac.uk (192.153.213.194) 28 ms 28 ms 28 ms 18 aquila.csx.cam.ac.uk (131.111.8.74) 28 ms 28 ms 28 ms
traceroute to mail.univ-tln.fr (193.49.96.2) 1 192.168.0.254 (192.168.0.254) 0.699 ms 0.678 ms 2.517 ms 2 82.244.173.254 (82.244.173.254) 26.413 ms 26.287 ms 26.489 ms 3 213.228.20.254 (213.228.20.254) 28.132 ms 27.812 ms 28.173 ms 4 montpellier-6k-1-v802.intf.routers.proxad.net (212.27.50.93) 30.185 ms 30.371 ms 30.380 ms 5 toulouse-6k-1-v800.intf.routers.proxad.net (212.27.50.89) 34.353 ms 34.175 ms 34.316 ms 6 bordeaux-6k-1-v804.intf.routers.proxad.net (212.27.50.85) 38.003 ms 37.836 ms 37.605 ms 7 * cbv-6k-2-v824.intf.routers.proxad.net (212.27.51.57) 45.909 ms * 8 th2-6k-2-po8.intf.routers.proxad.net (212.27.50.25) 46.334 ms * 46.662 ms 9 p19-6k-2-po4.intf.routers.proxad.net (212.27.50.14) 46.139 ms 46.951 ms 46.414 ms 10 aub-6k-1-v806.routers.proxad.net (212.27.50.162) 51.600 ms 54.496 ms 52.811 ms 11 renater.sfinx.tm.fr (194.68.129.102) 46.791 ms 46.662 ms 47.172 ms 12 nri-a-gi1-0-0-11.cssi.renater.fr (193.51.179.1) 61.269 ms 60.707 ms 60.694 ms 13 lyon-pos9-0.cssi.renater.fr (193.51.179.130) 60.850 ms 60.948 ms 60.688 ms 14 montpellier-pos1-0.cssi.renater.fr (193.51.179.226) 63.531 ms 61.189 ms 61.145 ms 15 marseille-pos1-0.cssi.renater.fr (193.51.179.241) 61.019 ms 60.300 ms 60.487 ms 16 rrthd-marseille.cssi.renater.fr (193.51.181.21) 60.673 ms 60.766 ms 69.118 ms 17 194.214.68.1 (194.214.68.1) 60.868 ms 61.110 ms 60.950 ms 18 194.214.68.18 (194.214.68.18) 65.576 ms 65.750 ms 65.142 ms 19 194.214.246.34 (194.214.246.34) 63.910 ms 111.541 ms 71.580 ms 20 194.214.66.29 (194.214.66.29) 111.562 ms 67.005 ms 108.955 ms 21 * * * 22 mail.univ-tln.fr (193.49.96.2) 66.451 ms 65.709 ms 65.998 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 l’acheminement des paquets ip.
table de routage • Les routeurs décident de la route à faire suivre aux paquets ip par consultation d’une table de routage. • La maintenance des tables de routages est une opération fondamentale. Elle peut être manuelle, statique ou dynamique.
V L tos longueur identification M D0 offset TTL proto. checksum adresse IP source adresse IP destination options données datagramme IP @destination @source 0800 IP CRC
21.1.1.2 21.64.0.0 21.128.0.0 eth0 RA eth1 112.23.1.1 21.1.7.12 112.23.0.0 12.1.9.18 21.64.7.12 12.1.0.0 132.12.0.0 112.23.1.2 eth2 eth0 RB 12.1.0.1 eth1
méthode de routage extraire adresse IP destinataire destination accessible adresse locale non non utiliser la tablede routage pour déterminer le prochain routeur oui oui déterminer adresse physique et transmettre sur l’interface adéquat le paquet est arrivé
route par défaut • La classe d’une adresse IP permet de déterminer la partie réseau d’une adresse • De la table de routage on peut déduire trois types de routes : • une route explicite vers l’hôte • une route vers un réseau • une route par défaut hôtes et routeursutilisent 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 modem internet interfaces : l0 et eth0
% ifconfig eth0 eth0 Lien encap:Ethernet HWaddr 00:60:97:71:69:A4 inet adr:10.1.65.2 Bcast:10.1.255.255 Masque:255.255.0.0 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 10.1.0.0 * 255.255.0.0 U 0 0 0 eth0 127.0.0.0 * 255.0.0.0 U 0 0 0 lo
exemple pratique (suite) modem internet interfaces : l0 et eth0ppp0
% ifconfig ppp0 ppp0 Lien encap:Protocole Point-à-Point inet adr:62.147.79.194 P-t-P:192.168.254.254 Masque:255.255.255.255 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 192.168.254.254 * 255.255.255.255 UH 0 0 0 ppp0 10.1.0.0 * 255.255.0.0 U 0 0 0 eth0 127.0.0.0 * 255.0.0.0 U 0 0 0 lo default 192.168.254.254 0.0.0.0 UG 0 0 0 ppp0 % ping rhodes.univ-tln.fr PING rhodes.univ-tln.fr (193.49.96.1) from 62.147.79.194 : 56(84) bytes of data. From 194.214.66.29: Packet filtered
echo 1 > /proc/sys/net/ipv4/ipforward 62.147.79.194 Il faut autoriser le transfert des paquets entre les interfaces ppp0 et eth0 ! 10.1.65.2 10.1.0.0 modem internet 10.1.65.1
routage niveau hôte ROUTAGE ROUTAGE POST-ROUTAGE PRE-ROUTAGE TRANSFERT PROCESSUS ENTREE SORTIE
chaines de filtrage INPUT Un ensemble de règles pour filtrer les paquets OUTPUT FORWARD
chaines de translation PREROUTING Un ensemble de règles pour« changer » les adresses ip source et destination POSTEROUTING OUTPUT
adresse complète adresse ip + numéro de port
ps pxy @ routeur ip destin. ip destin. port port masque ip source
@ TRANSLATION La connexion du réseau privé au réseau public est réalisée grâce aux translations d’adresses socket source port socket destin. port passerelle
NAT La translation d’adresse de source permet aux hôtes du réseau privé de sortir vers l’extérieur. La translation d’adresse de destination permet aux hôtes Internet de rentrer dans le réseau privé.
$ /sbin/ipchains -A forward -s 10.1.74.0/24 -j MASQ % route add default gw 10.1.65.2 % route Table de routage IP du noyau Destination Passerelle Genmask Indic Metric Ref Use Iface 172.16.173.0 * 255.255.255.0 U 0 0 0 vmnet1 10.1.0.0 * 255.255.0.0 U 0 0 0 eth0 127.0.0.0 * 255.0.0.0 U 0 0 0 lo default 10.1.65.2 0.0.0.0 UG 0 0 0 eth0 % ping rhodes PING rhodes.univ-tln.fr (193.49.96.1) from 62.147.79.194 : 56(84) bytes of data. From 194.214.66.29: Packet filtered $ netstat -M Entrées IP Masquerade prot expire source destination ports icmp 0:29.44 10.1.74.93 rhodes.univ-tln.fr 7174 -> 2048 (*)
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 10.1.65.0/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 INPUTDROP $iptables –P OUTPUTDROP $iptables –P FORWARDDROP plus rien ne passe !
routage niveau hôte drop ROUTAGE ROUTAGE POST-ROUTAGE PRE-ROUTAGE TRANSFERT PROCESSUS ENTREE SORTIE drop 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 POSTROUTINGACCEPT $iptables –t nat –P OUTPUTACCEPT À ce stade, rien ne passe.
rien ne passe… ROUTAGE ROUTAGE accept accept POST-ROUTAGE PRE-ROUTAGE TRANSFERT drop PROCESSUS accept ENTREE SORTIE drop drop
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 ROUTAGE accept accept POST-ROUTAGE PRE-ROUTAGE TRANSFERT drop PROCESSUS accept (nat) ENTREE SORTIE lo, etho : accept drop drop lo, etho : accept
masquage $iptables -t nat -A POSTROUTING –s 10.1.65.0/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 eth0 :: ppp0 masqué ROUTAGE ROUTAGE eth0 :: ppp0 autorisé accept accept POST-ROUTAGE PRE-ROUTAGE TRANSFERT drop PROCESSUS accept ENTREE SORTIE l0, eth0 : accept drop drop l0, eth0: accept
nombreuses possibilités Seuls les tranferts eth0::ppp0 sont autorisés… Un serveur de nom local ne pourrait pas faire des requêtes vers l’extérieur (output drop). $iptables –A OUTPUT –oppp0 –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
# /etc/resolv.conf nameserver 10.1.0.1 search alpha.fr http://www.beta.fr alpha.fr10.1.0.0 zoe194.24.1.1 mapix10.1.0.3 dns10.1.0.1 beta.fr194.124.1.0 routeur10.1.0.2 routeur194.124.1.2
beta.fr 10d ns zoe.beta.frzoe 5h 194.124.2 www.beta.fr. 1H cname mail.beta.fr zoe.beta.fr A 194.24.1.2 mail.beta.fr A 194.24.1.3 alpha.fr10.1.0.0 dns reply arp who has10.1.0.1 arp reply arp who has10.1.0.2 dns querywww.beta.fr dns query www.beta.fr http querywww.beta.fr zoe194.24.1.1 mapix10.1.0.3 dns reply arp reply dns10.1.0.1 arp who hasgateway dns query www.beta.fr dns reply beta.fr194.124.1.0 http querywww.beta.fr routeur10.1.0.2 arp reply routeur194.124.1.2