Explorer les types d'adresses IP et la joignabilité sous Linux

CompTIABeginner
Pratiquer maintenant

Introduction

Dans ce laboratoire, vous explorerez les concepts fondamentaux de l'adressage IP et de la joignabilité réseau dans un environnement Linux. Vous utiliserez des utilitaires en ligne de commande courants tels que ping et ip a pour effectuer des diagnostics réseau essentiels. Les exercices vous guideront à travers le test de la pile TCP/IP locale avec l'adresse de bouclage (loopback address), l'identification de l'adresse IP privée de votre machine et la vérification de la connectivité Internet publique.

De plus, vous apprendrez à tester la joignabilité au sein du réseau local et à comprendre les adresses à usage spécial en explorant la communication multicast. En complétant ces étapes, vous développerez des compétences pratiques pour le dépannage des configurations réseau et la vérification des différentes couches de connectivité IP sur un système Linux.

Tester la pile TCP/IP locale avec ping 127.0.0.1

Dans cette étape, vous apprendrez à tester la propre configuration réseau de votre système en utilisant l'adresse de bouclage (loopback address). C'est une étape de diagnostic fondamentale pour s'assurer que la pile logicielle TCP/IP est installée et fonctionne correctement, et ce, avant même de vérifier toute connexion réseau physique.

L'adresse de bouclage (loopback address), qui est presque toujours 127.0.0.1, est une adresse IP spéciale qu'un ordinateur utilise pour se désigner lui-même. Lorsque vous envoyez du trafic réseau à 127.0.0.1, celui-ci ne sort pas vers un matériel réseau quelconque (comme une carte Wi-Fi ou Ethernet). Au lieu de cela, le trafic "boucle" en interne au sein du système d'exploitation. C'est extrêmement utile pour les tests.

Nous utiliserons la commande ping, un utilitaire réseau courant utilisé pour tester la joignabilité d'un hôte sur un réseau IP.

Maintenant, effectuons un ping sur l'adresse de bouclage. Dans votre terminal, qui se trouve actuellement dans le répertoire ~/project, tapez la commande suivante et appuyez sur Entrée.

ping 127.0.0.1

Vous verrez un flux continu de réponses de 127.0.0.1. Cela indique que la pile TCP/IP de votre système fonctionne comme prévu. Chaque ligne représente une "réponse d'écho" réussie reçue de la machine locale.

PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.045 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.050 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.052 ms
...

La commande ping continuera de s'exécuter jusqu'à ce que vous l'arrêtiez. Pour arrêter la commande, appuyez sur Ctrl+C. Après l'avoir arrêtée, vous verrez un résumé des statistiques du ping.

Ce test réussi confirme que le logiciel réseau de votre machine virtuelle est opérationnel.

Identifier votre adresse IP privée avec ip a

Dans cette étape, vous allez identifier l'adresse IP privée de votre machine virtuelle. Après avoir confirmé que la pile TCP/IP interne fonctionne avec l'adresse de bouclage, la prochaine étape logique consiste à trouver l'adresse que votre système utilise pour communiquer avec d'autres appareils sur le même réseau local.

La plupart des réseaux locaux (comme celui sur lequel se trouve cette machine virtuelle, ou votre réseau domestique/de bureau) utilisent des adresses IP privées. Ce sont des plages d'adresses IP spéciales qui ne sont pas joignables depuis l'Internet public. Elles sont réservées à un usage interne. Ce système permet d'éviter l'épuisement des adresses IPv4 et ajoute une couche de sécurité.

