Skip to main content

Dépannage des chemins d'accès au réseau avec Linux

La mise en réseau peut s'avérer délicate. Brancher un ensemble de boîtiers sur d'autres boîtiers est assez facile, mais faire en sorte que les bons bits circulent depuis les bons ordinateurs à travers les étendues sauvages d'Internet et aboutissent à la bonne destination, pointés sur le bon port ouvert et à l'écoute du trafic, se complique très vite. Avec les vitesses d'interconnexion qu'Equinix peut fournir, vous risquez de vous heurter à des comportements de réseau peu familiers.

Ce guide vous fournira une base solide pour le dépannage des réseaux sous Linux. Bien qu'il soit généralement utile à tous ceux qui envoient des bits entre des serveurs, l'accent sera mis sur le dépannage des connexions entre vous (ou votre centre de données) et Equinix. Même si cela ne résout pas vos problèmes, vous serez en mesure de fournir toutes les informations nécessaires à notre équipe d'assistance à la clientèle pour vous aider à résoudre le reste du problème.

Conditions préalables

  • Un [compte Metal Equinix ayant accès aux machines en question.
  • Un système Linux local (certains outils peuvent nécessiter un accès root/sudo)
  • En option, l'outil Metal CLI

IPv4 et IPv6

Puisque nous parlons de réseaux, nous allons avoir affaire à des adresses IP. Ces chiffres vous sont probablement familiers dans le cadre de votre utilisation quotidienne, mais une compréhension un peu plus approfondie vous aidera à comprendre où les choses se passent mal. Pour l'essentiel, tout ce que nous allons traiter utilise le format IPv4, qui existe depuis longtemps.

IPv4

En IPv4, tout appareil connecté au réseau se voit attribuer un identifiant unique, généralement appelé adresse IP. IP est l'abréviation de internet protocol et désigne un protocole standard utilisé pour la connectivité des réseaux. Les adresses IP se composent de 32 bits, généralement représentés par quatre octets en notation point-décimal (xxx.xxx.xxx.xxx). Toute adresse IP donnée peut être divisée en deux moitiés, le premier ensemble de bits représentant la partie réseau ** de l'adresse et le reste représentant la partie hôte ** . Cette division est représentée soit par la notation CIDR (Classless Inter-Domain Routing), soit par l'utilisation d'un masque de sous-réseau, le premier indiquant simplement le nombre de bits utilisés par le second. Par exemple, supposons que vous obteniez d'Equinix l'adresse IP 55.82.200.45/29. Vous pouvez travailler à rebours pour déterminer le masque de sous-réseau approprié et les autres adresses IP disponibles dans ce bloc. Avec 29 bits (/29) dédiés au réseau, cela signifie que vous avez 3 bits d'hôte, ce qui donne un masque de sous-réseau de 255.255.255.248 (11111111.11111111.11111111.11111000 en binaire). Et avec un peu de conversion binaire, vous pouvez dire que les 8 IP disponibles seront 55.82.200.40-48. Parmi celles-ci, le tout premier hôte (tous les 0) est généralement réservé à l'adresse "réseau" et le tout dernier hôte (tous les 1) est réservé à l'adresse "broadcast" du réseau. C'est sans doute un peu plus long que ce guide ne devrait l'être.

La principale conclusion à tirer de la décomposition de l'adresse 55.82.200.45/29 est que l'appareil doté de cette IP traitera toutes les adresses comprises entre 55.82.200.40 et .48 comme local, et ne transmettra les demandes extérieures à ce réseau qu'à sa passerelle par défaut ou à son routeur. Mais qu'est-ce qu'une passerelle ?

Les gens ont tendance à considérer l'internet comme "un grand réseau", mais c'est un peu insuffisant. En fait, l'internet ressemble davantage à une multitude de petits réseaux reliés entre eux. Chaque segment de réseau connecté à d'autres réseaux sur l'internet se voit attribuer un numéro de système autonome ** , également appelé numéro AS ou ASN. Les ASN sont utilisés par les routeurs pour annoncer à tous les autres routeurs sur l'internet les plages d'adresses IP dont ils sont responsables. Lorsqu'un ordinateur du réseau A doit communiquer avec un ordinateur du réseau B (ou tout ordinateur qui ne fait pas partie de son propre réseau local), il transmet sa demande au routeur configuré localement, généralement appelé gateway ou default gateway. La passerelle transmet les paquets au routeur qui a annoncé sa responsabilité publique pour le réseau auquel appartient l'adresse IP de l'hôte cible.

Le chemin qu'un paquet doit emprunter pour aller de sa source à sa cible est généralement appelé route. Votre système ne connaît généralement que la route vers sa passerelle par défaut, à partir de laquelle le routage s'effectue essentiellement de manière dynamique sur la base des tables de routage mondiales. Cela permet à n'importe quel hôte arbitraire dans n'importe quel sous-réseau de l'internet de communiquer avec n'importe quel autre hôte arbitraire, en général. (Par souci de simplicité, nous laissons de côté les cas particuliers tels que les pare-feu).

Ainsi, si vous avez des difficultés à envoyer des données de 55.82.200.45 à 55.82.200.46, vous devrez peut-être vérifier qu'ils sont correctement connectés au même réseau, ou vérifier leurs masques de sous-réseau pour vous assurer que chaque ordinateur a une image correcte de ses connexions réseau. Si ces tests sont concluants, l'étape suivante consiste logiquement à rechercher un problème de connectivité au niveau de la passerelle.

IPv6

Comme vous le savez peut-être, avec un nombre de 32 bits représentant tous les appareils sur l'internet, nous n'aurions de la place que pour environ 4,3 milliards d'appareils connectés à l'internet, moins si l'on tient compte du nombre d'adresses IP réservées pour les réseaux locaux. Et même si 3 milliards semblent être un chiffre important, ce n'est certainement pas le cas si l'on considère la population mondiale et le nombre considérable d'appareils connectés à l'internet que nous possédons tous et avec lesquels nous interagissons quotidiennement. De plus, avec la façon dont les blocs d'adresses IP peuvent être subdivisés et déplacés, les tables de routage peuvent être rapidement surchargées. En fait, la plupart des autorités régionales ont atteint leur dernier bloc d'adresses IP /8 (~16 millions) depuis 2015.

L'IPv6 a été introduit pour pallier ce problème avec des adresses de 128 bits, fournissant 2^128 ou 3,4 x 10^32 adresses IP disponibles, soit "probablement assez bien pour l'avenir prévisible". Et au lieu d'un masque de sous-réseau mutable, l'IPv6 utilise un ensemble de 64 bits pour les parties "hôte" et "réseau" de l'adresse. Conçu en gardant à l'esprit la nature originale de bout en bout de l'internet, l'IPv6 est acheminé un peu différemment de l'IPv4, avec des exigences différentes et légèrement plus simples de la part des routeurs eux-mêmes et davantage de travail effectué au niveau des nœuds finaux. Il existe [d'autres différences entre les deux versions du protocole] (https://en.wikipedia.org/wiki/IPv6#Comparison_with_IPv4), mais la principale différence pour les besoins de ce guide est la notation.

Alors que l'IPv4 s'écrit en 4 octets décimaux (groupes de 8 bits ou octets) séparés par des points, l'IPv6 s'écrit en 8 hextets hexadécimaux (groupes de 16 bits ou chomps) séparés par des deux points. Pour des raisons de commodité et de clarté, l'IPv6 comprend également certaines règles d'abréviation : tous les 0 initiaux peuvent être supprimés dans chaque hextet et les hextets consécutifs de tous les 0 peuvent être remplacés par deux deux-points (: :). Cette dernière condition ne peut être appliquée qu'une seule fois dans une adresse, car une utilisation multiple rendrait l'adresse vague et indéterminée.

Par exemple, vous pouvez obtenir l'adresse IPv6 suivante : 2001:0db8:0000:0000:0000:ff00:0042:8329. Après avoir supprimé les premiers 0, on obtient 2001:db8:0:0:0:ff00:42:8329 et après avoir compressé les hextets consécutifs de 0, on obtient 2001:db8::ff00:42:8329. Reconnaître, développer et abréger les adresses IPv6 ainsi que se souvenir des 64 bits pour le réseau et des 64 bits pour l'hôte sont les principales implications pour le dépannage d'IPv6, dans le cadre de ce guide.

Trouver l'adresse IP de votre machine

Vous pouvez trouver l'adresse IP de votre serveur à partir de la console Equinix Metal ou de l'interface de ligne de commande.

Utilisation de l'interface Web d'Equinix Metal

Dans la Console, ouvrez Organisation > Projet > Serveurs > Nom d'hôte du serveur (adresse IPV4/6).

Utilisation de l'interface CLI d'Equinix Metal

Si vous utilisez la CLI Metal :

Pour obtenir toutes les adresses IP attribuées :

metal devices get -o json | jq '.[0].ip_addresses'

Pour obtenir les adresses IP attribuées à un appareil spécifique, utilisez :

metal devices get -i $device_id -o json | jq '.ip_addresses'

Vérification des informations de l'interface Web / CLI avec vos systèmes

Il est utile d'obtenir les adresses IP par le biais de la console Equinix Metal ou de la CLI, mais vous voudrez parfois aller directement à la source. Ces techniques vous permettront de récupérer des informations de réseau sur la machine elle-même.

La plupart des outils suivants sont disponibles dans les installations Linux standard. Si ce n'est pas le cas, ils sont tous disponibles via la gestion des paquets de votre distribution (apt, snap, rpm).

Trouver votre adresse IP à partir de la ligne de commande de la machine

Pour trouver l'adresse IP à partir de la ligne de commande, utilisez la commande ip dans l'une des variantes suivantes :

ip a
ip add
ip addr
ip -br -c a bref + couleurs

Par exemple, pour obtenir une vue d'ensemble concise de toutes les interfaces et des adresses attribuées, utilisez :

# ip -br -c a
lo UNKNOWN 127.0.0.1/8 ::1/128
enp1s0f0 UP
enp1s0f1 UP
bond0 UP 139.178.69.191/31 10.88.19.129/31 2604:1380:1000:c00::1/127 fe80::ec4:7aff:feb2:98dc/64

Pour plus d'informations sur l'utilisation de la commande ip, consultez l'un des [nombreux guides en ligne] (https://www.geeksforgeeks.org/ip-command-in-linux-with-examples/).

Identification des ports en écoute

Pour obtenir des informations sur les ports disponibles, utilisez la commande ss (statistiques sur les sockets) :

ss -l
ss -lp (afficher le processus) lsof -i

Par exemple, pour voir une liste de tous les ports d'écoute sur votre machine actuelle, utilisez :

# ss -lp
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
udp UNCONN 0 0 127.0.0.53%lo:domain 0.0.0.0:* users:(("systemd-resolve",pid=888,fd=12))
tcp LISTEN 0 4096 127.0.0.53%lo:domain 0.0.0.0:* users:(("systemd-resolve",pid=888,fd=13))
tcp LISTEN 0 128 0.0.0.0:ssh 0.0.0.0:* users:(("sshd",pid=1476,fd=3))
tcp LISTEN 0 4096 *:5201 *:* users:(("iperf3",pid=14162,fd=3))
tcp LISTEN 0 128 [::]:ssh [::]:* users:(("sshd",pid=1476,fd=4))

Pour obtenir une liste de tous les descripteurs de fichiers actuellement ouverts, utilisez l'option :

# lsof -i
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd-r 888 systemd-resolve 12u IPv4 20923 0t0 UDP localhost:domain
systemd-r 888 systemd-resolve 13u IPv4 20924 0t0 TCP localhost:domain (LISTEN)
sshd 1476 root 3u IPv4 27081 0t0 TCP *:ssh (LISTEN)
sshd 1476 root 4u IPv6 27083 0t0 TCP *:ssh (LISTEN)
sshd 1969 root 4u IPv4 27199 0t0 TCP metal-guide-00:ssh->123-123-100-10.sbcglobal.net:51434 (ESTABLISHED)

Pour plus d'informations sur la commande ss, consultez [ce guide.

Déterminer si une machine distante est accessible

Pour savoir si une machine est disponible sur le réseau, utilisez la commande ping :

ping [address]

Au-delà de l'existence d'une machine, vous voudrez peut-être savoir combien de temps il faut pour atteindre cette machine, ce que l'on appelle la latence. La sortie de ping vous le dira également.

L'exemple suivant montre que l'hôte distant packet.com est accessible avec une latence d'environ une milliseconde :

# ping packet.com
PING packet.com (104.18.26.66) 56(84) bytes of data.
64 bytes from 104.18.26.66 (104.18.26.66): icmp_seq=1 ttl=58 time=1.02 ms
64 bytes from 104.18.26.66 (104.18.26.66): icmp_seq=2 ttl=58 time=1.04 ms
64 bytes from 104.18.26.66 (104.18.26.66): icmp_seq=3 ttl=58 time=0.881 ms
64 bytes from 104.18.26.66 (104.18.26.66): icmp_seq=4 ttl=58 time=1.03 ms

Pour plus d'informations sur ping, voir [ce guide.

Vérifier si un port distant spécifique est accessible

Pour vérifier une adresse IP, ping est un excellent outil. Pour vérifier un port spécifique sur une autre machine, utilisez nc ou netcat, comme ceci :

nc -vz [address] [port]

Pour savoir si equinix.com port 443 est accessible depuis votre machine, utilisez :

# nc -vz equinix.com 443
Connection to equinix.com 443 port [tcp/https] succeeded!

Pour plus d'informations sur la commande nc, consultez [ce guide.

Vérifier si un port distant spécifique est accessible avec plus d'informations

Si vous souhaitez obtenir des informations plus détaillées sur l'état du port, utilisez nmap :

nmap -p [port] [address]

La même tâche réalisée avec l'outil nmap:

# nmap -p 443 equinix.com
Starting Nmap 7.80 ( https://nmap.org ) at 2022-03-01 03:51 UTC
Nmap scan report for equinix.com (40.91.78.229)
Host is up (0.023s latency).

PORT STATE SERVICE
443/tcp open https

Nmap done: 1 IP address (1 host up) scanned in 0.53 seconds

Pour plus d'informations sur l'utilisation de nmap, consultez [ce guide.

Détermination de l'itinéraire vers une adresse spécifiée

Comme nous l'avons vu précédemment, les routes sont dynamiques et vous souhaitez donc déterminer la route exacte utilisée pour une destination spécifique, à l'aide de la commande mtr :

mtr [address]
mtr -r -c 10 [address] (-cycles)

La commande mtr peut également vous indiquer combien de sauts sont contenus dans une route donnée et si l'un d'entre eux est plus lent que ce qui est acceptable.

Voici l'exemple de sortie pour un hôte, utilisant une IPv6, essayant d'atteindre un autre hôte.

metal-guide-00 (2604:1380:1000:c00::1) 2022-03-01T03:56:07+0000
Keys: Help Display mode Restart statistics Order of fields quit
Packets Pings
Host Loss% Snt Last Avg Best Wrst StDev
1. _gateway 0.0% 28 7.8 3.0 1.0 8.6 2.5
2. 0.ae147.dsr1.r00c02.sjc1.packet.net 0.0% 28 9.4 23.0 1.5 401.7 75.8
3. 0.ae11.bsr1.sjc1.packet.net 0.0% 28 17.5 2.4 0.7 21.2 4.8
4. 0.et-0-0-11.bsr1.sv5.packet.net 0.0% 28 1.5 4.4 1.3 40.5 9.2
5. 2001:4860:1:1::1d7f 0.0% 27 1.4 1.4 1.2 1.8 0.1
6. 2607:f8b0:82c2::1 48.1% 27 2.2 2.4 2.2 2.7 0.2
7. any-in-2001-4860-4802-36--15.1e100.net 0.0% 27 1.5 1.4 1.2 1.5 0.1

Pour plus d'informations sur mtr, voir [ce guide.

Vérification de la vitesse de connexion

Il arrive que vous souhaitiez tester directement la vitesse d'une connexion. Pour cela, vous devez installer l'utilitaire speedtest :

apt install speedtest-cli

Vous pouvez ensuite exécuter le test avec :

speedtest

Pour effectuer un test de vitesse sur le CLI, utilisez :

# speedtest
Retrieving speedtest.net configuration...
Testing from Packet Host (139.178.69.191)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Ayera Technologies, Inc. (Modesto, CA) [97.79 km]: 7.473 ms
Testing download speed................................................................................
Download: 1142.73 Mbit/s
Testing upload speed......................................................................................................
Upload: 1656.41 Mbit/s

Pour plus d'informations sur l'outil CLI Speedtest, consultez la [documentation officielle.

Mesure de la vitesse de transfert entre deux machines

Vous pouvez tester les vitesses de transfert entre deux machines à l'aide de l'utilitaire iPerf. Vous devrez installer iperf sur la machine locale et sur la machine distante :

apt install iperf3

Sur le serveur distant, pour commencer à écouter, utilisez :
iperf3 -s

Sur votre système local, utilisez :
iperf3 -c [target address] iperf3 -c [target address] -R (en sens inverse, distant -> local)

Le résultat pourrait ressembler à ceci :

# iperf3 -c 139.178.69.191
Connecting to host 139.178.69.191, port 5201
[ 5] local 192.168.0.233 port 52106 connected to 139.178.69.191 port 5201
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 35.2 MBytes 295 Mbits/sec
[ 5] 1.00-2.00 sec 53.8 MBytes 451 Mbits/sec
[ 5] 2.00-3.00 sec 27.0 MBytes 227 Mbits/sec
[ 5] 3.00-4.00 sec 51.8 MBytes 435 Mbits/sec
[ 5] 4.00-5.00 sec 43.6 MBytes 366 Mbits/sec
[ 5] 5.00-6.00 sec 38.7 MBytes 324 Mbits/sec
[ 5] 6.00-7.00 sec 41.5 MBytes 348 Mbits/sec
[ 5] 7.00-8.00 sec 43.7 MBytes 367 Mbits/sec
[ 5] 8.00-9.00 sec 44.5 MBytes 373 Mbits/sec
[ 5] 9.00-10.00 sec 46.1 MBytes 386 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate
[ 5] 0.00-10.00 sec 426 MBytes 357 Mbits/sec sender
[ 5] 0.00-10.06 sec 424 MBytes 354 Mbits/sec receiver

iperf Done.

Pour plus d'informations sur iPerf, consultez la [documentation officielle.

Visualisation de la charge du réseau par appareil

Pour obtenir une vue d'ensemble de la charge réseau sur chacun de vos appareils, utilisez l'utilitaire nload :

nload

Utilisez les touches fléchées pour faire défiler les appareils disponibles et appuyez sur q pour quitter.

Voici un exemple de sortie de nload :

Device bond0 [139.178.69.191] (1/5):
===========================================================================================
Incoming:
#####################
#####################
.#####################
######################
######################
######################
######################
######################
###################### Curr: 2.91 kBit/s
###################### Avg: 125.98 MBit/s
###################### Min: 2.90 kBit/s
###################### Max: 317.84 MBit/s
###################### Ttl: 1.20 GByte
Outgoing:









Curr: 30.23 kBit/s
. .. Avg: 1.01 MBit/s
################## Min: 7.57 kBit/s
###################| Max: 2.42 MBit/s
.#################### Ttl: 159.86 MByte

Pour plus d'informations sur nload, voir [ce guide.

Déterminer le propriétaire d'un domaine

Lorsque vous disposez d'une adresse distante et que vous souhaitez confirmer le propriétaire et d'autres informations du bureau d'enregistrement, utilisez la commande whois :

whois [address]

L'exemple suivant montre les informations whois pour le domaine equinix.com :

# whois equinix.com
Domain Name: EQUINIX.COM
Registry Domain ID: 2603897_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.corporatedomains.com
Registrar URL: http://cscdbs.com
Updated Date: 2021-08-22T05:11:35Z
Creation Date: 1998-08-27T04:00:00Z
Registry Expiry Date: 2022-08-26T04:00:00Z
Registrar: CSC Corporate Domains, Inc.
Registrar IANA ID: 299
Registrar Abuse Contact Email: domainabuse@cscglobal.com
Registrar Abuse Contact Phone: 8887802723
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Domain Status: serverDeleteProhibited https://icann.org/epp#serverDeleteProhibited
Domain Status: serverTransferProhibited https://icann.org/epp#serverTransferProhibited
Domain Status: serverUpdateProhibited https://icann.org/epp#serverUpdateProhibited
Name Server: DNS1.P07.NSONE.NET
Name Server: DNS2.P07.NSONE.NET
Name Server: DNS3.P07.NSONE.NET
Name Server: DNS4.P07.NSONE.NET
DNSSEC: unsigned
URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/
>>> Last update of whois database: 2022-03-01T04:03:24Z <<<

Pour plus d'informations sur whois, utilisez [ce guide.

Déterminer l'adresse d'un nom de domaine

La commande whois est très utile lorsque vous souhaitez obtenir des informations sur un domaine, mais il arrive parfois que vous souhaitiez connaître l'adresse spécifique à laquelle un nom de domaine est résolu. Pour cela, vous utilisez nslookup, ou pour une réponse plus détaillée, utilisez dig :

nslookup [address]
dig +trace [address]

Un exemple utilisant nslookup :

# nslookup equinix.com
Server: 127.0.0.53
Address: 127.0.0.53#53

Non-authoritative answer:
Name: equinix.com
Address: 40.91.78.229

Le même exemple en utilisant dig :

# dig +trace equinix.com

; <<>> DiG 9.16.1-Ubuntu <<>> +trace equinix.com
;; global options: +cmd
. 79825 IN NS e.root-servers.net.
. 79825 IN NS d.root-servers.net.
. 79825 IN NS g.root-servers.net.
. 79825 IN NS a.root-servers.net.
. 79825 IN NS k.root-servers.net.
. 79825 IN NS b.root-servers.net.
. 79825 IN NS i.root-servers.net.
. 79825 IN NS m.root-servers.net.
. 79825 IN NS l.root-servers.net.
. 79825 IN NS h.root-servers.net.
. 79825 IN NS j.root-servers.net.
. 79825 IN NS c.root-servers.net.
. 79825 IN NS f.root-servers.net.
;; Received 262 bytes from 127.0.0.53#53(127.0.0.53) in 0 ms

com. 172800 IN NS c.gtld-servers.net.
com. 172800 IN NS m.gtld-servers.net.
com. 172800 IN NS k.gtld-servers.net.
com. 172800 IN NS b.gtld-servers.net.
com. 172800 IN NS g.gtld-servers.net.
com. 172800 IN NS d.gtld-servers.net.
com. 172800 IN NS e.gtld-servers.net.
com. 172800 IN NS f.gtld-servers.net.
com. 172800 IN NS h.gtld-servers.net.
com. 172800 IN NS i.gtld-servers.net.
com. 172800 IN NS j.gtld-servers.net.
com. 172800 IN NS a.gtld-servers.net.
com. 172800 IN NS l.gtld-servers.net.
com. 86400 IN DS 30909 8 2 E2D3C916F6DEEAC73294E8268FB5885044A833FC5459588F4A9184CF C41A5766
com. 86400 IN RRSIG DS 8 1 86400 20220313210000 20220228200000 9799 . l/Qi4jz9Mm/17YNIjJM8Z9vBxY2LNM4EwJykZsFLMXg8AnbJDxaAGB3h 47gGMj8mzTpTpgRrmD6ohAh/HOpbzR74YlQze6rVp+fn5oBZGzxKlVvW jVhm0L2vVCBwoilPJJ13sWdVYxBYJC4E1H23vT4khtzEUtjHdNnSbTbl GrFk3DDb6oIR5AhPQZII+zbYWPgLxJS7MJ20ch9ZXpby44IQ/0L+cgly Il/y84Ix/jq4qpfMexbxjTBWa9cK3S+vBIpWnxv4372lEFTiN6SPFYfF YCQVafKCnNZxWq3DIdwDNJcgcZS4ezCkm08Y4PZ/phfHBWHoFaqNMMpw BSY0cg==
;; Received 1199 bytes from 192.112.36.4#53(g.root-servers.net) in 44 ms

equinix.com. 172800 IN NS dns1.p07.nsone.net.
equinix.com. 172800 IN NS dns2.p07.nsone.net.
equinix.com. 172800 IN NS dns3.p07.nsone.net.
equinix.com. 172800 IN NS dns4.p07.nsone.net.
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN NSEC3 1 1 0 - CK0Q1GIN43N1ARRC9OSM6QPQR81H5M9A NS SOA RRSIG DNSKEY NSEC3PARAM
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN RRSIG NSEC3 8 2 86400 20220304052328 20220225041328 38535 com. QBEVp5RQYWO4WbeNlRYtAg+ob5TeMdT9lidq3zTL5xoEWS8N9xGXMhjx JEnRCkf8+yirdIyLZvIqzKqKtvzr2WXVLpEDdoUsfpj3xdG1VDPXNbva 9bSOgIcOnfv0IUXJJXHhsp80NDWeFYbwR+wJMeEwgrHWQfyccyUejjpU JKK+uBrBP3D7wvHpnNIh1XnFk4f49bhdJCj5/ITzZyjR0Q==
2S6MCLRVGJJO7EJTAFM73G5O7INU7C84.com. 86400 IN NSEC3 1 1 0 - 2S6NAQI4JCBDB8UF5NFPLETQ9GTHE3P6 NS DS RRSIG
2S6MCLRVGJJO7EJTAFM73G5O7INU7C84.com. 86400 IN RRSIG NSEC3 8 2 86400 20220307055325 20220228044325 38535 com. RlR6BsuGKh937/apIR6FtvvQZ47Gv3CXUx0XotbbCGD3EtwsJfxY5bxa Yv3b2HnU+DqL1SChUD2MBAKr0SzNeTSa726Ymy6P75QDM7iGA9ObRRPP 6FEtkfcNxDqXx52pBQpiIQfVhRklW+VoRGD4V54vyC6jSq/PaOSoWCFE tD71VC4mvCbaox5KKUHPn2F8WH5rLFPqoRmHcFuAV01POw==
;; Received 678 bytes from 192.41.162.30#53(l.gtld-servers.net) in 24 ms

equinix.com. 300 IN A 40.91.78.229
;; Received 56 bytes from 2a00:edc0:6259:7:7::4#53(dns4.p07.nsone.net) in 0 ms

Pour plus d'informations sur la commande nslookup, consultez [ce guide.

Pour plus d'informations sur la commande dig, consultez [ce guide.

Détermination de la configuration matérielle locale

Pour obtenir des informations détaillées sur le matériel présent dans le système, utilisez la commande lshw (list hardware) :

lshw
lshw -class network
lshw -class network -short

Voici un exemple de sortie de lshw, qui aura souvent l'air encombré et chaotique :

# lshw -class network
*-network:0
description: Ethernet interface
product: I350 Gigabit Network Connection
vendor: Intel Corporation
physical id: 0
bus info: pci@0000:01:00.0
logical name: enp1s0f0
version: 01
serial: 0c:c4:7a:b2:98:dc
size: 1Gbit/s
capacity: 1Gbit/s
width: 32 bits
clock: 33MHz
capabilities: pm msi msix pciexpress bus_master cap_list rom ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=igb driverversion=5.6.0-k duplex=full firmware=1.52, 0x800007ae latency=0 link=yes multicast=yes port=twisted pair slave=yes speed=1Gbit/s
resources: irq:16 memory:88400000-8847ffff ioport:e020(size=32) memory:88580000-88583fff memory:88500000-8853ffff memory:88584000-885a3fff memory:885a4000-885c3fff
*-network:1
description: Ethernet interface
product: I350 Gigabit Network Connection
vendor: Intel Corporation
physical id: 0.1
bus info: pci@0000:01:00.1
logical name: enp1s0f1
version: 01
serial: 0c:c4:7a:b2:98:dc
size: 1Gbit/s
capacity: 1Gbit/s
width: 32 bits
clock: 33MHz
capabilities: pm msi msix pciexpress bus_master cap_list rom ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=igb driverversion=5.6.0-k duplex=full firmware=1.52, 0x800007ae latency=0 link=yes multicast=yes port=twisted pair slave=yes speed=1Gbit/s
resources: irq:17 memory:88480000-884fffff ioport:e000(size=32) memory:885c4000-885c7fff memory:88540000-8857ffff memory:885c8000-885e7fff memory:885e8000-88607fff
*-network
description: Ethernet interface
physical id: 3
logical name: bond0
serial: 0c:c4:7a:b2:98:dc
capabilities: ethernet physical
configuration: autonegotiation=off broadcast=yes driver=bonding driverversion=3.7.1 duplex=full firmware=2 ip=139.178.69.191 link=yes master=yes multicast=yes

Pour plus d'informations sur la commande lshw, consultez [ce guide.

Obtenir des informations spécifiques sur la carte réseau

Pour obtenir des informations plus précises sur la carte réseau et le pilote utilisés dans une machine spécifique, utilisez ethtool :

ethtool [DEVICE NAME]
ethtool -i [DEVICE NAME]

Pour plus d'informations sur ethtool, voir [ce guide.

Comprendre les règles du pare-feu

De nombreuses distributions Linux pré-déploient des règles de pare-feu ou des services tels que firewalld pour la sécurité de base du système. Ceux-ci peuvent vous gêner lors de la mise en place de réseaux. Sur les systèmes Linux, les filtres de paquets sont implémentés en utilisant iptables ou nftables, ce dernier étant plus récent mais ayant une interface de compatibilité avec iptables. Voici comment obtenir une liste de toutes les règles appliquées :

iptables -S

Rappelez-vous que iptables et nftables suivent tous deux le principe de la "première règle de correspondance". Cela signifie qu'un paquet entrant est traité en fonction de la première règle de correspondance.

Outils obsolètes

Vous connaissez peut-être d'anciens utilitaires de mise en réseau tels que arp, ifconfig ou route. Ces outils sont désormais obsolètes et remplacés par ip. L'outil netstat est remplacé par ss.

Conclusion

Cet article présente une vue d'ensemble des différents outils disponibles sur les systèmes Linux pour résoudre les problèmes de réseau. Bien que ces outils ne permettent pas de résoudre tous les problèmes de réseau, il est toujours bon de savoir où trouver les informations appropriées. Au moins, le fait d'avoir ces informations à portée de main accélérera les appels à l'assistance.

Cette page vous a-t-elle été utile ?