Partie 2 : commandes réseau
Partie 2.1: Simulation Filius
Importer le fichier réseaux_routeur.fls en cliquant ici
Question 2.1.1
Ouvrir le fichier réseaux_routeur.fls avec le logiciel Filius
Lancer la simulation:
Sur le Serveur, ouvrez le logiciel DNS Server ( entouré en rouge ci-dessous) , cliquez sur Stop pour arrêter le service
a. ouvrir la console du serveur, lister les services actifs en relevant les ports ouverts avec la commande netstat, les services actifs ont les numéros de port en mode écoute ( State LISTEN). Quel est le service qui utilise le numéro de port 67, quel est le rôle de ce service?
b. ouvrir le logiciel DNS Server , cliquer sur Start pour démarrer le service DNS, ouvrir la console du serveur, lister les services actifs avec la commande netstat. Conclusion, quel est le numéro de port et le protocole utilisé par le service DNS?
c. Recommencez les étapes a et b afin d'identifier le port et protocole utilisés par le service Webserver:
Question 2.1.2
a. Tester la connectivité entre le client_lan1 et le Serveur avec un ping, conclusion?
b. Tester la connectivité entre le client_lan2 et le Serveur avec un ping, conclusion?
c. Tester la résolution DNS entre le client_lan1 et le Serveur. Dans l'image ci-dessous ça marche:
d. Tester la résolution DNS entre le client_lan2 et le Serveur. Dans l'image ci-dessous ça marche:
e. Tester la résolution DNS entre le client_lan3 et le Serveur. Dans l'image ci-dessous ça ne marche pas:
Le client_lan3 n'a pas la résolution DNS active, passer en mode configuration ( icône marteau), faire un clic droit sur le client_lan3, choisir le menu Configure, ajouter l'adresse IP du serveur dans le champ Domain Name Server, ne pas toucher les autres réglages.
- Vérifier que le problème de résolution DNS est réglé en testant la résolution DNS entre le client_lan3 et le Serveur:
f. en analysant le résultat du test de la question b, que peut-on dire de l'état de la liaison verte ( liaison client_lan2 vers Serveur): fonctionnelle ou en panne? En analysant le résultat du test de la question a, que peut-on dire de l'état de la liaison rouge ( liaison client_lan1 vers Serveur): fonctionnelle ou en panne?
g. sur le client_lan1, tester maintenant la connectivité entre le client_lan1 et le client_lan2 avec un ping, conclusion?
Dans l'image ci-dessous ça ne fonctionne pas! Devez-vous remettre en cause vos jugements de la question f?
h. Dépannage d'une connexion réseau Ethernet
Test 1: effectuez un ping avec la console de Serveur vers l'interface du routeur1 10.0.0.1, conclusion, le routage au niveau de routeur 1 est-il correct?
Test 2 : effectuez un ping avec la console de client_lan1 vers l'interface 192.168.0.254 du routeur 1, conclusion la connexion entre client_lan1 et le routeur1 est-elle fonctionnelle ?
Test3: effectuez un ping avec la console de client_lan1 vers l'interface du routeur1 10.0.0.1, conclusion?
Vous savez que ce n'est pas le routage (Test1), ni la connexion physique entre le client_lan1 et le routeur1 (Test 2). Quelle est la différence entre le Test 2 et le Test3? Le client_lan1 sait-il où envoyer un paquet à destination de l'interface du routeur1 10.0.0.1, pour le savoir faîtes le Test4:
Test4: avec la console de client_lan1, saisissez la commande ipconfig. L'interface 192.168.0.254 du routeur 1 est la passerelle (gateway) de sortie des paquets vers les autres réseaux pour le client_lan1, cette adresse apparaît-elle comme gateway? Comment client_lan1 obtient-il ses paramètres (comme son ip par exemple) ?
i. Modifiez les réglages du service responsable sur le Serveur et tester à nouveau la connectivité entre le client_lan1 et le client_lan2?
j. Afficher le nombre de sauts de routeur entre les deux machines client_lan1 et client_lan2 avec la commande traceroute:
Partie 2.2: Commandes réseaux sous GNU/Linux
Sous GNU/Linux, la configuration du réseau est située dans divers répertoires du dossier /etc
- /etc/host.conf donne l’ordre des recherches DNS
- le fichier /etc/hosts contient la résolution des noms d’hôtes en adresses IP.
- /etc/resolv.conf contient le domaine d’appartenance et l’adresse IP du serveur DNS (celui qui vous sert à aller sur Internet et donc celui de votre fournisseur d’accès).
- /etc/network/interfaces contient la configuration des interfaces réseau (cartes réseaux).
Question 2.2.1
- Créer une machine virtuelle Linux Mint, ouvrer une session avec le compte NSI et le mot de passe nsiuser
- Ouvrir un terminal, lancer la commande ip a pour connaître l'adresse ip des interfaces réseaux de votre machine.
Vous pouvez voir le nom de l'interface réseau de la forme enp..s.. ici enp0s3
en bleu la configuration ipv4
en vert la configuration ipv6
Ecrire en binaire l'adresse IPV4 de votre machine, sur combien de bits est une adresse ipv4?
Ecrire en binaire l'octet de poids faibles de l'adresse IPV6 de votre machine, sur combien de bits est une adresse ipv6?
Question 2.2.2
La commande netstat vu dans la partie 1 permet de connaître tous les ports ouverts sur votre machine.
- Lancer la commande sudo netstat -pantu pour connaître toutes les connexions actives sur votre machine.
Explications: l'avant dernière ligne vous indique que le processus de PID 837 associé au programme mariadb "le système de gestion de base de données (anciennement mysql)" utilise le protocole IPV4 sur la machine locale ( 127.0.0.1 <=> localHost), il écoute les demandes de connexion à la base de données sur le port TCP 3306, demandes en provenance de n'importe où ( 0.0.0.0:*)
La dernière ligne vous indique que le processus de PID 832 associé au programme apache2 "le serveur web " utilise le protocole IPV6, sur la machine locale (:::) et écoute les demandes sur le port TCP 80 en provenance de n'importe où ( :::*)
- Décrivez l'affichage de votre console en vous aidant des deux exemples donnés pour l'affichage ci-dessus, vous rechercherez le nom, à l'aide du numéro de port, des logiciels dont l'état est LISTEN :
Question 2.2.3: communication réseau entre deux programmes python
il est possible d'utiliser la suite de protocoles TCP/IP pour permettre à des programmes de communiquer entre eux sur une même machine, beaucoup de services internes des systèmes d'exploitation utilisent cette façon. Chacun des programmes en communication réalise alors les fonctions de client et de serveur selon les moments de l'échange. Dans cette partie, on va faire communiquer un programme python qui écoutera le port 56792 avec un autre programme python qui écoutera le port 56790.
- Ouvrir avec IDLE le fichier python receveur.py que vous trouverez dans le dossier /home/nsi/Documents/Python_codes
- Cliquer sur Run puis sur Run Module, le programme va se mettre en attente de recevoir des données:
- Ouvrir maintenant avec Codium le fichier python emetteur.py que vous trouverez également dans le dossier /home/nsi/Documents/python_codes
- Cliquer sur Run pour l'exécuter:
Conclusion: vous pouvez voir que les deux programmes ont échangé un message par le réseau, récepteur.py écoutant le port 56792 et emetteur.py écoutant le port 56790
- Relancez uniquement le fichier récepteur.py puis ouvrez une console et lancez la commande sudo netstat -pantu
- localisez le processus correspondant grâce au numéro de port, relevez le pid du processus et le protocole de la couche transmission utilisé pour la communication ( TCP ou UDP),
- recherchez et expliquez la différence entre les protocoles de transmission: UDP et TCP.
Question 2.2.4: communication réseau entre deux machines
Dans cette partie vous allez faire communiquer votre ordinateur virtuel linux mint avec un autre ordinateur virtuel sous linux lubuntu.
- Éteindre la machine mint. Lors de la phase de configuration du réseau, les deux machines virtuelles doivent être éteintes:
- Ajouter une seconde machine virtuelle à partir du disque dur "lubuntu.vdi" que vous trouverez dans le dossier "machines virtuelles"
- démarrer lubuntu, ouvrir une session avec le nom nsiuser et le mot de passe nsiuser pour vérifier son bon fonctionnement.
- Eteindre ensuite la machine virtuelle lubuntu.
L'État des deux machines doit être "Eteinte".
Choisir une machine virtuelle, cliquer sur Configuration ( encadré rouge ci-dessous),
choisir le menu Réseau ( encadré rouge ci-dessous) puis sur Adapter 2 (encadré vert ci-dessous) :
- Ajouter la configuration montrée ci-dessous pour l'adaptateur2 :
- Recommencer les mêmes étapes pour l'autre machine virtuelle:
Vous avez ajouté à chaque machine une seconde carte réseau qui est reliée au réseau privé virtuel 192.168.56.0 géré par virtualBox. Topologie de votre réseau:
Coté adapter 2 ( réseau privé de deux machines virtuelles isolées d'internet)
Coté adapter 1 ( la machine virtuelle est reliée via un routeur virtuel de virtualBox à la vraie carte réseau de la machine Windows 10; la vraie carte réseau est en communication avec le routeur du lycée via une liaison ethernet)
- Allumer à tour de rôle chaque machine, ouvrir ensuite un terminal sur chacune et saisir la commande ip a
Ci-dessous les caractéristiques pour la machine lubuntu:
- Sur chaque machine, relever l'adresse IP de l'interface 2 (adaptateur 2) , nommée enp0s8 , montrer que les deux machines Mint et Lubuntu sont dans le même réseau coté adaptateur 2.
- Pour vérifier, depuis Linux mint, tester la connectivité vers Linux lubuntu avec un ping, avant de commencer, il vous faut savoir que sur Linux on arrête un ping avec la suite de touche clavier ctrl + c. Avec l'IP de l'exemple de la capture ci-dessus, il faudrait saisir:
ping 192.168.56.102 pour tester la connectivité avec lubuntu.
- Maintenant que l'on sait que la machine Linux lubuntu répond au ping, on va chercher quels sont les ports TCP ouverts sur cette machine.
Sur Linux mint, saisir la commande nmap -A 192.168.56.102 ( remplacer l'ip par celle de votre machine virtuelle Linux lubuntu )
Ci-dessus, on peut voir que le protocole SSH est disponible ( protocole d'ouverture de session à distance).
Vous allez maintenant essayer de vous connecter à la machine lubuntu depuis linux Mint
- Sur la machine lubuntu, ouvrir le dossier nsiuser
- Ouvrir ensuite le dossier Documents:
- A l'intérieur du dossier Documents, vous devez voir le fichier texte coucou.txt
- Depuis Linux mint, Ouvrir un terminal et saisir la commande sudo ssh nsiuser@192.168.56.102 ( ATTENTION remplacer l'ip après le @ par celle de votre lubuntu), ssh vous ouvre une session console distante sur lubuntu:
- saisir la commande pwd pour vous localiser dans l'arborescence du système de fichier de lubuntu, vous êtes dans /home/nsiuser,
- saisir la commande cd Documents pour vous déplacer dans le dossier Documents de lubuntu
- saisir la commande ls pour lister le contenu, vous pouvez voir le fichier coucou.txt
Vous pouvez l'ouvrir et le modifier à distance avec la commande nano coucou.txt, pour quitter saisir la commande ctrl +x, si vous l'avez modifié confirmer avec y pour yes ou n pour no ( annulation de modification) confirmer votre choix avec la touche entrée si choix y:
- Pour quitter la communication distante, saisir exit.
Question 2.2.5: chemin emprunté par les paquets
Pour connaître le chemin emprunté par un paquet à destination de lubuntu saisir la commande sudo traceroute - I 182.168.56.102
Pour connaître le chemin emprunté par un paquet à destination de google, on commence par récupérer l'ip avec un ping
- saisir la commande ping www.google.fr:
- saisir ensuite la commande sudo traceroute - I 142.250.200.227, vous pouvez voir ci-dessous que 11 routeurs ont été traversés pour atteindre la destination:
Created with the Personal Edition of HelpNDoc: Free PDF documentation generator