Pour trouver votre adresse IP sur un système Linux moderne, vous pouvez utiliser la commande ip a (qui fait partie de la suite iproute2 et remplace l'ancienne commande ifconfig).

Dans votre terminal, exécutez la commande suivante :

ip a

La sortie listera toutes les interfaces réseau de votre système. Vous recherchez votre interface réseau principale, généralement nommée eth0 ou ens.... L'adresse IP est indiquée sur la ligne qui commence par inet.

Voici un exemple de ce à quoi la sortie pourrait ressembler. Votre adresse IP et les noms d'interface peuvent différer.

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:16:3e:0a:71:39 brd ff:ff:ff:ff:ff:ff
    inet 172.16.50.171/24 brd 172.16.50.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::216:3eff:fe0a:7139/64 scope link
       valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
    link/ether 02:42:ae:2a:df:b8 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever

Dans l'exemple ci-dessus, l'adresse IP privée est 172.16.50.171. Maintenant, identifiez l'adresse inet de votre système et vérifiez si elle appartient à l'une des plages d'adresses IP privées standard :

  • Classe A : 10.0.0.0 à 10.255.255.255
  • Classe B : 172.16.0.0 à 172.31.255.255
  • Classe C : 192.168.0.0 à 192.168.255.255

L'adresse IP 172.16.50.171 de notre exemple se situe dans la plage privée de Classe B. Votre VM LabEx aura également une IP provenant de l'une de ces plages.

Tester la joignabilité de l'Internet public avec ping 8.8.8.8

Dans cette étape, vous allez vérifier que votre machine virtuelle peut communiquer avec l'Internet public. Vous avez confirmé que votre pile TCP/IP locale fonctionne et vous avez trouvé votre adresse IP privée. Voyons maintenant si vous pouvez atteindre un serveur en dehors de votre réseau local.

Les adresses IP publiques sont des adresses globalement uniques qui sont routables sur Internet. Votre VM, avec son adresse IP privée, ne peut pas utiliser directement cette adresse sur Internet. Au lieu de cela, un routeur ou une passerelle sur le réseau effectue la Traduction d'Adresse Réseau (NAT - Network Address Translation). Il traduit l'adresse IP privée de votre VM en une adresse IP publique lors de l'envoi de trafic vers Internet, et inversement pour le trafic de retour.

Pour tester cela, nous allons effectuer un ping sur une adresse IP publique bien connue : 8.8.8.8. C'est l'adresse de l'un des serveurs DNS publics de Google, qui est hautement disponible et un choix standard pour tester la connectivité Internet.

Dans votre terminal, tapez la commande suivante et appuyez sur Entrée :

ping 8.8.8.8

Vous devriez voir une série de réponses réussies. Notez que la valeur time= est généralement plus élevée que lorsque vous avez effectué un ping sur l'adresse de bouclage, car les paquets de données traversent Internet jusqu'au serveur de Google et reviennent.

PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=58 time=2.34 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=58 time=2.30 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=58 time=2.35 ms
...

Ces réponses confirment que votre VM se connecte avec succès à l'Internet public. Appuyez sur Ctrl+C pour arrêter la commande ping.

Tester la joignabilité du réseau local en pingant une IP non attribuée

Dans cette étape, vous allez tenter de communiquer avec une adresse IP de votre réseau local qui n'est assignée à aucun appareil. Cela démontre que pour qu'une communication réussisse, une adresse IP de destination doit non seulement être sur le bon réseau, mais aussi être activement revendiquée par un hôte capable de répondre.

Vous avez déjà trouvé votre propre adresse IP privée. Maintenant, vous allez choisir une autre adresse au sein du même sous-réseau qui est très probablement inutilisée. Un sous-réseau (subnet) est une subdivision logique d'un réseau IP. Par exemple, si votre adresse IP est 172.16.50.171 avec un masque /24, votre sous-réseau inclut toutes les adresses de 172.16.50.1 à 172.16.50.254.

Choisissons une adresse IP qui a peu de chances d'être utilisée. En nous basant sur l'adresse IP courante 172.16.50.171 pour cet environnement, nous allons essayer de pinger 172.16.50.250.

Dans votre terminal, tapez la commande suivante et appuyez sur Entrée :

ping 172.16.50.250

Cette fois, vous ne verrez aucune réponse. La commande semblera bloquée, envoyant des paquets sans réponse. C'est parce qu'il n'y a aucun appareil à cette adresse IP pour répondre à la requête ping. Après quelques secondes, arrêtez la commande en appuyant sur Ctrl+C. Vous verrez un résumé indiquant une perte de paquets de 100 %. Ce délai d'attente est une façon courante de déterminer qu'un hôte n'est pas joignable sur le réseau.

PING 172.16.50.250 (172.16.50.250) 56(84) bytes of data.
^C
--- 172.16.50.250 ping statistics ---
23 packets transmitted, 0 received, 100% packet loss, time 22510ms

Cette sortie confirme qu'une adresse IP doit être active sur le réseau pour être joignable. Appuyez sur Ctrl+C pour arrêter la commande.

Explorer les adresses multicast avec ping 224.0.0.1

Dans cette dernière étape, vous allez explorer une catégorie différente d'adresses IP : le multicast. Jusqu'à présent, vous avez travaillé avec des adresses unicast, où la communication est un-à-un (votre machine vers la boucle locale, votre machine vers un serveur public, etc.).

Le multicast est une méthode de communication un-à-plusieurs. Un seul paquet est envoyé d'une source à une adresse multicast spéciale, et l'infrastructure réseau le délivre à tous les appareils qui se sont "abonnés" à cette adresse. C'est beaucoup plus efficace que d'envoyer des paquets individuels à chaque destination.

La plage d'adresses IP de 224.0.0.0 à 239.255.255.255 est réservée au multicast (Classe D). Nous utiliserons une adresse multicast spéciale et bien connue : 224.0.0.1. C'est l'adresse du groupe "all-hosts" (tous les hôtes). Tout hôte capable de multicast sur le segment réseau local devrait répondre au trafic envoyé à cette adresse.

Voyons ce qui se passe lorsque vous la pinge. Dans votre terminal, exécutez :

ping 224.0.0.1

Théoriquement, tout hôte capable de multicast sur le réseau local devrait répondre à un ping vers le groupe "all-hosts". Vous pourriez vous attendre à voir des réponses de votre propre machine. Cependant, dans de nombreux environnements Linux modernes, pour des raisons de sécurité ou de performance réseau, les requêtes ICMP echo vers les adresses multicast sont ignorées par défaut.

Observez la sortie. Vous ne verrez probablement aucune réponse. Après quelques secondes, arrêtez la commande en appuyant sur Ctrl+C. Le résumé indiquera une perte de paquets de 100 %.

PING 224.0.0.1 (224.0.0.1) 56(84) bytes of data.
^C
--- 224.0.0.1 ping statistics ---
14 packets transmitted, 0 received, 100% packet loss, time 13312ms

Ce résultat démontre un principe important des réseaux du monde réel : les normes théoriques (comme répondre à tous les hôtes multicast) ne sont pas toujours implémentées ou activées en pratique. Les configurations système, les pare-feux ou les paramètres du noyau peuvent modifier le comportement attendu. Appuyez sur Ctrl+C pour arrêter le ping.

Résumé

Dans ce laboratoire, vous avez exploré les concepts fondamentaux de l'adressage IP et de la joignabilité réseau dans un environnement Linux en utilisant des utilitaires en ligne de commande courants. Vous avez appris à vérifier l'intégrité de la pile TCP/IP locale en pingant l'adresse de bouclage (127.0.0.1) et à identifier l'adresse IP privée de votre système pour la communication sur le réseau local à l'aide de la commande ip a.

De plus, vous avez pratiqué le diagnostic de la connectivité réseau en testant la joignabilité vers Internet avec ping 8.8.8.8 et en observant la réponse lors du ping d'une adresse IP locale non assignée. Le laboratoire s'est terminé par une exploration des types d'adresses spéciaux, en utilisant spécifiquement ping 224.0.0.1 pour comprendre la fonction des adresses multicast pour la communication un-à-plusieurs sur un réseau.