web-dev-qa-db-fra.com

Ubuntu 12.04 - Impossible de résoudre le nom d'hôte

J'ai un petit serveur Dedi sur lequel j'ai installé Ubuntu 12.04. J'y accède via x2go car j'ai un ordinateur de bureau installé.

Tout a bien fonctionné jusqu'à il y a 2 jours, lorsque, après un redémarrage, j'ai perdu tout accès à Internet et j'ai commencé à obtenir des erreurs "Can't Resolve Hostname".

Si j'essaie de faire un ping google, je reçois:

ping: unknown Host google.com

Pour accéder à certains sites, je les ai ajoutés au fichier hosts et cela fonctionne pour la plupart d'entre eux, mais pas tous. Bien sûr, ce n'est qu'une solution temporaire.

Si je regarde dans "Paramètres système - Réseau", je reçois ceci:

Je ne suis pas très compétent, donc je ne sais pas quelle autre information publier, mais demandez s'il vous plaît tout ce que vous souhaitez que je découvre.

Je vous remercie.

5
Threshold

Le problème est purement lié au DNS. Comme il n'y avait aucune entrée de serveur de noms DNS dans le fichier / etc/resolv.conf, la résolution de nom échouait lors de l'envoi d'une requête ping par nom d'hôte à des hôtes situés en dehors de vos entrées / etc/hosts.

Dans Ubuntu 12.04, le paquet Network Manager fournit la fonctionnalité relative au réseau (plutôt que l'ancien programme mise en résea), avec le resolvconf (et dnsmasq dans une certaine mesure) programme fournissant la fonctionnalité DNS de masse. Mais étonnamment dans votre cas, le fichier resolvconf n'est pas installé. Nous devons donc mettre à jour manuellement le fichier / etc/resolv.conf.

Donc, en exécutant la commande

echo "nameserver 8.8.8.8" | Sudo tee /etc/resolv.conf

nous définissons essentiellement le serveur DNS gratuit de Google (8.8.8.8) comme serveur de noms.

Cette commande insérera le texte "serveur de noms 8.8.8.8" dans le fichier "/etc/resolv.conf" et l'affichera également à l'écran. De cette façon, nous avons un résolveur de noms fonctionnel qui résoudra les noms d’hôte que nous donnons en adresses IP.

Une chose très importante à noter ici, nous utilisons le DNS de Google, ce qui n’est pas idéal, vous devez utiliser le DNS de votre FAI ici. Demandez à votre fournisseur de services Internet de vous donner son adresse DNS (qui peut être multiple) et ajoutez-la en tant que serveur de noms. Bien que vous puissiez conserver le DNS de Google comme sauvegarde, au cas où celui de votre fournisseur d'accès échouerait pour une raison quelconque. Supposons que le DNS de votre fournisseur de services Internet est vv.xx.yy.zz, vous devez donc exécuter les commandes suivantes pour le configurer en tant que DNS principal et conserver le DNS de Google en tant que sauvegarde.

echo "nameserver vv.xx.yy.zz" | Sudo tee /etc/resolv.conf && echo -e "nameserver 8.8.8.8" "\nnameserver 8.8.4.4" | Sudo tee -a /etc/resolv.conf

Voir la commande - a dans tee, qui est utilisée pour ajouter plutôt que pour remplacer. Ici 8.8.4.4 est aussi le DNS de Google.

Vous pouvez ajouter autant de serveurs de noms que vous le souhaitez dans / etc/resolv.conf, mais ce serait excessif. Restez simple mais compact.

9
heemayl