ping 8.8.8.8 fonctionne mais ping www.google.com ne fonctionne pas

11

J'exécute le serveur Ubuntu 16.04.2 et apt-get updaterenvoie un échec temporaire en résolvant "tout sur la liste".

  • Lorsque je lance un ping sur www.google.com, il répond avec un hôte inconnu.
  • Lorsque je fais un ping avec 8.8.8.8, je reçois des paquets envoyés sans erreur, etc.

J'ai essayé tous les "correctifs" que je peux trouver sur les forums Ubuntu et dans le reste du monde Internet et rien ne fonctionne. Le resolv.confest vide, ifconfig indique que nic fonctionne, le pare-feu est désactivé et j'ai jeté le marteau au cas où. Malheureusement, je tape ceci sur un autre ordinateur sur le même réseau, mais je ne peux pas joindre de texte à partir des différentes sorties pour montrer ce qui se passe. Besoin d'aide à ce sujet s'il vous plaît.

Le fichier resolv.conf contient ces lignes:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
search 8.8.8.8 8.8.4.4

La dernière ligne est placée par le fichier d'interface lorsque vous redémarrez le système. Ceci est nouveau pour 16.04LTS. Je pense que Windows NT4 n'était pas si mal et Ubuntu Server 12 non plus.

Gary Mercer
la source
2
Comment votre système obtient-il son adresse IP? Provient-il d'un serveur DHCP? C'est une IP statique? La possibilité d'envoyer une requête ping à l'adresse IP fonctionnera sans configuration IP du serveur DNS. Mais il semble que vous n'ayez pas de configuration d'adresse DNS ou que votre DHCP ne la fournisse pas.
Terrance
L'IP est statique. Je n'ai jamais configuré le serveur DNS lorsque j'ai installé le logiciel serveur.
Gary Mercer
Regardez askubuntu.com/questions/143819/… et ajoutez votre entrée DNS pour comme les serveurs DNS Google à 8.8.8.8 et 8.8.4.4
Terrance
J'ai fait tout ça. Mon IP statique provient de la boîte at & t vdsl. J'utilise leurs serveurs de noms DNS et leurs adresses IP de recherche DNS. La seule chose que je peux en déduire, c'est que & t bloque les requêtes DNS.
Gary Mercer
Intéressant. Vous voudrez peut-être contacter AT&T et voir s'ils le bloquent de toute façon. Je suppose que vous pouvez essayer de remplacer leurs serveurs DNS par les serveurs DNS de Google et voir si cela fonctionne.
Terrance

Réponses:

16

Vous avez besoin d'un serveur de noms dans votre /etc/resolv.conffichier. Modifiez votre /etc/resolv.confet ajoutez un serveur de noms fonctionnel. Google en fournit un gratuitement 8.8.8.8.

Faites ceci:

$ nano /etc/resolv.conf

Placez-le comme première ligne non commentée:

nameserver 8.8.8.8

Vous pouvez vérifier cette fonctionnalité avec:

$ ping -c10 www.google.com

Vous pouvez rendre cette modification permanente en ajoutant la ligne à ce fichier dans votre /etc/resolvconf/resolv.conf.d/headfichier.

LD James
la source
Whoopie! Succès! excusez-moi, 36 heures d'affilée frappant sur cette boîte ... Ça a marché. J'ai même mis les ip d'AT & T et ça a marché. Merci à tous pour votre aide et votre rapidité. (M. Modérateur, ces gars-là avaient besoin d'une tape dans le dos, donc soulagez toute la cochonne sans émotion)
Gary Mercer
resolv.conf n'autorise pas la modification
Syam kumar KK
contrairement à la réponse de @Ragy Morkos, cela a fonctionné pour moi également dans ubuntu 18.04 LTS
Gwang-Jin Kim
Merci beaucoup! Je n'ai pas pu cingler www.google.com après être entré dans mon ubuntu. Grâce à votre solution, je peux maintenant faire des installations, etc. dans la partition chroot-ed.
Gwang-Jin Kim
3

La réponse marquée ne fonctionne pas sur Ubuntu 18.04.01. Pour résoudre ce problème, voici ce que j'ai fait:

  • Exécuter sudo gedit /usr/lib/systemd/resolv.conf
  • Collez nameserver 8.8.8.8(et / ou tout autre serveur de noms que vous souhaitez), puis enregistrez et quittez.
  • Ajouter un lien symbolique en exécutant sudo ln -sf /usr/lib/systemd/resolv.conf /etc/resolv.conf

Crédits à https://askubuntu.com/a/1050280/899241

Ragy Morkos
la source
2

Pourriez-vous publier un lien vers la page vous indiquant que le fichier resolv.conf doit être vide? Je suppose que c'est au mieux trompeur.

Modifiez ce fichier avec la commande sudo nano /etc/resolv.confet mettez-y une seule ligne:

nameserver 8.8.8.8

Cela devrait corriger votre résolution de nom et les différents programmes qui l'utilisent - ping, apt-get, etc.

Vous devez également rechercher pourquoi resolv.conf est vide. Votre serveur DHCP n'est peut-être pas configuré correctement.

