Linux Professional Institute Learning Logo.
Passer au contenu principal
  • Accueil
    • Toutes les ressources
    • Supports de Cours LPI
    • Devenez contributeur
    • Publishing Partners
    • Devenez Partenaire de Publication
    • À propos
    • FAQ
    • Contributeurs
    • Feuille de route
    • Contactez-nous
  • LPI.org
4.4 Leçon 1
Sujet 1 : Communauté Linux et carrière dans le logiciel libre
1.1 Évolution de Linux et systèmes d'exploitation populaires
  • 1.1 Leçon 1
1.2 Applications libres majeures
  • 1.2 Leçon 1
1.3 Logiciel à code source ouvert et licences
  • 1.3 Leçon 1
1.4 Compétences informatiques et travail sous Linux
  • 1.4 Leçon 1
Sujet 2 : Trouver son chemin sur un système Linux
2.1 Bases sur la ligne de commande
  • 2.1 Leçon 1
  • 2.1 Leçon 2
2.2 Utilisation de la ligne de commande pour obtenir de l'aide
  • 2.2 Leçon 1
2.3 Utilisation des répertoires et liste des fichiers
  • 2.3 Leçon 1
  • 2.3 Leçon 2
2.4 Création, déplacement et suppression de fichiers
  • 2.4 Leçon 1
Sujet 3 : Le pouvoir de la ligne de commande
3.1 Archivage de fichiers en ligne de commande
  • 3.1 Leçon 1
3.2 Recherche et extraction de données à partir de fichiers
  • 3.2 Leçon 1
  • 3.2 Leçon 2
3.3 Conversion de commandes en script
  • 3.3 Leçon 1
  • 3.3 Leçon 2
Sujet 4 : Le système d'exploitation Linux
4.1 Choix d'un système d'exploitation
  • 4.1 Leçon 1
4.2 Compréhension du matériel informatique
  • 4.2 Leçon 1
4.3 Localisation des données
  • 4.3 Leçon 1
  • 4.3 Leçon 2
4.4 Intégration au réseau
  • 4.4 Leçon 1
Sujet 5 : Sécurité et droits d'accès aux fichiers
5.1 Sécurité élémentaire et identification des catégories d'utilisateurs
  • 5.1 Leçon 1
5.2 Création des utilisateurs et des groupes
  • 5.2 Leçon 1
5.3 Gestion des propriétés et des droits d'accès aux fichiers
  • 5.3 Leçon 1
5.4 Répertoires et fichiers spéciaux
  • 5.4 Leçon 1
How to get certified
  1. Sujet 4 : Le système d'exploitation Linux
  2. 4.4 Intégration au réseau
  3. 4.4 Leçon 1

4.4 Leçon 1

Certification :

Linux Essentials

Version :

1.6

Thème :

4 Le Système d’Exploitation Linux

Objectif :

4.4 Votre Ordinateur dans le Réseau

Leçon :

1 sur 1

Introduction

Dans le monde d’aujourd’hui, les appareils informatiques de toute sorte échangent des informations par le biais de réseaux. Au cœur même du concept de réseau informatique se trouvent les connexions physiques entre un appareil et son ou ses pairs. Ces connexions sont appelées des liens, et elles constituent la connexion la plus élémentaire entre deux appareils différents. Les liens peuvent être établis par le biais de divers supports, tels que les câbles de cuivre, les fibres optiques, les ondes radio ou les lasers.

Chaque lien est relié à une interface d’un appareil. Chaque appareil peut avoir plusieurs interfaces et donc être connecté à plusieurs liens. Grâce à ces liens, les ordinateurs peuvent former un réseau ; une petite communauté d’appareils qui peuvent se connecter directement les uns aux autres. Il existe de nombreux exemples de tels réseaux dans le monde. Pour pouvoir communiquer au-delà de la portée d’un réseau à couche de liaison, les appareils utilisent des routeurs. Pensez aux réseaux de la couche de liaison comme des îlots reliés par des routeurs qui relient les îles comme des ponts par lesquels les informations doivent voyager pour atteindre un appareil qui fait partie d’une île éloignée.

Ce modèle conduit à plusieurs couches différentes de mise en réseau :

Couche de liaison

Gère la communication entre les appareils directement connectés.

Couche réseau

Gère le routage en dehors des réseaux individuels et l’adressage unique des appareils au-delà d’un réseau à couche de liaison unique.

Couche application

Permet aux programmes individuels de se connecter les uns aux autres.

Lorsqu’ils ont été inventés, les réseaux informatiques utilisaient les mêmes méthodes de communication que les téléphones en ce sens qu’ils étaient à commutation de circuits. Cela signifie qu’un lien direct et dédié devait être établi entre deux nœuds pour qu’ils puissent communiquer. Cette méthode fonctionnait bien, mais elle nécessitait tout l’espace d’un lien donné pour que seuls deux hôtes puissent communiquer.

