Dépannage du chemin réseau sous Linux
La mise en réseau peut s'avérer complexe. Connecter plusieurs boîtiers entre eux est relativement simple, mais faire circuler les bons éléments depuis les bons ordinateurs à travers l'Internet et les acheminer vers la bonne destination, pointés vers le bon port ouvert et à l'écoute du trafic, devient très vite très complexe. Avec les débits d'interconnexion proposés par Equinix, vous risquez de rencontrer des comportements réseau inhabituels.
Ce guide vous fournira des bases solides pour le dépannage réseau sous Linux. Bien qu'il soit généralement utile pour quiconque échange des bits entre serveurs, il se concentrera 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 pourrez fournir toutes les informations nécessaires à notre équipe de support client pour vous aider à résoudre le problème.
Conditions préalables
- Un compte Equinix Metal (https://console.equinix.com) donnant accès aux machines concernées.
- Un système Linux local (certains outils peuvent nécessiter un accès root/sudo)
- En option, l'outil CLI en métal
IPv4 et IPv6
Puisque nous parlons de réseaux, nous allons nous intéresser aux adresses IP. Vous connaissez probablement ces chiffres au quotidien, mais une compréhension plus approfondie vous aidera à identifier les points faibles. La plupart des données que nous aborderons utilisent le format IPv4, un format traditionnel.
IPv4
Dans IPv4, chaque appareil connecté à un réseau reçoit un identifiant unique, généralement appelé adresse IP. IP signifie protocole Internet et désigne un protocole standard utilisé pour la connectivité réseau. Les adresses IP sont composées de 32 bits, généralement représentés par quatre octets en notation décimale pointée (xxx.xxx.xxx.xxx). Une adresse IP peut être divisée en deux parties: la première partie représente la partie réseau et la seconde la partie hôte. Cette représentation est effectuée soit en notation CIDR (Classless Inter-Domain Routing), soit par un masque de sous-réseau. La première indique simplement le nombre de bits utilisés par le second. Par exemple, si vous avez une adresse IP Equinix de type 55.82.200.45/29, vous pouvez déterminer le masque de sous-réseau correspondant et les autres adresses IP disponibles dans ce bloc. Avec 29 bits (/29) dédiés au réseau, cela signifie que vous disposez de 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). Une conversion binaire simple permet de déterminer que les 8 adresses IP disponibles se situeront entre 55.82.200.40 et 55.82.200.40.48. Parmi celles-ci, la première (tous les bits à 0) est généralement réservée à l'adresse réseau et la dernière (tous les bits à 1) à l'adresse de diffusion. Ce sujet dépasse probablement le cadre de ce guide.
L'essentiel à retenir de l'analyse de l'adresse 55.82.200.45/29 est que l'appareil doté de cette adresse IP traitera toutes les adresses comprises entre 55.82.200.40 et 55.82.200.48 comme étant locales, et ne transmettra les requêtes provenant de l'extérieur de ce réseau qu'à sa passerelle par défaut ou à son routeur. Mais qu'est-ce qu'une passerelle, au juste ?
Internet est souvent considéré comme un « grand réseau », mais cette vision est quelque peu réductrice. En réalité, Internet ressemble davantage à une multitude de petits réseaux interconnectés. Chaque segment de réseau connecté à d'autres réseaux sur Internet se voit attribuer un numéro de système autonome (ASN). Les routeurs utilisent les ASN pour annoncer à tous les autres routeurs d'Internet les plages d'adresses IP dont ils sont responsables. Lorsqu'un ordinateur du réseau A souhaite communiquer avec un ordinateur du réseau B (ou tout ordinateur n'appartenant pas à son réseau local), il transmet sa requête au routeur configuré localement, généralement appelé passerelle ou passerelle par défaut. La passerelle achemine ensuite les paquets vers le routeur responsable du réseau auquel appartient l'adresse IP de l'hôte cible.
Le chemin qu'un paquet doit prendre pour se rendre de sa source à sa destination 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 de manière principalement dynamique en fonction des tables de routage mondiales. Cela permet à n'importe quel hôte, peu importe son sous-réseau Internet, de communiquer avec n'importe quel autre hôte. (Pour simplifier, on omet les cas particuliers comme les pare-feu.)
Si vous rencontrez des difficultés pour 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 dispose d'une image correcte de ses connexions réseau. Si ces tests sont concluants, la prochaine étape logique consiste à rechercher un problème de connectivité de la passerelle.
IPv6
Comme vous le savez peut-être, avec un nombre de 32 bits représentant tous les appareils connectés à Internet, nous n'aurions de place que pour environ 4,3 milliards d'appareils connectés, un chiffre bien inférieur au nombre d'adresses IP réservées aux réseaux locaux. Et si 3 milliards peuvent paraître considérables, ce n'est certainement pas le cas compte tenu de la population mondiale et du nombre d'appareils connectés que nous possédons et avec lesquels nous interagissons quotidiennement. De plus, la façon dont les blocs d'adresses IP peuvent être subdivisés et déplacés peut rapidement encombrer les tables de routage. En fait, la plupart des autorités régionales n'ont plus que leur bloc final de /8 (environ 16 millions) d'adresses IP depuis 2015.
Le protocole IPv6 a été introduit pour pallier ce problème grâce à ses adresses de 128 bits, offrant ainsi 2^128, soit 3,4 x 10^32 adresses IP disponibles, ce qui est « probablement suffisant pour l'avenir prévisible ». Au lieu d'un masque de sous-réseau modifiable, IPv6 utilise 64 bits fixes pour les parties hôte et réseau de l'adresse. Conçu en tenant compte de la nature originale d'Internet, qui repose sur une communication de bout en bout, le routage d'IPv6 diffère légèrement de celui d'IPv4: les routeurs sont soumis à des exigences différentes et légèrement simplifiées, et les nœuds finaux effectuent un travail plus important. Il existe d'autres différences entre les deux versions du protocole, mais la principale différence, pour les besoins de ce guide, réside dans la notation.
Alors qu'IPv4 s'écrit sous forme de 4 octets décimaux (groupes de 8 bits ou octets) séparés par des points ou des points, IPv6 s'écrit sous forme de 8 hextets hexadécimaux (groupes de 16 bits ou octets) séparés par des deux-points. Pour plus de commodité et de clarté, IPv6 inclut également des règles d'abréviation: tous les 0 initiaux peuvent être supprimés dans chaque hextet, et les hextets consécutifs contenant uniquement des 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 des utilisations multiples rendraient l'adresse vague et indéterminée.
Par exemple, vous pourriez obtenir l'adresse IPv6 2001:0db8:0000:0000:0000:ff00:0042:8329. Après avoir supprimé les 0 initiaux, il vous resterait 2001:db8:0:0:0:ff00:42:8329 et après avoir compressé les hextets consécutifs de 0, il vous resterait 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 64 bits pour l'hôte, sont les principales implications pour le dépannage IPv6, dans 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 Equinix Metal
Depuis la Console, ouvrez l'organisation Projet Serveurs Nom d'hôte du serveur (adresse IPV4/6).
Utilisation de l'interface de ligne de commande Equinix Metal
Si vous utilisez l'interface de ligne de commande 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 utilisateur Web / CLI avec vos systèmes
Obtenir les adresses IP via la console Equinix Metal ou l'interface de ligne de commande est utile, mais il est parfois préférable d'accéder directement à la source. Ces techniques vous permettront de récupérer les informations réseau sur la machine elle-même.
La plupart des outils suivants sont disponibles sur les installations Linux standard. Sinon, ils sont tous accessibles via le gestionnaire de 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 brief + couleurs
Par exemple, pour générer un aperçu concis 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.
Déterminer quels ports écoutent
Pour obtenir des renseignements sur les ports disponibles, utilisez la commande ss (statistiques des 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:
# 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]
Outre la vérification de l'existence d'une machine, vous pourriez aussi vouloir connaître le temps nécessaire pour l'atteindre, aussi appelé latence. La fonction ping vous fournira aussi cette information.
L'exemple suivant illustre la disponibilité de l'hôte distant packet.com 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, consultez [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 déterminer si le port 443 d'equinix.com 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
Pour obtenir des renseignements plus détaillés sur l'état du port, utilisez nmap:
nmap -p [port] [address]
La même tâche effectuée à l'aide de 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éterminer l'itinéraire vers une adresse spécifiée
Comme mentionné précédemment, les itinéraires sont dynamiques, vous devez donc déterminer l'itinéraire exact utilisé pour atteindre une destination spécifique, à l'aide de la commande mtr:
mtr [address]
mtr -r -c 10 [address] (-cycles)
La commande mtr peut aussi vous indiquer le nombre de sauts contenus dans un itinéraire donné, et si l'un d'eux est plus lent que ce qui est acceptable.
Voici l'exemple de sortie pour un hôte, utilisant une IP 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, consultez [ce guide.
Test de la vitesse de connexion
Vous voudrez peut-être tester directement la vitesse d'une connexion. Pour cela, vous devrez installer l'utilitaire speedtest:
apt install speedtest-cli
Vous pouvez ensuite exécuter le test avec:
speedtest
Pour effectuer un test de vitesse sur la 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 Speedtest CLI, consultez la [documentation officielle.
Mesurer la vitesse de transfert entre deux machines
Vous pouvez tester les vitesses de transfert entre deux machines avec l'utilitaire iPerf. Vous devrez l'installer sur les deux machines, locale et distante.
apt install iperf3
Sur le serveur distant, pour démarrer l'écoute, 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.
Affichage de la charge du réseau par appareil
Pour obtenir une vue d'ensemble plus complète de la charge réseau sur chacun de vos appareils, utilisez l'utilitaire nload:
nload
Utilisez les touches fléchées pour parcourir les appareils disponibles et appuyez sur q pour quitter.
Voici un exemple de résultat 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, consultez [ce guide.
Déterminer le propriétaire d'un domaine
Lorsque vous avez une adresse distante et que vous souhaitez confirmer le propriétaire et d'autres informations sur le registraire, 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 pratique pour obtenir des informations sur un domaine, mais il arrive qu'on ait besoin de connaître l'adresse IP précise à laquelle un nom de domaine est résolu. Dans ce cas, on utilise nslookup, ou dig pour une réponse plus détaillée.
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 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éterminer la configuration matérielle locale
Pour obtenir des renseignements détaillés sur le matériel présent dans le système, utilisez la commande lshw (liste de matériel):
lshw
lshw -class network
lshw -class network -short
Voici un exemple de résultat de lshw, qui paraîtra souvent 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 renseignements plus précis sur la carte réseau et le pilote utilisé dans une machine spécifique, utilisez ethtool:
ethtool [DEVICE NAME]
ethtool -i [DEVICE NAME]
Pour plus d'informations sur ethtool, consultez [ce guide.
Déterminer les règles du pare-feu
De nombreuses distributions Linux préinstallent des règles ou des services de pare-feu, tels que firewalld, pour assurer la sécurité de base du système. Ces éléments peuvent compliquer la configuration des réseaux. Sur les systèmes Linux, le filtrage des paquets est implémenté à l'aide de iptables ou nftables, ce dernier étant plus récent mais compatible avec iptables. Voici comment obtenir la liste de toutes les règles appliquées:
iptables -S
N'oubliez pas que iptables et nftables suivent tous deux le principe de la « première correspondance ». Cela signifie qu'un paquet entrant est traité selon la première règle correspondante.
Outils obsolètes
Vous connaissez peut-être d'anciens utilitaires réseau tels que arp, ifconfig ou route. Ces outils sont maintenant désuets et remplacés par ip. L'outil netstat est remplacé par ss.
Conclusion
Cet article présente les différents outils disponibles sur les systèmes Linux pour résoudre les problèmes réseau. Bien que ces outils ne résolvent pas tous les problèmes réseau, il est toujours utile de savoir où trouver les informations appropriées. À défaut, avoir ces informations à portée de main accélérera les appels au support.