J'ai du mal à me connecter à une instance Linux Amazon EC2. Existe-t-il des outils permettant de résoudre les problèmes de connexion réseau ?

Les problèmes de connectivité entre les nœuds d'un réseau TCP/IP sont généralement dus à des informations de routage incorrectes dont les causes peuvent être les suivantes, sans s'y limiter :

  • Serveur(s) DNS non autorisé(s) : si un client demande des informations à un serveur DNS non autorisé qui est mal configuré, les informations renvoyées ne sont pas fiables.
  • Entrées incorrectes du fichier HOSTS : la plupart des systèmes d'exploitation implémentent un fichier HOSTS où les mappings hôte-adresse IP peuvent être définis statiquement. Sur les systèmes d'exploitation Linux, ce fichier est généralement conservé dans le répertoire /etc/hosts et il a le format suivant :
        1.2.3.4    hostname
    1.2.3.4 correspond à l'adresse IP physique utilisée pour référencer hostname.
  • Panne matérielle : en cas de panne matérielle d'un serveur DNS, les enregistrements DNS gérés par les serveurs DNS ne sont pas mis à jour comme prévu, ce qui peut entraîner l'envoi de mappings hôte-adresse IP incorrects aux clients.
  • Ports TCP/IP bloqués : si un port requis par un service ou un protocole de la couche applicative est bloqué, les communications réseau sont bloquées.
  • Configuration TCP/IP du client incorrecte : si un client est mal configuré, il peut rencontrer des problèmes de connectivité de divers niveaux. Cela peut se produire lorsqu'un client est configuré pour utiliser la configuration TCP/IP automatique et qu'il est incapable de récupérer les informations de configuration ou qu'il reçoit des informations de configuration incorrectes.

L'utilitaire ping envoie un paquet ICMP (Internet Control Message Protocol) à l'adresse IP ou au nom de réseau indiqué depuis un client :

ubuntu@ip-10-0-0-252:~$ sudo ping -c 1 www.amazon.com

PING www.amazon.com (54.239.19.16) 56(84) bytes of data.

--- www.amazon.com ping statistics ---

1 packets transmitted, 0 received, 100% packet loss, time 0ms

De nombreux serveurs accessibles publiquement annulent la priorité des paquets ICMP entrants. En conséquence, il n'est pas rare qu'une demande ping renvoie des statistiques indiquant 100 % de perte de paquets. Lors du lancement d'une demande ping, il est important de vérifier les points suivants :

  1. La demande ping résout-elle le nom en adresse IP ? Par exemple, dans l'exemple précédent, le nom www.amazon.com a été résolu en adresse IP 54.239.19.16 même si aucune réponse ping n'a été renvoyée. Si un autre nom d'hôte avait été utilisé, par exemple www.bamazon.com, la résolution de nom aurait échoué et aucune demande ping n'aurait été tentée :
           ubuntu@ip-10-0-0-252:~$ sudo ping -c 1 www.bamazon.com
           ping: unknown host www.bamazon.com
  2. Si le nom est résolu en adresse IP, il y a de grandes chances que la destination soit accessible via un autre service ou protocole de la couche applicative. Par exemple, même si le délai d'attente d'une demande ping à www.amazon.com est dépassé, la connexion à http://www.amazon.com aboutit généralement, car cette destination est un serveur Web qui accepte les demandes de navigateur via le port 80.
  3. Si la demande ping aboutit et qu'une réponse est renvoyée, vérifiez que les réponses ont été renvoyées dans un délai raisonnable (<250 ms). Utilisez le commutateur -c pour spécifier le nombre de demandes ping. Si moins de la moitié des demandes ping spécifiées sont renvoyées ou si le temps de réponse moyen dépasse 250 ms, des étapes de dépannage supplémentaires peuvent être requises. Pour spécifier le délai d'attente d'une demande ping en millisecondes, utilisez le commutateur -W. Pour envoyer continuellement des demandes ping à la destination jusqu'à ce qu'elle soit arrêtée, utilisez le commutateur -W avec la valeur 0, par exemple :
           sudo ping –W 0 www.ubuntu.org
    Appuyez sur la combinaison de touches Ctrl+C pour arrêter de générer des demandes ping.
  4. L'adresse est-elle résolue en nom d'hôte ? Pour tester la résolution d'adresse en nom d'hôte, utilisez la commande Linux nslookup et spécifiez l'adresse IP de la destination. Par exemple, la demande nslookup suivante en mode non interactif teste la résolution d'adresse en nom d'hôte d'une des adresses IP associées à www.ubuntu.org :
           ubuntu@ip-10-0-0-252:~$ nslookup 82.98.134.233
           Server:      10.0.0.2
           Address:    10.0.0.2#53

           Non-authoritative answer:
           233.134.98.82.in-addr.arpa      name = hl231.dinaserver.com.

    Notez que la réponse a renvoyé le nom hl231.dinaserver.com, qui est l'un des serveurs Web à charge équilibrée traitant les demandes de http://www.ubuntu.org.