Finalement, les réseaux informatiques sont passés à la commutation par paquets. Dans cette méthode, les données sont regroupées avec un en-tête, qui contient des informations sur la provenance et la destination des informations. Les informations sur le contenu réel sont contenues dans ce cadre et envoyées par le biais du lien vers le destinataire indiqué dans l’en-tête du cadre. Cela permet à plusieurs appareils de partager un même lien et de communiquer presque simultanément.

Réseau de Couche de Liaison

Le rôle de tout paquet est de transporter l’information de la source à sa destination par un lien reliant les deux appareils. Ces appareils ont besoin d’un moyen de s’identifier l’un à l’autre. C’est le but d’une adresse de couche de liaison. Dans un réseau ethernet, les adresses MAC (Media Access Control Addresses) sont utilisées pour identifier les dispositifs individuels. Une adresse MAC se compose de 48 bits. Elles ne sont pas nécessairement uniques au niveau mondial et ne peuvent pas être utilisées pour s’adresser à des pairs en dehors de la liaison en cours. Ainsi, ces adresses ne peuvent pas être utilisées pour acheminer des paquets vers d’autres liens. Le destinataire d’un paquet vérifie si l’adresse de destination correspond à sa propre couche de liaison et, si c’est le cas, il traite le paquet. Dans le cas contraire, le paquet est abandonné. L’exception à cette règle concerne les paquets de diffusion (un paquet envoyé à tout le monde dans un réseau local donné) qui sont toujours acceptés.

La commande ip link show affiche une liste de toutes les interfaces réseau disponibles et leurs adresses de couche de liaison ainsi que d’autres informations sur la taille maximale des paquets :

$ ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 00:0c:29:33:3b:25 brd ff:ff:ff:ff:ff:ff

La sortie ci-dessus montre que l’appareil a deux interfaces, lo et ens33. lo est l’interface de rebouclage et a l’adresse MAC 00:00:00:00:00:00 alors que ens33 est une interface ethernet et a l’adresse MAC 00:0c:29:33:3b:25.

Réseau IPv4

Pour visiter des sites web tels que Google ou Twitter, pour vérifier les courriels ou pour permettre aux entreprises de se connecter entre elles, les paquets doivent pouvoir passer d’un réseau de couche de liaison à un autre. Souvent, ces réseaux ne sont connectés qu’indirectement, avec plusieurs réseaux intermédiaires de la couche de liaison que les paquets doivent traverser pour atteindre leur destination réelle.

Les adresses de la couche de liaison d’une interface réseau ne peuvent pas être utilisées en dehors de ce réseau spécifique de la couche de liaison. Comme cette adresse n’a pas d’importance pour les appareils des autres réseaux de la couche de liaison, il faut une forme d’adresses uniques au niveau mondial pour mettre en œuvre le routage. Ce système d’adressage, ainsi que le concept général de routage, est mis en œuvre par le protocole Internet (IP).

Note

Un protocole est un ensemble de procédures permettant de faire quelque chose de manière que toutes les parties qui le suivent soient compatibles entre elles. Un protocole peut être considéré comme la définition d’une norme. En informatique, le protocole Internet est une norme acceptée par tous, de sorte que différents appareils produits par différents fabricants peuvent tous communiquer entre eux.

Adresses IPv4

Les adresses IP, comme les adresses MAC, sont un moyen d’indiquer d’où vient un paquet de données et où il va. IPv4 était le protocole d’origine. Les adresses IPv4 ont une largeur de 32 bits, ce qui donne un nombre maximum théorique de 4 294 967 296 adresses. Toutefois, le nombre de ces adresses utilisables par les appareils est beaucoup plus faible, car certaines plages sont réservées à des cas d’utilisation particuliers tels que les adresses de diffusion (qui sont utilisées pour atteindre tous les participants d’un réseau spécifique), les adresses de multidiffusion (semblables aux adresses de diffusion, mais un appareil doit se connecter comme une radio) ou celles réservées à un usage privé.

Dans leur format lisible par l’homme, les adresses IPv4 sont désignées par quatre chiffres séparés par un point. Chaque chiffre peut aller de 0 à 255. Par exemple, prenons l’adresse IP suivante :

192.168.0.1

Techniquement, chacun de ces chiffres représente huit bits individuels. Ainsi, cette adresse pourrait également être écrite comme ceci :

11000000.10101000.00000000.00000001

Dans la pratique, on utilise la notation décimale telle que vue ci-dessus. Cependant, la représentation par bits reste importante pour comprendre le découpage en sous-réseaux (sous-réseautage).

Sous-réseaux IPv4

