routage ssi-4 réseaux 2003 -- 2004 octobre 2005
TRANSCRIPT
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/ 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 ms10 renater.fr1.fr.geant.net (62.40.103.53) 17 ms 17 ms 17 ms11 fr.uk1.uk.geant.net (62.40.96.90) 23 ms 23 ms 24 ms12 janet-gw.uk1.uk.geant.net (62.40.103.150) 23 ms 24 ms 23 ms13 lond-scr3.ja.net (146.97.37.81) 24 ms 23 ms 25 ms14 po6-0.lond-scr.ja.net (146.97.33.9) 23 ms 24 ms 23 ms15 po0-0.cambridge-bar.ja.net (146.97.35.10) 28 ms 28 ms 28 ms16 route-enet-3.cam.ac.uk (146.97.40.50) 28 ms 27 ms 28 ms17 route-cent-3.cam.ac.uk (192.153.213.194) 28 ms 28 ms 28 ms18 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 ms10 aub-6k-1-v806.routers.proxad.net (212.27.50.162) 51.600 ms 54.496 ms 52.811 ms11 renater.sfinx.tm.fr (194.68.129.102) 46.791 ms 46.662 ms 47.172 ms12 nri-a-gi1-0-0-11.cssi.renater.fr (193.51.179.1) 61.269 ms 60.707 ms 60.694 ms13 lyon-pos9-0.cssi.renater.fr (193.51.179.130) 60.850 ms 60.948 ms 60.688 ms14 montpellier-pos1-0.cssi.renater.fr (193.51.179.226) 63.531 ms 61.189 ms 61.145 ms15 marseille-pos1-0.cssi.renater.fr (193.51.179.241) 61.019 ms 60.300 ms 60.487 ms16 rrthd-marseille.cssi.renater.fr (193.51.181.21) 60.673 ms 60.766 ms 69.118 ms17 194.214.68.1 (194.214.68.1) 60.868 ms 61.110 ms 60.950 ms18 194.214.68.18 (194.214.68.18) 65.576 ms 65.750 ms 65.142 ms19 194.214.246.34 (194.214.246.34) 63.910 ms 111.541 ms 71.580 ms20 194.214.66.29 (194.214.66.29) 111.562 ms 67.005 ms 108.955 ms21 * * *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.
datagramme IP
@destination @source IP0800 CRC
longueurV
identification
checksum
tos
offset
TTL proto.
adresse IP source
adresse IP destination
options
L
données
M D0
112.23.0.0
12.1.0.0 132.12.0.0
21.64.0.0
12.1.9.18
21.1.7.12
21.128.0.0RA
RB
112.23.1.1
21.1.1.2
12.1.0.1
112.23.1.2
table de routage de RB
destination passerelle
21.0.0.0 112.23.1.1
0.0.0.0 12.1.1.1
21.64.7.12
table de routage
réseau interface
21.128.0.0 eth0
21.64.0.0 eth1
eth0
eth2
eth1
eth0
eth1
méthode de routage
extraire adresseIP destinataire
adresselocale
le paquet est arrivé
destinationaccessible
utiliser la tablede routage pourdéterminer le
prochain routeur déterminer adresse physique et transmettre surl’interface adéquat
oui oui
nonnon
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
Cl. min max taille
A 0 127 1
B 128 191 2
C 192 223 3
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
internetinternetmodem
interfaces :l0 et eth0
% ifconfig eth0eth0 Lien encap:Ethernet HWaddr 00:60:97:71:69:A4inet adr:10.1.65.2 Bcast:10.1.255.255 Masque:255.255.0.0UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1Paquets Reçus:0 erreurs:0 jetés:0 débordements:0 trames:0Paquets transmis:0 erreurs:0 jetés:0 débordements:0 carrier:0collisions:0 lg file transmission:100 Interruption:5 Adresse de base:0x280 Canal DMA:3 % routeTable de routage IP du noyauDestination Passerelle Genmask Indic Metric Ref Use Iface10.1.0.0 * 255.255.0.0 U 0 0 0 eth0127.0.0.0 * 255.0.0.0 U 0 0 0 lo
exemple pratique (suite)
internetinternetmodem
interfaces :l0 et eth0
ppp0
% ifconfig ppp0ppp0 Lien encap:Protocole Point-à-Pointinet adr:62.147.79.194 P-t-P:192.168.254.254 Masque:255.255.255.255UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1Paquets Reçus:20 erreurs:0 jetés:0 débordements:0 trames:0Paquets transmis:21 erreurs:0 jetés:0 débordements:0 carrier:0collisions:0 lg file transmission:3
% routeTable de routage IP du noyauDestination Passerelle Genmask Indic Metric Ref Use Iface192.168.254.254 * 255.255.255.255 UH 0 0 0 ppp010.1.0.0 * 255.255.0.0 U 0 0 0 eth0127.0.0.0 * 255.0.0.0 U 0 0 0 lodefault 192.168.254.254 0.0.0.0 UG 0 0 0 ppp0
% ping rhodes.univ-tln.frPING 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
internetinternetmodem
10.1.0.0
10.1.65.2
10.1.65.1
62.147.79.194
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-ROUTAGETRANSFERT
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 destin. port
@ routeur
num adresse ip port
…
pxy ip source Ps
...
@ TRANSLATION
La connexion du réseau privé au réseau public est réalisée grâce aux translations d’adresses
socket source port
portsocket destin.
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
% routeTable de routage IP du noyauDestination Passerelle Genmask Indic Metric Ref Use Iface172.16.173.0 * 255.255.255.0 U 0 0 0 vmnet110.1.0.0 * 255.255.0.0 U 0 0 0 eth0127.0.0.0 * 255.0.0.0 U 0 0 0 lodefault 10.1.65.2 0.0.0.0 UG 0 0 0 eth0
$ netstat -MEntrées IP Masqueradeprot expire source destination portsicmp 0:29.44 10.1.74.93 rhodes.univ-tln.fr 7174 -> 2048 (*)
% route add default gw 10.1.65.2
% 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
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 INPUT DROP
$iptables –P OUTPUT DROP
$iptables –P FORWARD DROP
plus rien ne passe !
routage niveau hôte
ROUTAGE
PROCESSUS
PRE-ROUTAGE POST-ROUTAGETRANSFERT
ROUTAGE
ENTREE SORTIE
drop 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 POSTROUTING ACCEPT
$iptables –t nat –P OUTPUT ACCEPT
À ce stade, rien ne passe.
rien ne passe…
ROUTAGE
PROCESSUS
PRE-ROUTAGE POST-ROUTAGETRANSFERT
ROUTAGE
ENTREE SORTIE
drop drop
drop
accept accept
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-ROUTAGETRANSFERT
ROUTAGE
ENTREE SORTIE
drop drop
drop
accept accept
accept (nat)
lo, etho : accept 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
ROUTAGE
PROCESSUS
PRE-ROUTAGE POST-ROUTAGETRANSFERT
ROUTAGE
ENTREE SORTIE
drop drop
drop
accept accept
accept
l0, eth0 : accept l0, eth0: accept
eth0 :: ppp0masqué
eth0 :: ppp0autorisé
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 –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
destination routeur
table de routagedestination masque passerelle interface
10.1.90.1 255.255.255.255 10.1.50.9 10.1.50.1
10.1.40.0 255.255.255.0 10.1.40.2 10.1.40.1
10.1.50.0 255.255.255.0 10.1.50.1 10.1.50.1
10.1.60.0 255.255.255.0 10.1.60.1 10.1.40.1
10.1.70.0 255.255.255.0 10.1.40.8 10.1.40.1
10.1.80.1 255.255.255.0 10.1.50.9 10.1.50.1
0.0.0.0 0.0.0.0 127.0.0.1 127.0.0.1
table de routagedestination masque passerelle interface
10.1.90.1 255.255.255.255 10.1.50.9 10.1.50.1 ok
10.1.40.0 255.255.255.0 10.1.40.2 10.1.40.1 ok/ko
10.1.50.0 255.255.255.0 10.1.50.1 10.1.50.1 ko
10.1.60.0 255.255.255.0 10.1.60.1 10.1.40.1 ko
10.1.70.0 255.255.255.0 10.1.40.8 10.1.40.1 ok
10.1.80.1 255.255.255.0 10.1.50.9 10.1.50.1 ko
0.0.0.0 0.0.0.0 127.0.0.1 127.0.0.1 ok
alpha.fr10.1.0.0
beta.fr194.124.1.0
mapix10.1.0.3dns
10.1.0.1
routeur10.1.0.2
routeur194.124.1.2
zoe194.24.1.1
http://www.beta.fr
# /etc/resolv.confnameserver 10.1.0.1search alpha.fr
alpha.fr10.1.0.0
beta.fr194.124.1.0
mapix10.1.0.3dns
10.1.0.1
routeur10.1.0.2
routeur194.124.1.2
zoe194.24.1.1
arp who has10.1.0.1arp reply dns querywww.beta.fr
arp who has10.1.0.2
arp reply
dns querywww.beta.fr
arp who hasgateway
arp reply
dns reply
www.beta.fr. 1H cname mail.beta.fr zoe.beta.fr A 194.24.1.2mail.beta.fr A 194.24.1.3
dns reply
http querywww.beta.fr
dns querywww.beta.frdns replyhttp query
www.beta.fr
beta.fr 10d ns zoe.beta.frzoe 5h 194.124.2