Dans le monde d’aujourd’hui, la connectivité Internet permet l’utilisation et le transfert d’informations sur un réseau. Travailler dans un rôle axé sur le réseau nécessite que les administrateurs système soient conscients des problèmes possibles et soient capables de les résoudre.
Ainsi, dans un environnement qui nécessite une communication efficace pour les activités quotidiennes, vous devez connaître les outils réseau Linux/Unix et savoir les utiliser pour résoudre les problèmes de connectivité Internet. Cet article vous aidera à identifier les problèmes de réseau possibles sous Linux et vous fournira des moyens de les résoudre.
Dépannage des connexions entrantes et sortantes
Avant de commencer à résoudre les problèmes, il est important d’identifier si le problème se situe côté client ou côté serveur. Cette section couvre les moyens d’identifier les problèmes de connexion sortante et entrante sous Linux.
Identifier et résoudre les problèmes de connexion sortante
En tant que client essayant d’accéder au site Web, vous pouvez parfois trouver le site Web indisponible. Le problème peut provenir de la résolution du nom ou de la connexion en dehors de votre réseau local.
Pour identifier la raison exacte, vous pouvez commencer par envoyer des demandes d’écho ICMP à l’aide de la commande ping et attendre la réponse.
ping <ip_add>
En cas d’absence de connectivité réseau ou de perte de paquets à 100 %, une autre possibilité peut être l’absence de toute interface réseau. Exécutez le IP pour vérifier l’état de toutes les interfaces disponibles sur votre système :
ip add show
La sortie de la commande affiche l’état de chaque interface réseau sous la forme UP ou DOWN. L’interface avec l’état DOWN dans la sortie n’aura aucune adresse IP attribuée, ce qui peut être la raison possible du problème de connectivité.
Vous pouvez résoudre le problème en modifiant l’état d’Internet en exécutant :
sudo ifup <interface_name>
Maintenant, si l’interface est disponible mais que le serveur n’est toujours pas accessible, utilisez la commande ping pour trouver l’adresse IP du routeur et vérifier s’il est joignable :
ping <router's_ip_add>
Le paquet n’atteint pas le routeur s’il est physiquement déconnecté ou éteint. Si la connexion réussit, envoyez un ping à tout système au-delà de votre routeur, et l’indisponibilité du site Web dans ce scénario peut être due à des problèmes de service DNS.
Si le serveur est accessible, mais que la connexion est lente, vous pouvez identifier la cause première en exécutant la commande traceroute car elle affiche le temps nécessaire à un paquet pour atteindre chaque nœud intermédiaire.
traceroute <ip_add>
Résoudre les problèmes de connexion entrante
La plupart des organisations configurent les systèmes Linux en tant que serveurs et ont des exigences de haute disponibilité. Par exemple, un serveur Apache hébergeant un site Web peut n’avoir aucune portée client, ce qui entraîne des problèmes de réseau entrant. Les noms d’hôte du site Web sont enregistrés sur un serveur DNS public qui résout leur nom en une adresse IP.
Si la résolution nom-adresse fonctionne correctement, vous pouvez envoyer un ping au serveur à partir d’un client Linux pour vérifier sa disponibilité depuis l’extérieur. De même, à partir du client Linux, vous pouvez vérifier si le service httpd est en cours d’exécution à l’aide de la commande nmap.
Nmap est l’outil le plus puissant et le plus polyvalent utilisé par les administrateurs réseau pour vérifier les services exécutés sur un réseau. Cependant, c’est aussi un cracker qui peut fournir des informations relatives au système aux intrus.
Vous pouvez exécuter l’outil pour vérifier si les ports de votre serveur sont disponibles pour les connexions extérieures. Utilisez le nom d’hôte ou l’adresse IP pour analyser le système afin d’exécuter des services/ports :
nmap <hostname/ip_add>
Si les états des ports TCP 80 et 443 sont opérationnels pour les services HTTP et HTTPS, cela indique que le service écoute les connexions entrantes. Cette situation vous oblige à vérifier comment le service est configuré dans le fichier de configuration principal : /etc/httpd/conf/httpd.conf.
En outre, l’absence des ports TCP 80 et 443 indique que le pare-feu bloque les ports et les filtre, tandis qu’un état fermé dans la sortie Nmap signifie que le service httpd n’est pas en cours d’exécution ou n’écoute pas le port.
Résoudre les problèmes de serveur DNS
Si vous pouvez envoyer un ping à l’adresse IP du site Web et qu’il n’est pas accessible via le navigateur, vous avez un problème avec la résolution du nom d’hôte. Le client-serveur communiquant sur Internet effectue la résolution du nom d’hôte à l’adresse en communiquant avec le serveur DNS.
Dans les systèmes d’exploitation Linux/Unix, vous configurez le serveur DNS soit en les saisissant manuellement, soit en demandant au serveur DHCP une attribution automatique lors du démarrage des interfaces. Dans les deux cas, les adresses de serveur DNS sont disponibles à l’intérieur du /etc/resolv.conf fichier.
Par conséquent, chaque fois que vous essayez de vous connecter à un site Web, il recherche l’hôte dans le /etc/hosts fichier et passe à la recherche des adresses de serveur DNS une par une dans le résolution.conf fichier. Il vérifie les serveurs jusqu’à ce qu’il ne trouve pas l’hôte pour renvoyer l’erreur « Hôte introuvable ».
Pour déboguer les problèmes liés au DNS, commencez par vérifier si le serveur DNS est accessible à l’aide de la commande ping, comme suit :
ping -c <dns_server_address>
Vérifiez si le serveur fonctionne ou effectue une résolution de nom en adresse IP à l’aide de la commande dig ou host, comme suit :
dig @X.X.X.X www.google.com
host www.google.com X.X.X.X
Si le service NetworkManager est activé et qu’une mauvaise adresse IP de serveur DNS est trouvée, vous ne pouvez tout simplement pas ajouter d’entrée au résolution.conf fichier. Cela est dû au fait que NetworkManager remplace les entrées de fichier et se connecte au serveur DHCP pour une attribution automatique.
Pour résoudre ce problème, ouvrez les fichiers d’interface pour ajouter PEERDNS=non et définissez la nouvelle adresse comme DNS1=XXXX.
# On CentOS/Fedora/RHEL
sudo vim /etc/sysconfig/network-scripts/<interface_name># On Ubuntu/Debian
sudo vim /etc/network/interfaces
Une fois que vous avez ouvert les fichiers, ajoutez les lignes suivantes :
PEERDNS=no
DNS1=X.X.X.X
L’extrait de commande susmentionné empêchera DHCP d’écraser l’adresse DNS vous permettant de modifier le résolution.conf fichier directement.
Dépannage du pare-feu sous Linux
Le paramètre de pare-feu par défaut de Linux peut bloquer toutes les connexions entrantes sur les ports TCP 80 et 443. Recherchez toute règle DROP/REJECT dans le /etc/sysconfig/iptables fichier avant d’ajouter une règle pour les ports TCP. Déplacez la règle des ports ouverts au-dessus de DROP/REJECT pour résoudre le problème.
En outre, vous pouvez également vérifier si le pare-feu supprime les paquets vers/depuis un hôte spécifique. Dans le fichier iptables, recherchez une adresse IP et une valeur DROP/ACCEPT suivies du -s et -j drapeaux. Vous pouvez soit modifier la règle, soit en créer une nouvelle spécifique à l’hôte et la placer au-dessus des autres pour en faire une exception.
Résoudre les problèmes de réseau sous Linux
Cet article couvre les techniques de niveau débutant à avancé pour identifier et résoudre tout problème de connectivité Internet sous Linux. Avant de commencer à dépanner, il est important d’identifier la cause première du problème et de prendre des mesures efficaces.
Vous pouvez en savoir plus sur le dépannage des problèmes et être plus créatif pour les identifier et les résoudre en vous renseignant sur les différents outils de mise en réseau disponibles dans Linux.
Lire la suite
A propos de l’auteur