====== TP2 (Routage) ====== __Memento__ * Activer le routage sur une machine (ip forward) : ''echo 1 > /proc/sys/net/ipv4/ip_forward'' ou ''sysctl -w net.ipv4.ip_forward=1'' * Afficher la table de routage : ''route -n'' * Définir une route par défaut : ''route add default gw <@gateway>'' * Ajouter une route vers un réseau : ''route add -net <@network> netmask gw <@gateway>'' * Ajouter une route vers une machine particulière : ''route add -host <@host> gw <@gateway>'' * Pour supprimer une règle, il taper la commande ''route del <...>'' avec exactement les mêmes arguments que pour la commande ''add''. __Routage__ Considérons le réseau 147.210.0.0/16 (cf. TP2) avec les configurations suivantes : opeth (eth0,13.1) --- (eth0,13.2) immortal (eth1,12.2) --- | grave (eth1,14.1) | nile (eth0,16.2) --- (eth1,16.1) syl (eth0,14.2) --- Voici un résumé des commandes à taper sur chaque machine pour que toutes communiquent ! opeth$ ifconfig eth0 147.210.13.1/24 opeth$ route add default gw 147.210.13.2 nile$ ifconfig eth0 147.210.16.2/24 nile$ route add default gw 147.210.16.1 immortal$ ifconfig eth0 147.210.13.2/24 immortal$ ifconfig eth1 147.210.12.2/24 immortal$ route add default gw 147.210.12.1 immortal$ echo 1 > /proc/sys/net/ipv4/ip_forward syl$ ifconfig eth0 147.210.14.2/24 syl$ ifconfig eth1 147.210.16.1/24 syl$ route add default gw 147.210.14.1 syl$ echo 1 > /proc/sys/net/ipv4/ip_forward grave$ ifconfig eth0 147.210.12.1/24 grave$ ifconfig eth1 147.210.14.1/24 grave$ route add -net 147.210.13.0/24 gw 147.210.12.2 grave$ route add -net 147.210.16.0/24 gw 147.210.14.2 grave$ echo 1 > /proc/sys/net/ipv4/ip_forward En cas de problème, il faut effectuer un diagnostic avec les commandes //ping// et //tcpdump -i any//. Lorsqu'on indique une //gateway//, il faut que cette machine soit accessible directement via une route locale. __ARP__ Pour afficher le cache ARP, il suffit de taper la commande //arp -n//. __Wireshark__ Pour utiliser Wireshark depuis en exportant une capture depuis la machine virtuelle //immortal// : immortal$ mount /mnt/host -o remount,rw immortal$ tcpdump -i eth0 immortal$ tcpdump -i eth0 -s 1500 -w /mnt/host/capture immortal$ Votre fichier //capture// se trouve dans le répertoire UML-TMP/immortal/ de votre machine hôte. Lancez Wireshark, ouvrez votre capture. Sélectionner la trame TCP qui vous intéresse et cliquez avec le bouton-droit sur "Follow TCP Stream" pour afficher tous les échanges associés à une connexion.