Université Mohammed Premier
Faculté des sciences
Département Informatique
Oujda
Filière SMI (S5)
Les Réseaux
TP 1 : Introduction à NetKit
Définition : Netkit est un projet Open-Source permettant de simuler des réseaux informatiques.
1. Installation :
Chercher les trois fichiers d’installation ou bien (Télécharger les trois fichiers du site [Link] :
1. [Link].bz2
2. [Link].bz2
3. [Link].bz2
Dans un répertoire de votre choix, décompresser les trois fichiers.
• tar xjf [Link].bz2
• tar xjf [Link].bz2 (taille > 1Go)
• tar xjf [Link].bz2
2. Configuration :
Configurer votre shell pour les trois variables d'environnement :
1. NETKIT_HOME : contient le répertoire où est installé NetKit.
2. « $NETKIT_HOME/bin » doit être ajoutée au chemin « PATH »
3. « $NETKIT_HOME/man » doit être ajoutée à « MANPATH »
Exemple :
export NETKIT_HOME=~/netkit
export MANPATH=:$NETKIT_HOME/man
export PATH=$NETKIT_HOME/bin:$PATH
Remarque :
• Vous pouvez mettre ces trois lignes dans le fichier « .bashrc » qui se trouve dans votre dossier personnel.
3. Vérification de l’installation
• Pour vérifier l'installation, entrez dans le répertoire de NetKit : cd $NETKIT_HOME
• puis exécuter le script check_configuration.sh de la façon suivante : ./check_configuration.sh
• Si tous se passe bien, vous pouvez utiliser NetKit!!!!!!!!
1/5
4. Utilisation de NetKit :
Netkit propose les commandes suivantes : vstart, vlist et vhalt.
✓ vstart
Permet de lancer une machine virtuelle. Sa syntaxe est : vstart [options] NomMachine
Exemple (pour Lancer la machine virtuelle pc1 dans un terminal (figure 1) :
vstart pc1
Figure 1: machine virtuelle pc1.
Les options les plus utilisées sont :
• --ethN=nom du HUB connecté, une machine peut posséder plusieurs interfaces réseau.
• -M taille de la mémoire en Mo, allouée à la machine virtuelle.
Permet d'afficher la liste des machines virtuelles lancées.
vlist
Permet d'arrêter, de façon normale, une machine virtuelle depuis la machine réelle (on
vhalt peut aussi utiliser la commande halt depuis la machine virtuelle)
Cause l'arrêt de façon brusque d'une machine virtuelle (arrêt anormal).
vcrash
Permet d'effacer les processus NetKit et de rétablir les paramètres de configuration de la
vclean machine réelle. A utiliser en cas d'arrêt anormal d'une machine virtuelle.
Remarque : A chaque machine virtuelle est associée une image disque (nom de la machine virtuelle suivi de
l'extension .disk) et un fichier de messages (nom de la machine virtuelle suivi de l'extension .log).
Exemple : vstart pc1 => création des fichiers « [Link] » et « [Link] ».
2/5
5. Utilisation de vstart, vlist et vhalt :
1. Lancer les deux machines pc1 et pc2, suivantes (figure 2) à l’aide de la commande vstart,
2. Lister les machines lancées
3. Arrêter les deux machines, pc1 avec vhalt et pc2 avec halt.
6. Accès à la machine réelle :
Le répertoire « /hosthome » à l'intérieure de la machine virtuelle pointe directement vers le dossier personnel
de l'utilisateur sur la machine réelle.
7. NetKit lab :
Pour démarrer plusieurs machines virtuelles, on peut appeler autant de fois la commande vstart, ce qui est
pénible, surtout si les machines virtuelles ont besoin d'une configuration automatique.
Pour démarrer plusieurs machines virtuelles pré-configurées, il est recommandé d'utiliser « netkit lab », qui
est un ensemble de machines virtuelles pré-configurées qui peuvent être démarrées et arrêtées en même
temps.
Un « netkit lab » est un répertoire contenant :
➢ un fichier « [Link] » décrivant la topologie du réseau.
➢ un ensemble de sous répertoires contenants les paramètres de configuration pour chaque machine
virtuelle.
➢ des fichiers « .startup » et « .shutdown » qui décrivent les actions à faire par les machines virtuelles
quand elles sont démarrées et arrétées.
7.1. [Link] :
Ce fichier décrit la configuration des MVs ainsi que la topologie du réseau qui connecte les MVs du lab.
Il contient une liste de déclarations de type : machine[arg]=valeur
• machine est le nom de la MV (par exemple, pc1)
• si arg est un entier (par exemple 0), alors valeur est le nom du domaine auquel l'interface « eth0 » doit
être attaché.
• si arg est une chaine de caractères, il doit être le nom d'une option de vstart et valeur est l'argument
(si elle existe) de cette option.
Exemple :
Pour démarrer trois MVs avec la configuration suivante :
pc1[0] = A
pc2[0] = A
pc2[1] = B
pc2[mem] = 256
pc3[0] = B
Figure 3: Exemple de [Link]
• pc1 est équipé d'une carte réseau,
• pc2 de deux cartes réseau et de 256MB de mémoire (virtuelle).
3/5
• pc3 d'une carte réseau.
Il faut créer un dossier, par exemple TP_netkit, contenant les trois dossiers : pc1, pc2 et pc3.
Netkit démarre une machine virtuelle pour chaque sous-répertoire, avec le même nom que le sous-répertoire.
Les contenus des sous-répertoires sont copiés dans la racine (/) des MVs.
Par exemple, pc1/Test/[Link] sera copié dans /Test/[Link] à l'intérieure de la MV pc1. Ceci est se fait dans
le premier démarrage de la MV. Pour forcer la copie, le fichier « .disk » doit être supprimé.
7.2. Dossier shared
Le contenu du dossier « shared » est copié à l'intérieur de toutes les machines virtuelles. En cas de conflit, les
fichiers de ce dossier seront écrasés par ceux de la machine virtuelle.
7.3. Fichiers « .startup » et « .shutdown » :
Ce sont des scripts shell qui disent aux MVs ce qu'il faut faire au démarrage et à l'arrêt. Ils sont exécutés à
l'intérieure des MVs.
Les fichiers « [Link] » et « [Link] » affectent toutes les MVs.
Au démarrage, la MV nommé pc exécute les deux scripts :
• [Link]
• [Link]
A l'arrêt, la MV nommé pc exécute les deux scripts :
• [Link]
• [Link]
Un exemple typique d'utilisation du fichier « .startup » est la configuration du réseau et/ou le démarrage d'un
service.
Exemple d'un fichier « [Link] » :
Ifconfig eth0 [Link] up
Configuration du réseau
/etc/init.d/telnet start
Démarrage du service telnet
7.4. Résultat final
La figure 5, montre la structure finale du dossier « TP_netkit ».
4/5
Commandes d’arrêt et démarrage d'un lab :
lstart Pour démarrer un lab, il faut entrer dans le dossier du lab et exécuter la commande :.
L'option « -f » permet de démarrer les différentes MVs en même temps (en parallèle
lhalt permet d'arrêter les machines de façon normale
lcrash permet d'arrêter les machines de façon anormale (crash).
lclean permet d'effacer les fichiers temporaires ainsi les fichiers « .disk ». N'utilisez pas cette commande si
vous avez réalisé des configurations dans les MVs et que vous voulez les utiliser une autre fois.
8. Configuration réseau d'une machine virtuelle
✓ Lancer la machines pc1 à l’aide de la commande :
vstart pc1 --eth0=A
✓ Configurer l'interface réseau de pc1
Ifconfig eth0 [Link] netmask [Link] broadcast [Link] up
Ou bien, tout simplement :
ifconfig eth0 [Link] up
✓ Pour vérifier la connexion réseau, lancer la commande
ping [Link]
8.1. Configuration permanente :
Après arrêt de pc1, si vous voulez la redémarrer, il faut reconfigurer son interface réseau. Une configuration
permanente peut être obtenue en ajoutant les lignes suivantes au fichier « /etc/network/interfaces » (à
l'intérieure de la MV pc1) :
auto eth0
iface eth0 inet static
address [Link]
network [Link]
netmask [Link]
Au prochain démarrage de pc1, l'interface réseau sera automatiquement configuré.
Vous pouvez aussi relancer le service réseau par la commande :
/etc/init.d/networking restart
Remarque : si vous supprimez le fichier [Link] (qui joue le rôle du disque dur de la MV pc1) la configuration
que vous avez faite sera perdue.
5/5