Pour en savoir plus sur le protocole ICMP, consultez Understanding the ICMP Protocol (Part 1) et Understanding the ICMP Protocol (Part 2).

L'utilitaire Linux traceroute identifie le chemin suivi depuis un nœud client jusqu'au nœud de destination spécifié et le temps de réponse à une demande, en millisecondes, de chaque routeur identifié dans ce chemin. Par défaut, l'utilitaire traceroute utilise une valeur maximale par défaut de 30 sauts. Si le chemin entre le client et la destination nécessite plus de 30 routeurs ou sauts, vous pouvez augmenter le nombre maximal de sauts à l'aide du commutateur -h. Etant donné que les demandes traceroute dépendent des réponses aux demandes ICMP, certains sauts de l'itinéraire peuvent abandonner des demandes en faveur d'un trafic réseau ayant une priorité supérieure.

La commande traceroute suivante a été émise à partir d'une instance Amazon Web Services EC2 d'Ubuntu Linux 14.04. Les arguments -T -p 80 -n exécutent un traçage basé sur TCP sur le port 80 et renvoient les adresses IP au lieu des noms d'hôte. L'option Linux traceroute permettant de spécifier un traçage basé sur TCP au lieu de s'appuyer sur le protocole ICMP est utile car la plupart des appareils Internet annulent la priorité des demandes trace basées sur ICMP. L'option Linux traceroute permettant de récupérer uniquement les adresses IP est utile lorsque les noms d'hôte renvoyés sont incorrects ou trompeurs :

ubuntu@ip-10-0-0-252:~$ sudo traceroute -T -p 80 -n www.ubuntu.org

traceroute to www.ubuntu.org (82.98.134.233), 30 hops max, 60 byte packets

1  * * *

2  * * *

3  * * *

4  100.64.16.75    1.176 ms

   100.64.16.129   1.059 ms

   100.64.16.209   0.923 ms

5  54.239.48.178   3.958 ms

   54.239.48.184   1.200 ms

   54.239.48.178   1.805 ms

6  205.251.232.204 1.198 ms

   205.251.232.154 1.793 ms

   205.251.232.142 1.549 ms

7  205.251.232.76  6.341 ms

   205.251.232.78  6.546 ms

   205.251.232.76  7.611 ms

8  205.251.226.230 6.220 ms  7.418 ms

   205.251.226.192 8.096 ms

9  198.104.202.189 9.178 ms

   129.250.201.165 9.006 ms

   198.104.202.181 9.001 ms

10 129.250.5.44    8.746 ms

   129.250.5.48    8.912 ms

   129.250.5.44    27.57 ms

11 * 129.250.2.50  86.83 ms  *

12 129.250.3.127   153.9 ms  144.401 ms  161.867 ms

13 129.250.4.138   176.5 ms  165.466 ms  181.772 ms

14 62.73.183.78    166.5 ms  166.834 ms  169.297 ms

15 * * *

16 82.98.134.233   177.9 ms  164.656 ms  169.607 ms

Le dépassement du délai d'attente de quelques demandes ne constitue généralement pas un problème dont il faut s'inquiéter. Par contre, vous devez surveiller les pertes de paquets à destination ou au niveau du dernier saut de l'itinéraire. L'accumulation de pertes de paquets sur plusieurs sauts peut également indiquer un problème.

Important : Lorsque vous résolvez les problèmes de connectivité réseau à l'aide de l'utilitaire traceroute, il est souvent bénéfique d'exécuter la commande dans les deux sens, c'est-à-dire du client vers le serveur, puis du serveur vers le client. S'il y a des différences de latence importantes dans l'un des chemins, envisagez de consulter l'excellent article Traceroute (http://cluepon.net/ras/traceroute.pdf) de Richard A Steenbergen. L'auteur y décrit en détails les complexités d'une analyse correcte de l'itinéraire.

La commande Linux mtr fournit une sortie mise à jour en permanence, ce qui vous permet d'analyser les performances du réseau au fil du temps.

Remarque : Si l'utilitaire mtr n'est pas installé sur Ubuntu Linux, obtenez-le en exécutant la commande suivante :
       sudo apt-get install mtr

Pour afficher la liste des options de ligne de commande mtr, exécutez la commande mtr -h

ubuntu@ip-10-0-0-252:~$ mtr www.ubuntu.org

                                  My traceroute  [v0.85]

ip-10-0-0-252 (0.0.0.0)                                            Sat Nov 22 18:54:13 2014

Keys:  Help   Display mode   Restart statistics   Order of fields  quit

                                                    Packets               Pings