Afin de permettre le routage, les adresses IP peuvent être divisées en deux parties : la partie réseau et la partie hôte. La partie réseau identifie le réseau sur lequel l’appareil se trouve et est utilisée pour acheminer les paquets vers ce réseau. La partie hôte est utilisée pour identifier spécifiquement un appareil donné sur un réseau et pour remettre le paquet à son destinataire spécifique une fois qu’il a atteint son réseau de couche de liaison.

Les adresses IP peuvent être divisées en sous-réseaux et en hôtes à tout moment. Le masque de sous-réseau définit l’endroit où cette division se produit. Revenons sur la représentation binaire de l’adresse IP de l’exemple précédent :

11000000.10101000.00000000.00000001

Maintenant, pour cette adresse IP, le masque de sous-réseau met à 1 chaque bit appartenant à la partie réseau et à 0 chaque bit appartenant à la partie hôte :

11111111.11111111.11111111.00000000

Dans la pratique, le masque de sous-réseau s’écrit en notation décimale :

255.255.255.0

Cela signifie que ce réseau s’étend de 192.168.0.0 à 192.168.0.255. Notez que les trois premiers chiffres, dont tous les bits sont définis dans le masque de sous-réseau, restent inchangés dans les adresses IP.

Enfin, il existe une autre notation pour le masque de sous-réseau, appelée Classless Inter-Domain Routing (CIDR). Cette notation indique simplement combien de bits sont définis dans le masque de sous-réseau et ajoute ce nombre à l’adresse IP. Dans l’exemple, 24 des 32 bits sont définis à 1 dans le masque de sous-réseau. Cela peut être exprimé en notation CIDR sous la forme 192.168.0.1/24

Adresses IPv4 Privées

Comme mentionné précédemment, certaines sections de l’espace d’adressage IPv4 sont réservées à des cas d’utilisation particuliers. L’un de ces cas d’utilisation est l’attribution d’adresses privées. Les sous-réseaux suivants sont réservés à l’adressage privé :

  • 10.0.0.0/8

  • 172.16.0.0/12

  • 192.168.0.0/16

Les adresses de ces sous-réseaux peuvent être utilisées par tout le monde. Toutefois, ces sous-réseaux ne peuvent pas être acheminés sur l’internet public car ils sont potentiellement utilisés par de nombreux réseaux en même temps.

Aujourd’hui, la plupart des réseaux utilisent ces adresses internes. Elles permettent la communication interne sans qu’il soit nécessaire d’attribuer une adresse externe. Aujourd’hui, la plupart des connexions Internet sont simplement fournies avec une seule adresse IPv4 externe. Les routeurs font correspondre toutes les adresses internes à cette adresse IP externe unique lorsqu’ils transfèrent des paquets vers l’internet. C’est ce qu’on appelle la traduction d’adresse réseau (NAT : Network Addresses Translation). Le cas particulier de NAT, où un routeur mappe les adresses internes à une seule adresse IP externe, est parfois appelé masquage. Cela permet à n’importe quel appareil du réseau interne d’établir de nouvelles connexions avec n’importe quelle adresse IP globale sur l’internet.

Note

Avec le masquage, les appareils internes ne peuvent pas être référencés sur Internet car ils n’ont pas d’adresse globalement valable. Toutefois, il ne s’agit pas d’un dispositif de sécurité. Même en cas de masquage, un pare-feu est toujours nécessaire.

Configuration de l’Adresse IPv4

Il y a deux façons principales de configurer les adresses IPv4 sur un ordinateur. Soit en attribuant les adresses manuellement, soit en utilisant le protocole DHCP (Dynamic Host Configuration Protocol) pour une configuration automatique.

Lorsqu’on utilise le DHCP, un serveur central contrôle quelles adresses sont distribuées à quels appareils. Le serveur peut également fournir aux appareils d’autres informations sur le réseau, telles que les adresses IP des serveurs DNS, l’adresse IP du routeur par défaut ou, dans le cas de configurations plus complexes, pour démarrer un système d’exploitation à partir du réseau. Le DHCP est activé par défaut sur de nombreux systèmes, vous aurez donc probablement déjà une adresse IP lorsque vous serez connecté à un réseau.

Les adresses IP peuvent également être ajoutées manuellement à une interface à l’aide de la commande ip addr add. Ici, nous ajoutons l’adresse 192.168.0.5 à l’interface ens33. Le réseau utilise le masque de sous-réseau 255.255.255.0 qui est égal à /24 en notation CIDR :

$ sudo ip addr add 192.168.0.5/255.255.255.0 dev ens33

Nous pouvons maintenant vérifier que l’adresse a été ajoutée en utilisant la commande ip addr show :

$ ip addr show
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
25: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:33:3b:25 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.5/24 192.168.0.255 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::010c:29ff:fe33:3b25/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

La sortie ci-dessus montre à la fois la commande ainsi que les interfaces lo et ens33 avec l’adresse assignée.