sмurf
la source
Voici ce que contient le fichier: # Fichier resolv.conf (5) dynamique pour résolveur glibc (3) généré par resolvconf (8) # NE MODIFIEZ PAS CE FICHIER À LA MAIN - VOS CHANGEMENTS SERONT RÉÉCRITS recherche 8.8.8.8 8.8.4.4.4 La dernière ligne est placée par le fichier d'interface lorsque vous redémarrez le système.
Gary Mercer
@GaryMercer veuillez l'ajouter à votre question. C'est difficile à lire dans un commentaire.
wjandrea
0

Ce n'est pas une bonne idée sur Ubuntu 16.04.x, il suffit d'écraser /etc/resolv.conf. Le système d'exploitation le remplacera très probablement.

Le fichier /etc/resolv.confest généralement un lien symbolique vers un autre fichier:

ls -lisa /etc/resolv.conf
1310924 0 lrwxrwxrwx 1 root root 29 Jul 13  2016 /etc/resolv.conf -> ../run/resolvconf/resolv.conf

ce qui signifie qu'il est correct et que vous pouvez le modifier, mais très probablement un autre programme va le remplacer. Je suppose que NetworkManager est installé. À ma connaissance, ce service gère le contenu de votre résolution. Vous devriez donc vraiment essayer de le configurer. (D'autre part, NetworkManager peut être désactivé sur votre système. Vous devrez peut-être me le dire.)

Essayez d' nmtuiy ajouter le bon serveur DNS. J'utiliserais également 8.8.8.8uniquement comme DNS secondaire. Votre DNS principal doit être une machine ou un routeur à proximité de votre réseau local ou tout ce que vous avez là-bas ...

Gerhard Stein
la source
Pas de gestionnaire de réseau. C'est un serveur sans interface graphique. J'ai installé dnsutils avant de quitter la connexion aux référentiels.
Gary Mercer
@Gary Mercer: comment apportez-vous alors l'interface réseau? (ifup et ifdown?) L'interface graphique des gestionnaires de réseau est un composant facultatif. nmtuiest le texte de celui-ci.
Gerhard Stein
J'amène le nic en redémarrant le système. Puisqu'il s'agit d'un serveur, il n'est jamais «éteint». J'ai constaté que l'utilisation des services de redémarrage ne fonctionne pas toujours en raison des autres composants interdépendants qui composent tous les services qui utilisent l'interface. Il est juste plus facile et plus efficace de redémarrer tous les services avec une simple commande de redémarrage.
Gary Mercer
En redémarrant votre système, quelque chose "un gestionnaire" doit apporter vos appareils. Dans lequel avez-vous configuré les adresses IP statiques?
Gerhard Stein
0

J'ai eu le même problème, jusqu'à ce que j'édite avec les valeurs suivantes le fichier 50-cloud-init.yaml

 network:
    ethernets:
        eno2:
            addresses:
            - 192.168.0.50/24 (my static ip address)
            dhcp4: false
            gateway4: 192.168.0.42
            nameservers:
                addresses: [208.67.222.222,208.67.220.220]
                search: [208.67.222.222]

J'espère que ça marchera pour toi aussi

Sal-Sanchez
la source
Si utilise Netplan et les serveurs DNS de Google, ce serait addresses: [8.8.8.8,8.8.4.4] (peut-être mieux utiliser Cloudflare 1.1.1.1 ) /etc/netplan/50-cloud-init.yamlet puis sudo netplan --debug apply.
Pablo Bianchi
0

Vous êtes confronté à un problème lié au serveur DNS que vous avez spécifié pour votre système. Vérifiez votre entrée de serveur de noms dans /etc/resolv.conf.

Le problème est que la commande ping n'est pas en mesure d'identifier ce qui est "www.google.com" car votre serveur DNS n'est pas en mesure de le résoudre et de fournir l'adresse IP réelle de Google (chaque serveur n'est accessible que par son adresse IP)

Solution

Modifiez l'entrée dans /etc/resolv.conf. Soit fournir un serveur DNS correct d'un choix /etc/resolve.confqui peut résoudre "www.google.com"

ou vous pouvez spécifier votre résolveur de système local dont l'adresse IP est 127.0.0.53 en ajoutant une ligne

nameserver 127.0.0.53

ou fournissez l'IP du serveur DNS de Google (n'importe lequel d'entre eux): 8.8.8.8 ou 8.8.4.4

nameserver 8.8.8.8**

PS Vous pouvez mieux comprendre comment fonctionne DNS ici

Shubham gosain
la source
-2

Le problème que nous avons abordé ici se résume à la résolution interne des noms de domaine en une adresse IP. Depuis la version 15 du serveur Ubuntu, je crois, utilise un système de fichiers de configuration dynamiques qui changent à chaque redémarrage ou redémarrage du service ou du système. Si l'administrateur apporte une modification au fichier resolv.conf, ces modifications sont supprimées au redémarrage du service de résolution.

Pour rendre les modifications permanentes, Ubuntu a créé un moyen de rendre les modifications utilisateur permanentes sans affecter la configuration dynamique des fichiers de configuration. La suggestion de LD James (ci-dessus) était d'ajouter les modifications que je devais apporter au /etc/resolvconf/resolv.conf.d/headfichier.

Cela a rendu les modifications permanentes et résolu le problème de résolution du message d'erreur des noms de domaine host not found. C'est la solution pour définir le serveur de noms DNS dans le fichier d'interfaces, puis pour l'obtenir également dans le résolveur. Merci à tous pour vos efforts suprêmes dans la résolution de ce puzzle.

Gary Mercer
la source