30 05 | 2012

Ubuntu 12.04 Server: Configuration DNS et IP fixe

Rédigé par Sorrodje

Classé dans : Informatique, Mémos techniques

En m'installant mon Home-Server l'autre jour, ayant configuré mon Ubuntu en ip fixe via le /etc/network/interfaces comme  j'en ai l'habitude, je me suis aperçu de l'impossibilté de réaliser un apt-get update && apt-get upgrade cause serveurs injoignables! N'ayant fait aucune modification exotique en dehors de ma fixation d'ip, j'ai mis un moment pour trouver le pourquoi du comment...

Au cas où ça arriverait à quelqu'un, voici explications et solution.

Voici le /etc/network/interfaces configuré classiquement pour obtenir une IP fixe sur la machine:

#The Loopback network interfaces
auto lo iface lo inet loopback


# The primary network interface
auto eth0
iface eth0 inet static address 192.168.1.10 netmask 255.255.255.0
gateway 192.168.1.254


Ici on a une configuration typique sur un réseau local derrière une box chez soi avec une IP fixe à 192.168.1.10 (address). L'IP de la passerelle (gateway) est celle de la box. Chez moi avec mon ADSL OVH et ma box thomson c'est 192.168.1.254. Avec une box orange c'est 192.168.1.1. A adapter à sa configuration locale donc!


En fait juste après configuration et reboot, en tentant l'utilisation d'apt-get une fois la configuration faite, notre machine embraye direct en nous parlant plutôt mal à coup de : "Erreur temporaire de résolution de "fr.archive.ubuntu.com". On fait alors un petit test pour vérifier le diagnostic:

$ping www.google.fr
ping: unknown host www.google.fr

Qui démontre que le souci se situe au niveau de la résolution DNS ( Ne pas connaître Google franchement... faut pas être sorti de sa campagne hein! )

En fait, dans la mesure où on enlève la configuration auto via le DHCP qui donne toutes les bonnes infos ( passerelle , masque de sous réseau et DNS ) pour passer en configuration manuelle via le /etc/network/interfaces , on ne dispose plus des infos DNS qu'il faut alors donner à la main. Classiquement ça se fait via la modification de /etc/resolv.conf.

Or, sous Ubuntu 12.04, le contenu c'est ça :

$ cat /etc/resolv.conf# 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
nameserver 127.0.0.1
search home

Ce qui stipule donc que toute configuration de ce fichier à la main sera écrasée...

On a pas le cul sorti des ronces comme dirait l'autre.

Direction Google pour essayer de sortir de cette impasse et une nouvelle fois le fameux moteur de recherche se révèle notre meilleur ami ( heureusement qu'il ne picole pas sinon v'la la quantité de binouzes qu'i faudrait lui payer pour service rendu...) :  Un article d'un développeur de chez Canonical explique à la fois le pourquoi du comment de ce changement et heureusement pour nous le moyen de résoudre notre problème.

En bref, la configuration est générée automatiquement par un utilitaire (resolvconf) qui va chercher ses infos là où il le doit ( DHCP , /etc/network/interfaces ) ...Du coup dans notre cas , la configuration DNS doit se faire directement dans /etc/network/interfaces via l'entrée dns-nameservers.

Aussitôt dit , aussitôt fait et on obtient le /etc/network/interfaces suivant :


#The Loopback network interfaces
auto lo iface lo inet loopback


# The primary network interface
auto eth0
iface eth0 inet static address 192.168.1.10 netmask 255.255.255.0
gateway 192.168.1.254
dns-nameservers 8.8.8.8
J'utilise ici un DNS Google dont l'ip se retient bien en lieu et place de mon dns local par défaut (ma box) dont l'adresse IP à utiliser aurait alors été 192.168.1.254.

Redémarrage du réseau et tout est à nouveau OK . Encore fallait il le savoir.  A noter qu'on peut aussi parfaitement désinstaller resolvconf et retrouver une config 'à l'ancienne" avec modif du /etc/resolv.conf à la mano.

25 commentaires

lundi 11 juin 2012 à 21:40 Emmanuel a dit : #1

J'ai le problème, mais la 1ère solution ne fonctionne pas pour moi.
Je suis en IP fixe, j'ai désinstallé resolvconf et modifié /etc/resolv.conf à la mano et ça marche

mardi 12 juin 2012 à 11:24 Sorrodje a dit : #2

MErci de ton retour ;) .. tu es sur une Ubuntu server ou sur une version desktop ?

jeudi 05 juillet 2012 à 11:24 Laurent a dit : #3

Il ne faut pas modifier le fichier resolv.conf car au prochain demarrage, il sera remis à zero.
J'ai modifié le fichier interfaces et c'est nickel
merci pour ton aide

jeudi 05 juillet 2012 à 11:42 Sorrodje a dit : #4

@Laurent si le paquet resolvconf est désinstallé, on put modifier resolv.conf qui ne sera plus écrasé ;)

lundi 23 juillet 2012 à 15:22 olas a dit : #5

Je confirme.
il suffit de virer le resolvconf.
apt-get remove resolconf

et on a la main de nouveau sur /etc/resolv.conf

vendredi 24 août 2012 à 20:12 zatmania a dit : #6

Merci grâce à ces explications simples et claires, j'ai retrouvé l'utilisation de mon resolv.conf que je regrettai amèrement

zat

jeudi 20 septembre 2012 à 11:34 melo a dit : #7

à quoi correspond la commande yum -y localinstall sur ubuntu

jeudi 20 septembre 2012 à 16:27 Sorrodje a dit : #8