Pour vérifier l’accessibilité d’un appareil, la commande ping peut être utilisée. Elle envoie un type spécial de message appelé echo request dans lequel l’expéditeur demande une réponse au destinataire. Si la connexion entre les deux appareils peut être établie avec succès, le destinataire enverra un echo reply, vérifiant ainsi la connexion :

$ ping -c 3 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_seq=1 ttl=64 time=2.16 ms
64 bytes from 192.168.0.1: icmp_seq=2 ttl=64 time=1.85 ms
64 bytes from 192.168.0.1: icmp_seq=3 ttl=64 time=3.41 ms

--- 192.168.0.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 5ms
rtt min/avg/max/mdev = 1.849/2.473/3.410/0.674 ms

Le paramètre -c 3 fait que le ping s’arrête après l’envoi de trois echo requests. Sinon, le ping continue à s’exécuter indéfiniment et doit être arrêté en appuyant sur Ctrl+C.

Routage IPv4

Le routage est le processus par lequel un paquet passe du réseau source au réseau de destination. Chaque appareil gère une table de routage qui contient des informations sur le réseau IP qui peut être directement atteint par le biais de la connexion de l’appareil aux réseaux de la couche de liaison et sur le réseau IP qui peut être atteint en transmettant les paquets à un routeur. Enfin, une route par défaut définit un routeur qui reçoit tous les paquets qui ne correspondent à aucune autre route.

Lorsqu’il établit une connexion, l’appareil recherche l’adresse IP de la cible dans sa table de routage. Si une entrée correspond à l’adresse, le paquet est soit envoyé au réseau de la couche de liaison correspondante, soit transmis au routeur indiqué dans la table de routage.

Les routeurs eux-mêmes maintiennent également des tables de routage. Lorsqu’il reçoit un paquet, un routeur recherche également l’adresse de destination dans sa propre table de routage et envoie le paquet au routeur suivant. Cette opération est répétée jusqu’à ce que le paquet arrive au routeur sur le réseau de destination. Chaque routeur impliqué dans ce voyage est appelé un hop. Ce dernier routeur trouve une liaison directe pour l’adresse cible dans sa table de routage et envoie les paquets à son interface cible.

La plupart des réseaux domestiques n’ont qu’une seule issue, le routeur singulier qui provient du fournisseur d’accès à Internet (FAI). Dans ce cas, un appareil se contente de transmettre tous les paquets qui ne sont pas destinés au réseau interne directement au routeur domestique, qui les envoie ensuite au routeur du fournisseur pour qu’ils soient retransmis. Il s’agit d’un exemple de route par défaut.

La commande ip route show liste la table de routage IPv4 actuelle :

$ ip route show
127.0.0.0/8 via 127.0.0.1 dev lo0
192.168.0.0/24 dev ens33 scope link

Pour ajouter une route par défaut, il suffit d’indiquer l’adresse interne du routeur qui sera la passerelle par défaut. Si, par exemple, le routeur a l’adresse 192.168.0.1, alors la commande suivante le configure comme route par défaut :

$ sudo ip route add default via 192.168.0.1

Pour vérifier, lancez à nouveau ip route show :

$ ip route show
default via 192.168.0.1 dev ens33
127.0.0.0/8 via 127.0.0.1 dev lo0
192.168.0.0/24 dev ens33 scope link

Réseau IPv6

L’IPv6 a été conçu pour pallier les lacunes de l’IPv4, principalement le manque d’adresses à mesure que de plus en plus d’appareils étaient mis en ligne. Toutefois, IPv6 comprend également d’autres caractéristiques telles que de nouveaux protocoles pour la configuration automatique du réseau. Au lieu de 32 bits par adresse, IPv6 en utilise 128. Cela permet d’obtenir environ 2128 adresses. Toutefois, comme pour l’IPv4, le nombre d’adresses utilisables uniques au niveau mondial est beaucoup plus faible, car certaines parties de l’attribution sont réservées à d’autres usages. Ce grand nombre d’adresses signifie qu’il y a plus qu’assez d’adresses publiques pour chaque appareil actuellement connecté à l’internet et pour beaucoup d’autres à venir, ce qui réduit la nécessité de masquer les adresses et ses problèmes tels que le retard de traduction et l’impossibilité de se connecter directement à des appareils masqués.

Adresses IPv6

Les adresses utilisent 8 groupes de 4 chiffres hexadécimaux séparés par deux points :

2001:0db8:0000:abcd:0000:0000:0000:7334
Note

Les chiffres hexadécimaux vont de 0 à f, de sorte que chaque chiffre peut contenir l’une des 16 valeurs différentes.

Pour faciliter la tâche, les zéros de tête de chaque groupe peuvent être supprimés lorsqu’ils sont écrits, mais chaque groupe doit contenir au moins un chiffre :

2001:db8:0:abcd:0:0:0:7334

