Ça dépend. Veuillez lire jusqu'à la fin.
Si vous n'avez pas installé le package resolvconf, c'est simple :après l'avoir modifié comme vous le souhaitez, lancez la commande
sudo chattr +i /etc/resolv.conf
La commande modifie les attributs du fichier, le rendant immutable
(l'option +i).
Cependant, si vous avez installé le package resolvconf, le fichier /etc/resolv.conf peut être transformé en lien symbolique,
# file /etc/resolv.conf
/etc/resolv.conf: symbolic link to `../run/resolvconf/resolv.conf'
qui est un fichier sur un système de fichiers virtuel, l'incarnation d'une version non permanente. Le plus drôle, c'est que vous ne savez peut-être pas que resolvconf est installé, car les versions récentes des systèmes d'exploitation de type Debian sont préinstallées. Vous pouvez déterminer si votre distribution l'a installé pour vous en exécutant la commande :
#whereis resolvconf
resolvconf: /sbin/resolvconf /etc/resolvconf /lib/resolvconf /usr/share/man/man8/resolvconf.8.gz
Plus important encore, vous pouvez déterminer si votre /etc/resolv.conf
a été transformé en lien au moyen de la commande (fichier /etc/resolv.conf) ci-dessus. Si la réponse est ASCII text
, utilisez chattr
, sinon...
Si vous utilisez une IP statique, le plus simple est d'ajouter la ligne suivante (ou quelque chose du genre)
dns-nameservers 8.8.4.4 8.8.8.8
à la strophe définissant les propriétés de votre interface statique dans /etc/network/interfaces.
Si vous êtes plutôt sur un ordinateur portable qui se connecte tout le temps à différents réseaux, vous pouvez suivre LawrenceC
est une excellente suggestion. Mais, si vous avez resolvconf sur votre système, la façon correcte (et la plus simple) de fournir un ensemble fixe de DNS est d'utiliser les fichiers dans /etc/resolvconf/resolv.conf.d . En particulier, les fichiers suivants sont utilisés (voir la page de Stéphane Graber) :
base :Utilisé lorsqu'aucune autre donnée ne peut être trouvée
tête :Utilisé pour l'en-tête de resolv.conf, peut être utilisé pour s'assurer qu'un serveur DNS est toujours le premier dans la liste
queue :Toute entrée dans tail est ajoutée à la fin du fichier resolv.conf résultant.
Alors placez vos serveurs de noms préférés dans head , comme suit
nameserver 8.8.8.8
et vous avez terminé.
Ajouter une ligne similaire à /etc/dhcp/dhclient.conf
en utilisant un terminal root :
supersede domain-name-servers 74.122.198.48, 50.116.23.211;
Cela provoque dhclient
, le programme qui émet une requête DHCP et apporte des modifications en fonction de ce que la réponse lui a dit, pour remplacer les informations qu'il a obtenues du serveur DHCP par celles ci-dessus avant d'apporter des modifications.
Ce qui précède sont deux serveurs DNS OpenNIC. Remplacez au besoin pour les serveurs que vous souhaitez utiliser.
Comme cela se produit chaque fois que vous obtenez des informations de configuration de DHCP, utilisez donc dhclient -v eth0
ou n'importe quelle interface pour l'actualiser et voir le changement.
Il semble, comme mentionné par @Rik, que la raison des remplacements DNS au redémarrage est due au gestionnaire de réseau / utilitaire qui est défini ainsi. Dans Linux Mint, selon la capture d'écran, ma méthode IPv4 était définie sur les adresses automatiques (DHCP) uniquement. Vous pouvez ensuite entrer les paramètres corrects dans /etc/resolv.conf ou dans la section des serveurs DNS. Je me souviens que dans Ubuntu 13.04, mes serveurs de noms ont changé plusieurs fois sur une longue période, mais après les avoir modifiés dans l'interface graphique, tout semblait être stable à partir de là.