Gérer l'adressage IP sous Linux

CompTIABeginner
Pratiquer maintenant

Introduction

Dans ce laboratoire, vous apprendrez les compétences fondamentales pour gérer l'adressage IP dans un environnement Linux. Vous commencerez par utiliser la commande moderne ip pour inspecter les interfaces réseau de votre système. Ensuite, vous configurerez manuellement une adresse IP statique, définirez une passerelle par défaut pour permettre la communication avec les réseaux externes, puis vérifierez votre connexion à l'aide de l'utilitaire ping.

Ensuite, vous explorerez la configuration dynamique d'adresses IP en libérant l'adresse statique et en utilisant la commande dhclient pour obtenir automatiquement une nouvelle adresse IP à partir d'un serveur DHCP. Pour conclure le laboratoire, vous utiliserez les commandes arp et traceroute pour inspecter et vérifier davantage votre configuration réseau, en vous assurant que tous les composants fonctionnent correctement.

Inspecter les interfaces réseau avec ip a

Dans cette étape, vous apprendrez à inspecter les interfaces réseau de votre système Linux. Avant de pouvoir configurer une adresse IP, vous devez d'abord identifier le nom de l'interface réseau que vous souhaitez configurer. Chaque connexion, qu'elle soit filaire ou sans fil, est gérée par une interface réseau.

La commande moderne et standard pour visualiser et manipuler les interfaces réseau sous Linux est ip. Nous l'utiliserons avec l'argument a (ou address) pour afficher toutes les interfaces réseau et leurs adresses IP attribuées.

  1. Ouvrez votre terminal. Vous devriez déjà être dans le répertoire ~/project.

  2. Pour lister toutes les interfaces réseau et leurs configurations actuelles, exécutez la commande suivante :

    ip a

    Vous verrez une sortie similaire à la suivante. Les détails exacts, tels que les noms d'interface (eth0, enp0s5), les adresses IP et les adresses MAC, varieront à chaque fois que vous démarrerez un nouvel environnement de laboratoire.

    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
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
        link/ether 00:16:3e:0f:23:a5 brd ff:ff:ff:ff:ff:ff
        altname enp0s5
        inet 172.16.50.11/24 metric 100 brd 172.16.50.255 scope global dynamic eth0
           valid_lft 1892159972sec preferred_lft 1892159972sec
    3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
        link/ether 02:42:bb:cb:56:62 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

Comprendre la sortie :

  • 1: lo : Il s'agit de l'interface de bouclage (loopback interface), une interface virtuelle que le système utilise pour communiquer avec lui-même. Elle a toujours l'adresse IP 127.0.0.1.
  • 2: eth0 : Il s'agit de votre interface Ethernet (filaire) principale. Votre interface peut avoir un nom différent ou afficher un altname (nom alternatif) comme enp0s5. C'est l'interface sur laquelle nous allons travailler.
  • 3: docker0 : Vous pourriez voir d'autres interfaces comme docker0, qui est utilisée par le moteur de conteneurs Docker. Vous pouvez l'ignorer pour les besoins de ce laboratoire.
  • inet 172.16.50.11/24 : C'est l'adresse IPv4 attribuée à votre interface. L'adresse que vous verrez sera différente. C'est l'adresse qui vous permet de vous connecter à ce laboratoire distant.
  • link/ether ... : C'est l'adresse MAC de l'interface, un identifiant matériel unique.

Maintenant que vous pouvez identifier votre interface réseau principale (eth0), vous êtes prêt à apprendre comment la configurer.

Configurer une adresse IP statique secondaire

Dans cette étape, vous allez attribuer manuellement une adresse IP statique supplémentaire à votre interface réseau. Une adresse IP statique est utile pour les serveurs qui doivent être joignables de manière constante à la même adresse.