Lorsque plusieurs groupes ne contenant que des zéros se suivent directement, ils peuvent être entièrement remplacés par :: :

2001:db8:0:abcd::7334

Toutefois, cela ne peut se produire qu’une seule fois par adresse.

Préfixe IPv6

Les 64 premiers bits d’une adresse IPv6 sont connus comme le préfixe de routage. Le préfixe est utilisé par les routeurs pour déterminer à quel réseau appartient un appareil et donc sur quel chemin les données doivent être envoyées. Le sous-réseautage se produit toujours à l’intérieur du préfixe. Les FAI distribuent généralement les préfixes /48 ou /58 à leurs clients, leur laissant 16 ou 8 bits pour leur sous-réseautage interne.

Il existe trois grands types de préfixes dans IPv6 :

Adresse Mondialement Unique

Dans laquelle le préfixe est attribué à partir des blocs réservés aux adresses globales. Ces adresses sont valables sur l’ensemble de l’internet.

Adresse Unique Localement

Ne peut pas être acheminée sur Internet. Elles peuvent cependant être acheminées en interne au sein d’une organisation. Ces adresses sont utilisées au sein d’un réseau pour garantir que les appareils ont toujours une adresse même lorsqu’il n’y a pas de connexion internet. Elles sont l’équivalent des plages d’adresses privées à partir d’IPv4. Les 8 premiers bits sont toujours fc ou fd, suivis de 40 bits générés de façon aléatoire.

Adresse Locale du Lien

Ne sont valables que sur un lien particulier. Chaque interface réseau compatible IPv6 possède une telle adresse, qui commence par fe80. Ces adresses sont utilisées en interne par IPv6 pour demander des adresses supplémentaires par configuration automatique et pour trouver d’autres ordinateurs sur le réseau à l’aide du protocole Neighbor Discovery.

Identificateur d’Interface IPv6

Alors que le préfixe détermine dans quel réseau un appareil réside, l’identifiant d’interface est utilisé pour énumérer les appareils d’un réseau. Les 64 derniers bits d’une adresse IPv6 forment l’identificateur d’interface, tout comme les derniers bits d’une adresse IPv4.

Lorsqu’une adresse IPv6 est attribuée manuellement, l’identifiant de l’interface est défini comme faisant partie de l’adresse. Lorsque la configuration automatique de l’adresse est utilisée, l’identificateur de l’interface est soit choisi au hasard, soit dérivé de l’adresse de la couche de liaison du dispositif. Cela fait apparaître une variation de l’adresse de la couche de liaison dans l’adresse IPv6.

Configuration des Adresses IPv6

Comme pour l’IPv4, l’adresse IPv6 peut être attribuée manuellement ou automatiquement. Cependant, IPv6 a deux types de configuration automatisée différents, DHCPv6 et Stateless Address Autoconfiguration (SLAAC).

La SLAAC est la plus simple des deux méthodes automatisées et elle est directement intégrée à la norme IPv6. Les messages utilisent le nouveau protocole Neighbor Discovery Protocol qui permet aux appareils de se retrouver et de demander des informations concernant un réseau. Ces informations sont envoyées par des routeurs et peuvent contenir des préfixes IPv6 que les appareils peuvent utiliser en les combinant avec un identificateur d’interface de leur choix, à condition que l’adresse résultante ne soit pas encore utilisée. Les appareils ne fournissent pas de retour d’information au routeur sur les adresses réelles qu’ils ont créées.

Le DHCPv6, d’autre part, est le DHCP mis à jour pour fonctionner avec les changements de l’IPv6. Il permet un contrôle plus fin des informations transmises aux clients, comme la possibilité de transmettre la même adresse au même client à chaque fois, et d’envoyer plus d’options au client que le SLAAC. Avec DHCPv6, les clients doivent obtenir le consentement explicite d’un serveur DHCP pour pouvoir utiliser une adresse.

La méthode pour attribuer manuellement une adresse IPv6 à une interface est la même qu’avec IPv4 :

$ sudo ip addr add 2001:db8:0:abcd:0:0:0:7334/64 dev ens33

Pour vérifier que l’affectation a fonctionné, la même commande ip addr show est utilisée :

$ ip addr show
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
25: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:33:3b:25 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.5/24 192.168.0.255 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::010c:29ff:fe33:3b25/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
    inet6 2001:db8:0:abcd::7334/64 scope global
       valid_lft forever preferred_lft forever

Ici, nous voyons également l’adresse locale du lien fe80::010c:29ff:fe33:3b25/64.

Comme pour IPv4, la commande ping peut également être utilisée pour confirmer l’accessibilité des appareils via IPv6 :

