User Tools

Site Tools


rx:tp1

TP 1 (Configuration d'un Réseau)

Présentation de QemuNet

Vous allez utiliser un environnement virtuel émulant un réseau de machines sous Linux Debian. L’environnement virtuel que nous allons utiliser est QemuNet. L'intérêt principal est que vous disposez d'un compte 'root' (l'administrateur Linux) sur chaque machine virtuelle ou VM, et que vous ne risquez pas de faire de fausse manipulation sur la machine physique.

Afin de vous faciliter l'utilisation de QemuNet au CREMI, vous disposez de scripts pour lancer le réseau virtuel :

/net/ens/qemunet/qemunet.sh -x -s /net/ens/qemunet/demo/lan0.tgz

Voici la configuration réseau utilisée pour le TP1, un réseau local (LAN) interconnecté via le switch Ethernet s1.

                             opeth grave 
                               \   / 
                                [s1]
                               /    \
                             syl immortal

Une fois le script lancé… Pour chaque VM (Virtual Machine sous QEMU), vous disposez uniquement d'un terminal (bash) en mode texte : c'est bien suffisant pour faire tout ce que nous voulons !

Configuration des Interfaces Réseaux avec ifconfig

  1. Une fois que les 4 terminaux des VM sont apparus (Attention, les 4 fenêtres peuvent être empilées) : connectez-vous en tant que root sur immortal (sans password).
  2. Etudiez la commande ifconfig (man ifconfig). Donnez la liste des interfaces réseaux.
  3. On décide de configurer l'interface eth0 de sorte qu'immortal possède l'adresse 172.16.0.1 sur le réseau 172.16.0.0/24. Quelle est la classe de cette adresse ? Quelle est l'adresse du réseau ? Quel est le masque du réseau ? Déduire l'ensemble des adresses IP de ce réseau.
  4. Configurez immortal à l'aide de la commande ifconfig. Configurez de manière analogue les 3 autres machines.
  5. Vérifiez vos configurations à l'aide de la commande ping. Quel est le protocole utilisé par le programme ping ? Mettez le en évidence à l'aide de la commande tcpdump -i eth0 qui permet d'afficher tout le trafic réseau entrant et sortant d'une certaine machine (sur l'interface eth0).
  6. Essayez un ping avec l'adresse de broadcast du réseau. Que se passe-t-il ?
  7. Utilisez cette commande sur tous les postes :echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
  8. Re-essayer un ping avec l'adresse de broadcast du réseau. Que se passe-t-il ?

Utilisation du fichier /etc/network/interfaces

  1. Avec la commande reboot, redémarrez une machine VM. Vérifiez que l'interface eth0 n'est plus correctement configurée.
  2. Le fichier /etc/network/interfaces permet de configurer de manière permanente les différentes interfaces réseaux d'une machine. Remplissez correctement ce fichier pour les différentes machines.
  3. Que signifie la séquence iface eth0 inet static ?
  4. Précisez la signification des mot-clefs suivants : address, netmask, network, broadcast ?
  5. Quel est le rôle du mot-clef 'auto' ? Pour cela vous pouvez consulter le manuel : man interfaces.
  6. Ce fichier est interprété au démarrage de la machine, ou lorsque vous appelez le script /etc/init.d/networking restart. Utilisez la deuxième méthode pour interpréter ce fichier et vérifiez qu'il a bien été pris en compte.
  7. Rebootez la machine virtuelle avec la commande : reboot. Vérifiez à nouveau votre configuration.

Utilisation du fichier /etc/hostname

  1. Le fichier /etc/hostname contient le nom de la machine. Il suffit de le changer et de faire un reboot et la VM aura son nom de modifié.
  2. Sur immortal faites : echo immortal > /etc/hostname puis reboot
  3. Procédez de même avec les 3 autres VM.

Utilisation du fichier /etc/sysctl.conf

  1. Le fichier /etc/sysctl.conf permet de configurer sysctl et en particulier des réglages fins sur ipv4
  2. Pour qu'il y ait une réponse au braodcast sur le ping, il faut ajouter cette ligne en fin de fichier : “net.ipv4.icmp_echo_ignore_broadcasts=0”
  3. Modifiez le fichier et faites un reboot.
  4. Essayez à nouveau un ping avec l'adresse de braodcast.

Bien finir

Pour quitter proprement cet environnement QEMU, vous devez lancer la commande 'poweroff' sur chacune des machines. Faites-le. Pour archiver sa session, il faut sauvegarder le contenu de votre répertoire de session :

cd session
tar cvzf mysession.tgz *

Vous pouvez ensuite déplacer cette archive sur votre $HOME pour une future utilisation. Pour restaurer votre session sauvegardée, il suffit de faire :

/net/ens/qemunet/qemunet.sh -x -s mysession.tgz

Nota Bene

Attention, il n'y a pas d'environnement graphique d'installé, mais vous pouvez utiliser la plupart des éditeurs classiques en mode texte comme emacs, jed, nano, vim.

Quelques raccourcis utiles dans emacs/jed pour vous aider:

  • c-x c-f : open file
  • c-x c-s : save file
  • c-x c-c : exit

Astuce : à l'aide de la touche 'TAB' vous pouvez compléter les noms des commandes et des fichiers.

rx/tp1.txt · Last modified: 2024/03/18 15:06 by 127.0.0.1