Note importante : Étant donné que vous êtes dans une session de laboratoire à distance, vous ne devez pas supprimer l'adresse IP existante ni désactiver l'interface réseau. Cela couperait votre connexion. Nous allons plutôt ajouter une deuxième adresse IP à l'interface, ce qui est une pratique courante et sûre.

  1. Attribuez la nouvelle adresse IP statique 192.168.1.10 avec un masque de sous-réseau /24 à l'interface eth0. Si votre interface a un nom différent, utilisez ce nom à la place.

    sudo ip addr add 192.168.1.10/24 dev eth0

    Cette commande ajoute la nouvelle adresse sans affecter celle existante. Elle ne produit aucune sortie en cas de succès.

  2. Enfin, vérifiez que la nouvelle adresse IP a été attribuée. Utilisez à nouveau la commande ip a en spécifiant l'interface eth0.

    ip a show eth0

    Vous devriez maintenant voir les deux adresses IP, l'adresse IP dynamique d'origine et la nouvelle adresse IP statique, listées pour l'interface eth0.

    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
        link/ether 00:16:3e:0f:23:a5 brd ff:ff:ff:ff:ff:ff
        altname enp0s5
        inet 172.16.50.11/24 metric 100 brd 172.16.50.255 scope global dynamic eth0
           valid_lft 1892159595sec preferred_lft 1892159595sec
        inet 192.168.1.10/24 scope global eth0
           valid_lft forever preferred_lft forever
        inet6 fe80::216:3eff:fe0f:23a5/64 scope link
           valid_lft forever preferred_lft forever

    Remarquez qu'un second champ inet affiche maintenant 192.168.1.10/24. Vous avez ajouté avec succès une adresse IP statique temporaire tout en maintenant votre connexion active.

Définir une passerelle par défaut et vérifier la connectivité avec ping

Dans cette étape, vous allez définir une passerelle par défaut et tester la connectivité réseau. La passerelle par défaut est le routeur vers lequel votre système envoie le trafic lorsque la destination se trouve sur un autre réseau (comme Internet).