Host                                             Loss%   Snt   Last   Avg  Best  Wrst StDev

 1. ???

 2. ???

 3. ???

 4. 100.64.16.139                                 0.0%    64    2.4   2.3   0.6  32.6   5.4

 5. 54.239.48.186                                 0.0%    64    0.9   2.2   0.8  19.8   4.0

 6. 205.251.232.210                               0.0%    64    1.5   2.4   0.7  17.7   3.7

 7. 205.251.232.76                                0.0%    64   37.6  11.1   6.1  47.2   7.9

 8. 205.251.225.165                               0.0%    64   14.2   7.1   5.6  28.4   4.2

 9. ae-8.r05.sttlwa01.us.bb.gin.ntt.net           0.0%    63    7.7   9.3   7.3  26.7   4.9

10. ae-7.r21.sttlwa01.us.bb.gin.ntt.net           0.0%    63    7.4  10.2   7.2  35.4   6.1

11. ae-3.r22.nycmny01.us.bb.gin.ntt.net          22.2%    63   73.7  82.2  73.1 101.7   8.8

12. ae-5.r22.londen03.uk.bb.gin.ntt.net           0.0%    63  153.1 159.2 142.1 223.3  17.7

13. ae-6.r01.mdrdsp03.es.bb.gin.ntt.net           0.0%    63  174.9 176.1 165.4 193.2   6.3

14. dinahosting-0.r01.mdrdsp03.es.bb.gin.ntt.net  0.0%    63  174.6 182.7 164.1 263.1  21.3

15. ???

16. hl231.dinaserver.com                          0.0%    63  175.5 178.4 166.1 200.4   7.4

 

mtr fournit également une option --report qui résume les résultats de l'envoi de 10 paquets ping à chaque tronçon :

ubuntu@ip-10-0-0-252:~$ mtr --report www.ubuntu.org

Start: Sat Nov 22 19:06:10 2014

HOST: ip-10-0-0-252               Loss%   Snt   Last   Avg  Best  Wrst StDev

  1.|-- ???                       100.0    10    0.0   0.0   0.0   0.0   0.0

  2.|-- ???                       100.0    10    0.0   0.0   0.0   0.0   0.0

  3.|-- ???                       100.0    10    0.0   0.0   0.0   0.0   0.0

  4.|-- 100.64.16.139              0.0%    10    0.8   0.8   0.5   1.4   0.0

  5.|-- 54.239.48.186              0.0%    10    1.0   1.1   0.8   2.0   0.0

  6.|-- 205.251.232.210            0.0%    10    0.8   1.3   0.8   2.9   0.5

  7.|-- 205.251.232.76             0.0%    10    6.1   8.3   6.1  18.2   3.4

  8.|-- 205.251.225.165            0.0%    10    6.3   5.8   5.6   6.3   0.0

  9.|-- ae-8.r05.sttlwa01.us.bb.g  0.0%    10    7.5   7.5   7.4   7.6   0.0

 10.|-- ae-7.r21.sttlwa01.us.bb.g  0.0%    10    8.8  10.2   7.3  33.4   8.1

 11.|-- ae-3.r22.nycmny01.us.bb.g  0.0%    10   73.8  78.2  73.3 108.2  10.9

 12.|-- ae-5.r22.londen03.uk.bb.g 10.0%    10  151.6 154.8 145.4 169.5   6.5

 13.|-- ae-6.r01.mdrdsp03.es.bb.g  0.0%    10  175.0 174.1 165.7 178.3   3.5

 14.|-- dinahosting-0.r01.mdrdsp0  0.0%    10  173.8 172.2 165.1 176.4   4.3

 15.|-- ???                       100.0    10    0.0   0.0   0.0   0.0   0.0

 16.|-- hl231.dinaserver.com      10.0%    10  183.1 177.9 168.1 192.4   7.5

Remarque : Etant donné que le chemin entre les nœuds d'un réseau TCP/IP peut changer quand le sens est inversé, il est important d'obtenir les résultats du traçage d'itinéraire dans les deux sens.

Amazon Elastic Compute Cloud, Linux, résolution des problèmes réseau, ping, traceroute, tracert, mtr

En plus de ping, traceroute et mtr, envisagez d'utiliser l'un des nombreux utilitaires disponibles publiquement proposés par les fournisseurs de service Internet (ISP), tels que les serveurs « Looking Glass ». Pour en savoir plus, consultez l'article Wikipédia Looking Glass Server.

Pour en savoir plus sur la résolution des problèmes TCP/IP, consultez Traceroute.

Quelles sont les commandes Linux les plus couramment utilisées ?


Cette page vous a-t-elle été utile ? Oui | Non

Retour au Centre de connaissances AWS Support

Vous avez besoin d'aide ? Consultez le site du Centre AWS Support.