J'ai besoin d'aide pour comprendre pourquoi je resolv.conf
continue de changer pour cela, ce qui m'empêche d'accéder à Internet extérieur et uniquement au réseau local:
$ cat /etc/resolv.conf
nameserver 192.168.16.1
domain localdomain
search localdomain
J'ai pensé que je l'ai corrigé en me débarrassant de l'interface de bouclage et en ajoutant l'interface eth0 /etc/network/interfaces
avec les instructions sur le blog posteux de jontsai .
J'ai essayé des choses comme faire:
$ sudo ifconfig eth0 down
$ sudo ifconfig eth0 up
$ sudo /etc/init.d/networking restart
$ sudo dhclient
Et puis les choses fonctionneraient temporairement, et finalement le serveur de noms dans resolv.conf serait à nouveau rétabli.
PS J'ai aussi posté ceci sur ubuntuforums .
Edit: il y a au moins un autre programme en plus de NetworkManager qui écrit resolv.conf
, et je le sais parce que lorsque je rafraîchis NetworkManager, le resolv.conf
fichier qui est généré a un commentaire qui dit # Generated by NetworkManager
, et la version dans laquelle il continue de changer ne le fait pas.
J'essaie donc ceci:
while true; do echo listening; lsof | grep /etc/resolv.conf; echo sleeping; sleep 1; done
Modifier 2:
Ajout de sortie de fichiers:
$ cat /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
Aucun fichier tel que /etc/NetworkManager/NetworkManager.conf
$ sudo cat /etc/NetworkManager/system-connections/Auto\ Ethernet
[connection]
id=Auto Ethernet
uuid=#######omitted#######
type=802-3-ethernet
autoconnect=true
timestamp=1314377063
[ipv4]
method=auto
ignore-auto-routes=false
ignore-auto-dns=false
dhcp-send-hostname=false
never-default=false
[802-3-ethernet]
speed=0
duplex=full
auto-negotiate=true
mtu=0
[ipv6]
method=ignore
ignore-auto-routes=false
ignore-auto-dns=false
never-default=false
la source
resolvconf
installé le package? Publiez le contenu de/etc/network/interfaces
,/etc/NetworkManager/NetworkManager.conf
et/etc/NetworkManager/system-connections/*
.resolvconf
package. À un moment donné, mon modem DSL allait mal (derrière le routeur) alors que mon réseau local allait bien, alors j'ai peut-être essayé d'installernscd
ou -dnsmasq
ils sont désinstallés maintenant, mais cela a peut-être laissé des artefacts qui interfèrent?vmnet1
ouvmnet8
(NAT et hôte uniquement)Réponses:
Vous pouvez ajouter des éléments statiques à
/etc/resolv.conf
. Ces ajouts pourraient remplacer les éléments ajoutés automatiquement.Tout d'abord, installez le
resolvconf
package.Ensuite, appuyez sur Alt + F2 et exécutez
gksudo nautilus
. Ouvrez/etc/resolvconf/resolv.conf.d/head
si vous souhaitez ajouter au début du fichier; ouvrez/etc/resolvconf/resolv.conf.d/tail
si vous voulez ajouter à la fin. Apportez vos modifications, enregistrez / fermez les fichiers, puis exécutezsudo resolvconf -u
pour appliquer les modifications.(Désolé, je ne me souviens pas si les paramètres au début ou à la fin du fichier ont la priorité la plus élevée.)
la source
J'ai eu exactement le même problème - resolv.conf serait réécrit à chaque redémarrage du serveur.
Cela a été causé par DHCP. Pour définir resolv.conf sur ce que je veux qu'il soit, j'ai modifié
/etc/dhcp/dhclient.conf
et ajouté ce qui suit:Vous pouvez en fait contrôler un peu votre fichier resolv.conf en y apportant des modifications.
J'espère que ça aide.
la source
(Cette réponse contient des moyens d'enquêter sur ce qui se passe. Je pourrai peut-être donner une solution réelle si vous utilisez ces méthodes pour recueillir et fournir plus d'informations.)
Un déclencheur possible pour les mises à jour apparemment spontanées
/etc/resolv.conf
est lorsque votre bail DHCP est renouvelé. Vérifiez combien de temps vous obtenez des baux DHCP (cela devrait apparaître dans les journaux système, je pense/var/log/syslog
).Vous pouvez utiliser auditd pour découvrir ce qui modifie le fichier. Démarrez le démon (
sudo service auditd start
) et dites-lui de surveiller les modifications de ce fichier:Les journaux d'audit sont entrés
/var/log/audit/audit.log
. Vous verrez l'heure à laquelle le fichier a été modifié et le nom du programme qui l'a modifié.Si le
resolvconf
package est installé, Network Manager peut marcher sur ses pieds. Essayez de désactiver toutes les interfaces réseau, puis arrêtez Network Manager (sudo service network-manager stop
), puis redémarrez-le.la source
nm-connection-editor
dans votre terminal. Sélectionnez votre interface et appuyez sur modifier. Sous les paramètres IPv4, il devrait y avoir une méthode appelée uniquement les adresses DHCP (ou quelque chose de similaire). Si je ne me trompe pas, cela vous permettra d'obtenir des adresses IP via DHCP mais pas de serveurs de noms (vous pouvez les spécifier dans les champs ci-dessous).auditctl
ligne ne fonctionne pas pour moi et je pense que le nom du service pour Network Manager estnetwork-manager
(inclut le trait d'union). Je n'avais pas deresolvconf
paquet installé, mais j'avais des trucs dans le/etc/resolvconf/
dossier, et quand je l'ai comparé à une autre machine Ubuntu, il ne l'avait pas, alors j'ai installé et désinstallé le paquet et supprimé manuellement ce dossier./etc/resolv.conf
vient d'être réécrit à nouveau, donc je pense que se rendreauditctl
au travail serait très utile./etc/resolvconf
est normale même si vous n'avez pas leresolvconf
paquet, certains paquets y déposent des crochets, et ces crochets ne sont utilisés que s'ilresolvconf
est installé. J'ai corrigé laauditctl
ligne, au cas où le problème réapparaîtrait.Ouvrez un terminal et saisissez
le + i veille à ce que le fichier ne soit pas réinitialisé au démarrage même par root.
Pour annuler ce qui précède
Pour plus
la source
Une autre option que j'ai eu de la chance consiste à utiliser
resolvconf
.Ajoutez des entrées à ce fichier:
Et ils seront ajoutés au
/etc/resolv.conf
.Grâce à cette publication Ask Ubuntu: Comment puis-je inclure des lignes dans resolv.conf qui ne seront pas perdues au redémarrage?
la source
Désactiver la mise à jour
resolv.conf
par la création d' un fichier appelédisable_make_resolv_conf
dans/etc/dhcp3/dhclient-enter-hooks.d
Il remplace la fonction standard par le même nom qui est responsable de l'
resolv.conf
actualisation.la source
En retard à cela, mais je posterai mon cas car il était différent de tout ce qui précède.
Dans mon cas,
/etc/resolv.conf
est un lien symbolique vers/var/run/NetworkManager/resolv.conf
, et pour une raison quelconque, necat /etc/resolv.conf
me donne aucune erreur tel fichier ou répertoire (peut-être parce qu'il est vide?)Si je l'ouvre avec vi et que j'ajoute,
nameserver x.x.x.x
cela fonctionne, mais est effacé au redémarrage.J'ai essayé d'éditer
/etc/network/interfaces
et d'ajouterdns-nameservers x.x.x.x
, changé/etc/dhcp/dhclient.conf
et supprimé sousrequest
domain-name-servers
, également éditéprepend domain-name-servers x.x.x.x
.Resolvconf binary n'est pas installé,
NetworkManager.conf
n'a rien de pertinent. Mais à chaque redémarrage de la machine, il n'y avait pas de serveur de domaine.Je ne suis pas sûr de la raison, mais cela semble avoir à voir avec le fait qu'il s'agit d'une machine VBox, démarrée par GNS3 et à cause de cela dans le paramètre VBox, je dois le laisser sans interface créée. Apparemment, GNS3 crée une "interface UDP" à la volée lorsque je démarre la machine, à condition que je la démarre à partir de GNS3.
Donc, pour me sauver de la recherche sans fin, je viens d' ajouter
echo nameserver x.x.x.x> /etc/resolv.conf
à/etc/profile
, problème résolu (non résolu, mais CONTOURNÉS hehe). Mais il pourrait être intéressant de savoir ce qui se passe avec ce scénario si quelqu'un le rencontrait.la source
Si vous avez le fichier
/etc/NetworkManager/NetworkManager.conf
vous pouvez configurer NetworkManager pour arrêter la réinitialisation de resolv.conf avec
Maintenant, changez manuellement votre
/etc/resolv.conf
et testez sa permanence avecSource: https://askubuntu.com/a/623956/452398
la source
Faites simplement des entrées dans vos fichiers ifcfg-ethX comme ça
DNS1 = 192.168.XX
DNS2 = 192.168.XX
DOMAINE = votredomaine.com
puis le gestionnaire de réseau publiera ces enregistrements dans le fichier resolv.conf après avoir redémarré les services ou redémarré votre box.
la source
Juste au cas où quelqu'un tomberait dans le même cas:
J'ai oublié j'ai mis DHCP sur une interface à l'intérieur du fichier
/etc/network/interfaces
Networkmanager modifiera
/etc/resolv.conf
la réponse DHCP qu'il obtient.hth
la source
Quand il est
# Generated by NetworkManager
en/etc/resolv.conf
Modifier la configuration de Network Manager:
dans la
[main]
section, ajoutezrc-manager=unmanaged
:Pourquoi?
Référence de configuration pour plus d'informations: https://developer.gnome.org/NetworkManager/stable/NetworkManager.conf.html
Ensuite, modifiez votre
/etc/resolv.conf
et redémarrez Network Manager pour voir s'il/etc/resolv.conf
reste intact:ou
que:
Si la procédure a échoué et a
/etc/resolv.conf
été remplacée lors du redémarrage de Network Manager, essayez d'ajouterdns=none
à la[main]
section dans la configuration comme https://askubuntu.com/a/1150326/364772 a déclaréla source