Votre système dispose déjà d'une passerelle par défaut fournie par l'environnement de laboratoire. La modifier ou la supprimer casserait votre connexion. Pour pratiquer cette commande en toute sécurité, nous allons ajouter une nouvelle passerelle par défaut, une seconde, avec une métrique plus élevée. Une métrique plus élevée signifie une priorité plus faible, de sorte que le système ne l'utilisera pas pour le trafic réel, préservant ainsi notre connexion.

  1. Ajoutons une route de passerelle par défaut pour le réseau 192.168.1.0/24. Nous définirons l'IP de la passerelle à 192.168.1.1 et lui donnerons une metric de 200.

    sudo ip route add default via 192.168.1.1 dev eth0 metric 200
    • default : Spécifie qu'il s'agit de la route par défaut.
    • via 192.168.1.1 : L'adresse IP du routeur de passerelle.
    • dev eth0 : La route est accessible via l'interface eth0.
    • metric 200 : Rend cette route moins préférée que la route principale existante (qui a une métrique plus faible).
  2. Vérifiez que la route a été ajoutée en affichant la table de routage.

    ip route

    La sortie sera complexe et variera, mais elle devrait maintenant inclure deux lignes commençant par default. Votre passerelle d'origine aura une métrique plus faible (par exemple, 100) et la nôtre aura une métrique de 200.

    default via 172.16.50.253 dev eth0 proto dhcp src 172.16.50.11 metric 100
    default via 192.168.1.1 dev eth0 metric 200
    172.16.50.0/24 dev eth0 proto kernel scope link src 172.16.50.11 metric 100
    192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.10
    ... (d'autres routes peuvent être présentes)
  3. Maintenant, testons la connectivité avec ping. Cette commande envoie une "echo request" ICMP à un hôte pour voir s'il est joignable. Essayons de pinger la passerelle que nous venons de configurer pour notre réseau imaginaire.

    ping -c 3 192.168.1.1

    Résultat attendu : Cette commande est censée échouer. Étant donné que nous avons ajouté l'IP 192.168.1.10/24 à eth0, le système suppose que 192.168.1.1 se trouve sur le même réseau local. Il essaiera de l'atteindre directement, mais aucun appareil avec cette adresse n'existe, vous verrez donc "Destination Host Unreachable".

    PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
    From 192.168.1.10 icmp_seq=1 Destination Host Unreachable
    From 192.168.1.10 icmp_seq=2 Destination Host Unreachable
    From 192.168.1.10 icmp_seq=3 Destination Host Unreachable
    
    --- 192.168.1.1 ping statistics ---
    3 packets transmitted, 0 received, +3 errors, 100% packet loss, time 2039ms

    C'est le résultat correct et attendu. Vous avez appris comment ajouter une route par défaut et utiliser ping pour les tests.

Revenir à une adresse IP dynamique avec dhclient

Dans cette étape, vous allez supprimer les configurations statiques que vous avez créées, puis utiliser dhclient pour actualiser le bail d'adresse IP dynamique auprès du serveur DHCP.

Tout d'abord, l'outil dhclient, qui fait partie du paquet isc-dhcp-client, peut ne pas être installé par défaut. Assurons-nous qu'il est disponible.

  1. Mettez à jour la liste des paquets de votre système et installez le client DHCP :

    sudo apt-get update
    sudo apt-get install -y isc-dhcp-client

    Maintenant, supprimons en toute sécurité l'adresse IP statique et la route que nous avons ajoutées lors des étapes précédentes sans perturber votre connexion.

  2. Supprimez l'adresse IP statique de eth0 :

    sudo ip addr del 192.168.1.10/24 dev eth0
  3. Supprimez la route par défaut statique que nous avons ajoutée :

    sudo ip route del default via 192.168.1.1 dev eth0

    Votre configuration réseau est maintenant revenue à son état d'origine. Pour démontrer dhclient, demandons une actualisation de l'adresse IP auprès du serveur DHCP.

  4. Tout d'abord, libérez le bail DHCP actuel.

    sudo dhclient -r eth0
  5. Ensuite, demandez un nouveau bail auprès du serveur DHCP.

    sudo dhclient eth0

    Vous pourriez voir le message RTNETLINK answers: File exists. C'est normal. Cela signifie simplement que dhclient essaie d'ajouter des routes qui sont déjà présentes, donc aucun changement n'est nécessaire. Votre connexion restera stable.

  6. Vérifiez votre configuration en affichant à nouveau l'interface eth0.

    ip a show eth0

    La sortie devrait maintenant afficher uniquement votre adresse IP dynamique d'origine, probablement dans la plage 172.16.x.x ou 172.17.x.x. L'adresse IP statique 192.168.1.10 devrait avoir disparu.

    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
        link/ether 00:16:3e:0f:23:a5 brd ff:ff:ff:ff:ff:ff
        altname enp0s5
        inet 172.16.50.11/24 metric 100 brd 172.16.50.255 scope global dynamic eth0
           valid_lft 1892159460sec preferred_lft 1892159460sec
        inet6 fe80::216:3eff:fe0f:23a5/64 scope link
           valid_lft forever preferred_lft forever

    Vous avez réussi à nettoyer votre configuration statique et à actualiser votre bail d'adresse IP dynamique.

Vérifier la configuration réseau avec arp et traceroute

Dans cette dernière étape, vous apprendrez à utiliser arp et traceroute pour inspecter votre configuration réseau.

Tout d'abord, assurons-nous que les outils nécessaires sont installés. arp se trouve dans net-tools, et traceroute dans son propre paquet.

  1. Installez net-tools et traceroute :

    sudo apt-get update
    sudo apt-get install -y net-tools traceroute

Utilisation de arp pour afficher le cache ARP

Le protocole de résolution d'adresses (ARP) fait correspondre une adresse IP à une adresse MAC physique sur un réseau local. Les résultats sont stockés dans le cache ARP.

  1. Pour remplir votre cache ARP, trouvez d'abord l'IP de votre passerelle par défaut à partir de la table de routage.

    ip route | grep default

    La sortie vous montrera l'IP de la passerelle. Notez que l'adresse IP variera.

    default via 172.16.50.253 dev eth0
    default via 172.16.50.253 dev eth0 proto dhcp src 172.16.50.11 metric 100
  2. Maintenant, pingez cette IP de passerelle (par exemple, 172.16.50.253 dans l'exemple ci-dessus) pour générer du trafic.

    ping -c 1 <your-gateway-ip>
  3. Affichez le cache ARP en utilisant arp -a.

    arp -a

    Vous verrez l'adresse IP et l'adresse MAC de votre passerelle. Vous pourriez également voir une entrée <incomplete> pour l'adresse 192.168.1.1 que nous avons essayée de pinger précédemment, ce qui est normal.

    ? (192.168.1.1) at <incomplete> on eth0
    _gateway (172.16.50.253) at ee:ff:ff:ff:ff:ff [ether] on eth0

    Cela confirme que votre système a résolu l'IP de la passerelle en une adresse MAC.

Utilisation de traceroute pour tracer les chemins réseau

La commande traceroute montre la séquence des routeurs ("sauts") que les paquets empruntent pour atteindre une destination.

  1. Traçons la route vers un domaine public comme google.com.

    traceroute google.com

    La commande affichera le chemin. Remarque : Dans de nombreux environnements cloud, le premier saut affiché par traceroute peut être une adresse IP interne et non la même que la passerelle par défaut dans votre table de routage. C'est un comportement normal.

    traceroute to google.com (142.250.189.174), 30 hops max, 60 byte packets
     1  10.220.9.2 (10.220.9.2)  0.345 ms  ...
     2  11.73.5.1 (11.73.5.1)  1.978 ms ...
     3  ...
     8  sfo03s24-in-f14.1e100.net (142.250.189.174)  3.001 ms ...
    • Le premier saut est un routeur à l'intérieur du réseau du fournisseur de laboratoire.
    • Les sauts suivants montrent le chemin à travers Internet jusqu'à la destination finale.
    • Des astérisques (* * *) peuvent apparaître si un routeur sur le chemin ne répond pas aux sondes traceroute, ce qui peut être dû à un pare-feu ou à une autre politique réseau.

Félicitations ! Vous avez maintenant appris à inspecter, configurer statiquement et configurer dynamiquement l'adressage IP sur un système Linux, ainsi qu'à utiliser des outils clés comme ping, arp et traceroute pour vérifier et dépanner votre réseau.

Résumé

Dans ce laboratoire, vous avez acquis les compétences fondamentales pour gérer l'adressage IP dans un environnement Linux. Vous avez commencé par inspecter les interfaces réseau et leurs configurations actuelles à l'aide de la commande ip a pour identifier les interfaces cibles comme eth0. Vous avez ensuite pratiqué l'attribution manuelle d'une adresse IP statique et d'un masque de sous-réseau avec ip addr add, suivie de la configuration d'une passerelle par défaut à l'aide de ip route add pour permettre la communication avec les réseaux externes. Pour contraster avec la configuration manuelle, vous avez également appris à obtenir automatiquement une adresse IP, un masque de sous-réseau et une passerelle à partir d'un serveur DHCP en utilisant la commande dhclient.

De plus, vous avez exploré des outils essentiels de vérification et de dépannage réseau. Vous avez utilisé la commande ping pour confirmer la connectivité réseau de base à la fois à la passerelle par défaut et aux hôtes externes. Pour obtenir un aperçu plus approfondi de la couche réseau, vous avez examiné le cache du protocole de résolution d'adresses (ARP) avec la commande arp pour visualiser les correspondances IP-adresse MAC. Enfin, vous avez utilisé traceroute pour tracer le chemin réseau saut par saut vers une destination, vérifiant ainsi votre configuration de routage.