$ ping 2001:db8:0:abcd::1
PING 2001:db8:0:abcd::1(2001:db8:0:abcd::1) 56 data bytes
64 bytes from 2001:db8:0:abcd::1: icmp_seq=1 ttl=64 time=0.030 ms
64 bytes from 2001:db8:0:abcd::1: icmp_seq=2 ttl=64 time=0.040 ms
64 bytes from 2001:db8:0:abcd::1: icmp_seq=3 ttl=64 time=0.072 ms

--- 2001:db8:0:abcd::1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 43ms
rtt min/avg/max/mdev = 0.030/0.047/0.072/0.018 ms
Note

Sur certains systèmes Linux, le ping ne prend pas en charge IPv6. Ces systèmes fournissent à la place une commande ping6 dédiée.

Pour vérifier à nouveau l’adresse du lien local, utilisez à nouveau le ping. Mais comme toutes les interfaces utilisent le préfixe fe80::/64, l’interface correcte doit être spécifiée avec l’adresse :

$ ping6 -c 1 fe80::010c:29ff:fe33:3b25%ens33
PING fe80::010c:29ff:fe33:3b25(fe80::010c:29ff:fe33:3b25) 56 data bytes
64 bytes from fe80::010c:29ff:fe33:3b25%ens33: icmp_seq=1 ttl=64 time=0.049 ms

--- fe80::010c:29ff:fe33:3b25 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.049/0.049/0.049/0.000 ms

DNS

Les adresses IP sont difficiles à mémoriser et n’ont pas un facteur esthétique élevé si vous essayez de commercialiser un service ou un produit. C’est là que le système des noms de domaine entre en jeu. Dans sa forme la plus simple, le DNS est un annuaire téléphonique distribué qui associe des noms de domaine faciles à mémoriser, tels que example.com, à des adresses IP. Lorsqu’un utilisateur se rend sur un site web, par exemple, il saisit le nom d’hôte du DNS dans le cadre de l’URL. Le navigateur web envoie ensuite le nom DNS à l’un des résolveurs DNS configurés. Ce résolveur DNS trouvera à son tour l’adresse qui correspond au domaine. Le résolveur répond alors avec cette adresse et le navigateur web essaie d’atteindre le serveur web à cette adresse IP.

Les résolveurs que Linux utilise pour consulter les données DNS sont configurés dans le fichier de configuration /etc/resolv.conf :

$ cat /etc/resolv.conf
search lpi
nameserver 192.168.0.1

Lorsque le résolveur effectue une recherche de nom, il vérifie d’abord le fichier /etc/hosts pour voir s’il contient une adresse pour le nom demandé. Si c’est le cas, il renvoie cette adresse et ne contacte pas le DNS. Cela permet aux administrateurs de réseau de fournir une résolution de nom sans avoir à passer par l’effort de configuration d’un serveur DNS complet. Chaque ligne de ce fichier contient une adresse IP suivie d’un ou plusieurs noms :

127.0.0.1          localhost.localdomain   localhost
::1                localhost.localdomain   localhost
192.168.0.10       server
2001:db8:0:abcd::f server

Pour effectuer une recherche dans le DNS, utilisez la commande host :

$ host learning.lpi.org
learning.lpi.org has address 208.94.166.198

Des informations plus détaillées peuvent être obtenues en utilisant la commande dig :

$ dig learning.lpi.org
; <<>> DiG 9.14.3 <<>> learning.lpi.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21525
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: 2ac55879b1adef30a93013705d3306d2128571347df8eadf (bad)
;; QUESTION SECTION:
;learning.lpi.org.		IN	A

;; ANSWER SECTION:
learning.lpi.org.	550	IN	A	208.94.166.198

;; Query time: 3 msec
;; SERVER: 192.168.0.1#53(192.168.0.1)
;; WHEN: Sat Jul 20 14:20:21 EST 2019
;; MSG SIZE  rcvd: 89

Ici, nous voyons également le nom des types d’enregistrements DNS, en l’occurrence A pour IPv4.

Les Sockets

Un socket est un point d’extrémité de communication pour deux programmes qui se parlent. Si le socket est connecté sur un réseau, les programmes peuvent s’exécuter sur différents appareils, tels qu’un navigateur web fonctionnant sur l’ordinateur portable d’un utilisateur et un serveur web fonctionnant dans le centre de données d’une entreprise.

Il existe trois grands types de sockets :

Sockets Unix

qui relient des processus s’exécutant sur le même appareil.

Sockets UDP (User Datagram Protocol)

qui connectent des applications à l’aide d’un protocole rapide mais non résilient.

Sockets TCP (Transmission Control Protocol)

qui sont plus fiables que les sockets UDP et qui, par exemple, confirment la réception des données.

