web-dev-qa-db-fra.com

resolv.conf n'est pas défini au redémarrage lorsque la mise en réseau est configurée pour une adresse IP statique

J'éprouve ce qui semble être un problème de résolution de nom dans Ubuntu 12.04 Server Edition lors de la configuration de mon ordinateur pour utiliser une adresse IP statique.

Dans/etc/network/interfaces:

# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.28
netmask 255.255.255.0
gateway 192.168.1.1

L'exécution de $ Sudo apt-get upgrade entraîne un "Échec de l'extraction ...":

. . . W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/precise-backports/universe/i18n/Translation-en_US Something wicked happened resolving 'us.archive.ubuntu.com:http' (-5 - No address associated with hostname)
[...]

Quand je change mes interfaces/etc/network/pour:

auto eth0
iface eth0 inet dhcp

Tout fonctionne bien.

En regardant dans /etc/resolv.conf, vous trouverez quelques astuces supplémentaires.

Dans les cas où le problème était résolu, le fichier resolv.conf était vide. aucun serveur de noms n'a été spécifié. Ensuite, j'ai changé pour DHCP en statique et j'ai redémarré le réseau; /etc/resolv.conf a été changé en: 'serveur de noms 192.168.1.1'.

Le fait de revenir de DHCP à statique et de redémarrer ne supprime pas l'entrée du serveur de noms. Mais lorsque j'ai redémarré le système avec un ensemble statique, resolv.conf était vide. Lorsque je redémarre le système avec DHCP défini, resolv.conf contient le serveur de noms 192.168.1.1. Donc, il semble que le problème est que resol.conf n’est pas écrit correctement? Quel paquet/code est responsable de l'écriture dans resolv.conf? Existe-t-il un paquet particulier sur lequel je peux jeter un coup d'œil aux questions en suspens?

MISE À JOUR: istream a posté un bon article sur les modifications à apporter à resol.conf dans 12.04. http://www.stgraber.org/2012/02/24/dns-in-ubuntu-12-04/

17
kenneth koontz

Selon la page de manuel resolvconf (exemple fourni dans la page de manuel), ajoutez ce qui suit à votre/etc/network/interfaces dans votre configuration statique:

dns-nameservers [IP address(es) of your DNS]     
dns-search      [your dns-search strings (optional)]
16
ukjola

Êtes-vous sûr d'avoir fourni 192.168.1.1 comme valeur pour le DNS lors de la configuration de l'IP statique?

Je ne sais pas comment faire cela à partir de la ligne de commande, mais utiliser l'interface graphique System Settings -> Network devrait également fonctionner, non? Tout ce que je pense, c'est que vous voulez quelque chose comme la capture d'écran ci-dessous? Ou est-ce que je ne comprends pas ce que vous essayez de faire?

Network config with static IP, default route, DNS server

Remarque: Ignorez les valeurs dans la fenêtre de gauche. Ce ne sont que des valeurs de DHCP. Je n'ai pas pris la peine de sauvegarder la configuration statique car j'essayais simplement d'illustrer ce que je pensais.

Au fait, j'ai utilisé 192.168.1.1 parce que c'est ce que vous utilisiez. Mais vous pouvez également utiliser les adresses IP pour tous les serveurs DNS valides. Par exemple, 8.8.8.8 et/ou 208.67.222.222 devraient également fonctionner.

1
irrational John

Si vous ne voulez pas (ou ne pouvez pas) utiliser l'applet Network Manager pour configurer vos paramètres réseau, je trouve le moyen approprié pour configurer un "statique" La configuration IP, lorsque vous n’avez pas de serveur DHCP disponible, consiste à attribuer un bail statique au dhclient.conf. Dans ce cas, vous devez spécifier le serveur de noms qui sera écrit dans le fichier resolv.conf lorsque dhclient sera remplacé par static.

Cependant, si vous ne voulez pas vous salir les mains, je recommande quand même d'utiliser l'interface graphique pour spécifier une adresse de serveur DNS avec les paramètres IP de votre connexion, comme dans https://askubuntu.com/a/127537/33305 .

0
Simón

L'OP utilise le serveur ed. NetworkManager ne s'applique pas .. mais qui sait peut-être que cela sera ajouté simplement pour ajouter de la complexité au serveur.

D'ailleurs, pourquoi dans le monde, resolvconf a-t-il été ajouté au serveur ed ... POURQUOI !! ??!?

Quoi qu'il en soit, pour répondre à votre question, ajoutez:

/ etc/network/interfaces

quelque chose comme ça:

auto eth0 inet static
     dns-nameservers ns1.mydnsservers.com ns2.mydnsservers.com

L'option importante est "DNS-Nameservers".

0
jbowen7