@Melo yum-y localinstall tonpaquet.rpm installe un paquet préalablement téléchargé si j'ai tout bien compris. l'équivalent sous Debian/Ubuntu serait à priori : dpkg -i tonpaquet.deb .. A vue de nez ;)

dimanche 23 septembre 2012 à 23:49 sloteur a dit : #9

Au sujet de yum -y localinstall :
Yum est en réalité sous les systèmes à base Red Hat l'équivalent de apt-get ou aptitude. Il gère les dépendances.
Quand on télécharge un paquet isolé .rpm, yum va chercher les dépendances avec localinstall sauf que si la version n'a pas été faite pour ta distribution ça risque de te générer pas mal d'erreurs.
A utiliser avec parcimonie :-)

mercredi 14 novembre 2012 à 22:00 debovitch a dit : #10

Nickel ! Merci pour l'info !

lundi 21 janvier 2013 à 15:29 Konstantin a dit : #11

Bonjour, j'ai un petit souci.

Je vous explique, je dois installer Ubuntu 12.04 LTS sur un serveur et configurer le DNS et le DHCP, j'ai suivi ce tuto mais j'arrive pas à comprendre, la modification de ces lignes, elle doit se faire dans les fichiers eux-mêmes ? Ou bien dans le terminal directement ?

Merci.

Cordialement, Konstantin.

mardi 22 janvier 2013 à 09:44 Sorrodje a dit : #12

@Konstantin: Les modifications se font directement dans les fichiers évoqués (/etc/network/interfaces en l'occurence). On fait généralement ces modifs via un terminal. A contrario , si on adopte la solution de supprimer le paquet resolvconf , on passe la commande "apt-get remove resolvconf" dans le terminal.

mercredi 30 janvier 2013 à 19:09 Baptiste a dit : #13

Merci pour cette petite ligne manquante dans mon fichier interfaces... Jamais eu besoin jusqu'ici et depuis la 12.04 server, je mettrai cette petite ligne en plus dans le premier fichier que je modifie a la main pour passer en ip fixe... (Perso j'ai rien touché au niveau du resolv)

vendredi 01 février 2013 à 22:57 jeanb-baptiste a dit : #14

Merci beaucoup. Youtube ramait grave. En modifiant 'interfaces' maintenant ca gere !

jeudi 28 février 2013 à 00:06 jean a dit : #15

Salut ,
peut-t-on brancher le modem sur port réseau carte mére ? OU
Il faut absolument une carte réseau ?

vendredi 01 mars 2013 à 08:59 Sorrodje a dit : #16

@jean : Le port ethernet de la carte mère est parfait. Dans les faits, c'est juste une carte réseau intégrée dans la carte mère. Ni plus ni moins.

mardi 12 mars 2013 à 11:27 Jimko a dit : #17

En version laptop Asus X55VD et DHCP, j'ai ajouté le dns-nameservers générique 8.8.8.8 dans le fichier interfaces, et ca passe enfin après galère des pilotes Atheros wifi-9485 et en Ethernet-9161 incompatibles avec les noyaux de base Precise 12.4.0 d'une Linx Mint, le tout en mode bios plombé UEFI...
Attention, si vous supprimez le pkg revolv.conf votre configuration graphique du réseau devient invalide.
Cdlt.

mercredi 20 mars 2013 à 11:52 hedi a dit : #18

bonjour, je veux mettre mon ip static, alors j'ai suivi ce tuto, donc j'ai configuré le fichier /etc/network/interfaces et aussi j'ai désinstallé resolvconf et j'ai modifié manuellement le fichier /etc/resolv.conf. mais le prob ce que lorsque je redemare /etc/init.d/networking, je peut accéder a internet juste pendant quelques séc puis y a rien (coupure de cnx). ça se repéte a chaque fois que j redemare /etc/init.d/networking.

samedi 23 mars 2013 à 13:24 hedi a dit : #19

bon, j'ai résolu mon prob et la sol° est un peut débile, parceque j suis connecté a traver wifi, il fallait donc configurer wlan0 pas eth0 :p

dimanche 02 juin 2013 à 19:13 zouhair a dit : #20

merciii frère enfin j'ai trouvé la solution

samedi 20 juillet 2013 à 14:18 ELBedoui a dit : #21

merci de partager l'idée consistant à un serveur Ubuntu (sur un vbox) se connectant à l'internet via un broadband

mardi 23 juillet 2013 à 14:58 Francois_de_Montréal a dit : #22

Merci pour l'explication ! (Et: trop drôle ce cousin français!!)

samedi 05 octobre 2013 à 20:48 ga1a a dit : #23

Bah j'ai tout suivi et rien n'y fait. Toujours ce probleme de resolution. Impossible de faire update et upgrade.

mardi 18 février 2014 à 06:37 Rakotoson Roger a dit : #24

Bonjour,

J'ai eu le même problème. En fait ce qu'il faut mettre dans dns-nameservers c'est le DNS du FAI et le problème est reglé.

mardi 18 février 2014 à 14:36 jp_planque a dit : #25

En éditant /etc/network/interfaces et en rajoutant la ligne dns-nameservers 8.8.8.8, mais APRES un reboot seulement (je crois que c'est important) ça a parfaitement fonctionné pour moi. J'ai pu installer lame sur le serveur en question (puisque serveur pour de l'audio), auparavant c'était impossible.

Écrire un commentaire

Quelle est la dernière lettre du mot ijkj ? : 

Archives

Contrat Creative Commons
Ce(tte) oeuvre est mise à disposition selon les termes de la Licence Creative Commons Paternité - Partage à l'Identique 2.0 France
.