Les sockets Unix ne peuvent connecter que des applications fonctionnant sur le même appareil. Les sockets TCP et UDP peuvent cependant se connecter sur un réseau. Le protocole TCP permet d’obtenir un flux de données qui arrive toujours dans l’ordre exact où il a été envoyé. UDP est plus "tire et oublie"; le paquet est envoyé mais sa livraison à l’autre extrémité n’est pas garantie. UDP n’a cependant pas la surcharge du TCP, ce qui le rend parfait pour les applications à faible latence telles que les jeux vidéo en ligne.

TCP et UDP utilisent tous deux des ports pour adresser plusieurs sockets sur la même adresse IP. Alors que le port source d’une connexion est généralement aléatoire, les ports cibles sont normalisés pour un service spécifique. HTTP est, par exemple, généralement hébergé sur le port 80, HTTPS est exécuté sur le port 443. SSH, un protocole permettant de se connecter en toute sécurité à un système Linux distant, écoute sur le port 22.

La commande ss permet à un administrateur d’enquêter sur toutes les sockets d’un ordinateur Linux. Elle affiche tout, de l’adresse source à l’adresse de destination en passant par le type. L’une de ses meilleures caractéristiques est l’utilisation de filtres permettant à un utilisateur de surveiller les sockets dans l’état de connexion qu’il souhaite. ss peut être lancée avec un ensemble d’options ainsi qu’une expression de filtre pour limiter les informations affichées.

Lorsqu’elle est exécutée sans aucune option, la commande affiche une liste de tous les sockets établis. L’utilisation de l’option -p inclus des informations sur le processus utilisant chaque socket. L’option -s affiche un résumé des sockets. Il y a beaucoup d’autres options disponibles pour cet outil, mais les dernières principales sont -4 et -6 pour réduire le protocole IP à IPv4 ou IPv6 respectivement, -t et -u permettent à l’administrateur de sélectionner les sockets TCP ou UDP et -l de n’afficher que les sockets qui écoutent les nouvelles connexions.

La commande suivante, par exemple, liste tous les sockets TCP actuellement utilisés :

$ ss -t
State       Recv-Q  Send-Q    Local Address:Port      Peer Address:Port
ESTAB       0       0           192.168.0.5:49412      192.168.0.1:https
ESTAB       0       0           192.168.0.5:37616      192.168.0.1:https
ESTAB       0       0           192.168.0.5:40114      192.168.0.1:https
ESTAB       0       0           192.168.0.5:54948      192.168.0.1:imap
...

Exercices Guidés

  1. Il est demandé à un ingénieur réseau d’attribuer deux adresses IP à l’interface ens33 d’un hôte, une adresse IPv4 (192.168.10.10/24) et une adresse IPv6 (2001:0:0:abcd:0:8a2e:0370:7334/64). Quelles commandes doit-il entrer pour y parvenir ?

  2. Quelles sont les adresses de la liste ci-dessous qui sont privées ?

    192.168.10.1

    120.56.78.35

    172.16.57.47

    10.100.49.162

    200.120.42.6

  3. Quelle entrée ajouteriez-vous dans le fichier hosts pour attribuer 192.168.0.15 à example.com ?

  4. Quel serait l’effet de la commande suivante ?

    sudo ip -6 route add default via 2001:db8:0:abcd::1

Exercices d’Exploration

  1. Nommez le type d’enregistrement DNS utilisé pour servir les demandes suivantes :

    • Données textuelles

    • Recherche inversée d’adresses IP

    • Un domaine qui n’a pas d’adresse propre et qui dépend d’un autre domaine pour cette information

    • Serveur de courrier électronique

  2. Linux a une fonction appelée bridging, que fait-elle et en quoi est-elle utile ?

  3. Quelle option doit être fournie à la commande ss afin de visualiser tous les sockets UDP établies ?

  4. Quelle commande affiche un résumé de tous les sockets fonctionnant sur un appareil Linux ?

  5. La sortie suivante est générée par la commande de l’exercice précédent. Combien de sockets TCP et UDP sont actifs ?

    Total: 978 (kernel 0)
    TCP:   4 (estab 0, closed 0, orphaned 0, synrecv 0, timewait 0/0), ports 0
    
    Transport Total     IP        IPv6
    *	  0         -         -
    RAW	  1         0         1
    UDP	  7         5         2
    TCP	  4         3         1
    INET	  12        8         4
    FRAG	  0         0         0

Résumé

Ce sujet couvre la mise en réseau de votre ordinateur Linux. Nous avons d’abord découvert les différents niveaux de mise en réseau :

  • La couche de liaison qui relie directement les appareils.

  • La couche réseau qui assure le routage entre les réseaux et un espace d’adressage global.

  • La couche application où les applications se connectent les unes aux autres.

Nous avons vu comment IPv4 et IPv6 sont utilisés pour adresser les ordinateurs individuels, et comment TCP et UDP énumèrent les sockets utilisés par les applications pour se connecter les unes aux autres. Nous avons également appris comment le DNS est utilisé pour résoudre les noms en adresses IP.

Commandes utilisées dans les exercices :

dig

Interroge les informations du DNS et fourni des informations verbeuses sur les requêtes et les réponses du DNS.

host

Interroge les informations du DNS et fourni un résultat condensé.

ip

Configure la mise en réseau sous Linux, y compris les interfaces réseau, les adresses et le routage.

ping

Teste la connectivité à un appareil distant.

ss

Affiche les informations concernant les sockets.

Réponses aux Exercices Guidés

  1. Il est demandé à un ingénieur réseau d’attribuer deux adresses IP à l’interface ens33 d’un hôte, une adresse IPv4 (192.168.10.10/24) et une adresse IPv6 (2001:0:0:abcd:0:8a2e:0370:7334/64). Quelles commandes doit-il entrer pour y parvenir ?

    sudo ip addr add 192.168.10.10/24 dev ens33
    sudo ip addr add 2001:0:0:abcd:0:8a2e:0370:7334/64 dev ens33
  2. Quelles sont les adresses de la liste ci-dessous qui sont privées ?

    192.168.10.1

    X

    120.56.78.35

    172.16.57.47

    X

    10.100.49.162

    X

    200.120.42.6

  3. Quelle entrée ajouteriez-vous dans le fichier hosts pour attribuer 192.168.0.15 à example.com ?

    192.168.0.15  example.com
  4. Quel serait l’effet de la commande suivante ?

    sudo ip -6 route add default via 2001:db8:0:abcd::1

    Il ajouterait une route par défaut dans le tableau qui envoie tout le trafic IPv6 au routeur avec une adresse interne de 2001:db8:0:abcd::1.

Réponses aux Exercices d’Exploration

  1. Nommez le type d’enregistrement DNS utilisé pour servir les demandes suivantes :

    • Données textuelles

      TXT

    • Recherche inversée d’adresses IP

      PTR

    • Un domaine qui n’a pas d’adresse propre et qui dépend d’un autre domaine pour cette information

      CNAME

    • Serveur de courrier électronique

      MX

  2. Linux a une fonction appelée bridging, que fait-elle et en quoi est-elle utile ?

    Un pont relie plusieurs interfaces de réseau. Toutes les interfaces connectées à un pont peuvent communiquer comme si elles étaient connectées au même réseau de couche de liaison : Tous les appareils utilisent des adresses IP provenant du même sous-réseau et n’ont pas besoin de routeur pour se connecter les uns aux autres.

  3. Quelle option doit être fournie à la commande ss afin de visualiser tous les sockets UDP établies ?

    L’option -u montre tous les sockets UDP établies.

  4. Quelle commande affiche un résumé de tous les sockets fonctionnant sur un périphérique Linux ?

    La commande ss -s affiche un résumé de tous les sockets

  5. La sortie suivante est générée par la commande de l’exercice précédent. Combien de sockets TCP et UDP sont actifs ?

    Total: 978 (kernel 0)
    TCP:   4 (estab 0, closed 0, orphaned 0, synrecv 0, timewait 0/0), ports 0
    
    Transport Total     IP        IPv6
    *	  0         -         -
    RAW	  1         0         1
    UDP	  7         5         2
    TCP	  4         3         1
    INET	  12        8         4
    FRAG	  0         0         0

    11 sockets TCP et UDP sont actifs.

Linux Professional Insitute Inc. Tous droits réservés. Visitez le site web du projet _Learning_ : https://learning.lpi.org
Ce travail est sous licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Pas de Modification 4.0 International.

Prochaine leçon

5.1 Sécurité élémentaire et identification des catégories d'utilisateurs (5.1 Leçon 1)

Lire la prochaine leçon

Linux Professional Insitute Inc. Tous droits réservés. Visitez le site web du projet _Learning_ : https://learning.lpi.org
Ce travail est sous licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Pas de Modification 4.0 International.

LPI est une organisation à but non lucratif.

© 2023 Le Linux Professional Institute (LPI) est la référence mondiale en matière de certification et un organisme de soutien aux professionnels de l'Open Source. Avec plus de 200 000 certifiés à son actif, c'est le principal organisme de certification indépendant pour Linux et l'Open Source au monde. Le LPI a certifié des professionnels dans plus de 180 pays, organise des examens en plusieurs langues et compte des centaines de partenaires pour la formation.

Notre objectif est la création d'opportunités économiques et créatives pour tous en rendant accessible au monde entier la certification des connaissances et des compétences en matière d'Open Source.

  • LinkedIn
  • flogo-RGB-HEX-Blk-58 Facebook
  • Twitter
  • Contactez-nous
  • Politique en matière de confidentialité et de cookies

Vous avez repéré une erreur ou vous voulez aider à améliorer cette page ? Faites-nous savoir.

© 1999–2023 The Linux Professional Institute Inc. Tous droits réservés.