En ce moment, mon /etc/resolv.conf ressemble à ceci:
# Generated by NetworkManager
nameserver 10.165.246.33
nameserver 192.135.82.60
nameserver 10.165.74.2
Les deux premiers serveurs de noms sont automatiquement configurés via DHCP; le dernier est celui que j'ai ajouté manuellement, dans NetworkManager. C'est aussi le plus important, car il résout nos noms de domaine internes (par exemple build-server-17.our-company-domain.com
).
Le problème est que NetworkManager l'ajoute au bas de /etc/resolv.conf
, donc lors de l'accès à une URL intranet, mon navigateur essaie de le résoudre en utilisant les deux premiers serveurs, et cela prend des siècles.
Comment faire pour que NetworkManager ajoute le serveur DNS configuré manuellement avant ceux configurés automatiquement?
centos
networkmanager
Utilisateur Linux débutant
la source
la source
Réponses:
Je ne vois pas quel système adresser spécifiquement, mais si le vôtre utilise
resolvconf
, essayez ce qui suit en tant que root (su -
ousudo -i
):Il y a un avertissement dans ce fichier qui indique que les modifications manuelles seront écrasées; mais, dans le contexte, le message s'applique
/etc/resolv.conf
, non/etc/resolvconf/resolv.conf.d/head
.Cela devrait placer le serveur de noms souhaité en premier dans la liste. Bien sûr, si cela fonctionne sur votre système d'exploitation, alors 10.165.74.2 peut être supprimé de NetworkManager.
Le résolveur local
dnsmasq
, est également une excellente voie à suivre. En utilisantdnsmasq
, on peut utiliser beaucoup plus de contrôle sur DNS et DHCP. Par exemple, dans ce scénario,dnsmasq
peut interroger un serveur de noms spécifique basé sur un nom de domaine spécifié avec sonserver
option. Voir un extrait dednsmasq.conf
celui-ci qui pourrait se rapporter à votre objectif ci-dessous.Mise à jour
Merci d'avoir mentionné le système d'exploitation. Sur CentOS 7, il existe de nombreuses méthodes. Dans l'interface graphique, cliquez sur Applications> Outils système> Paramètres> Réseau. Sélectionnez une connexion à configurer.
Désactivez DNS automatique et fournissez des serveurs de noms. Appliquez la configuration.
La prochaine fois que NetworkManager démarre cette connexion, il écrit les valeurs personnalisées. (Pendant les tests, j'ai éteint puis rallumé le réseau car j'avais deux connexions réseau.)
Selon la documentation ,
En particulier, la
nmcli
documentation avait l'air très bonne.la source
resolvconf
package.dnsmasq
semble être une bonne solution.J'ai accidentellement créé une question en double ici . La réponse est là, mais essentiellement, vous devez créer:
s'il n'existe pas déjà, et ajoutez:
N'oubliez pas le point-virgule à la fin!
Après cela, le simple redémarrage a déplacé automatiquement la ligne «nameserver [adresse IP du serveur]» dans le «/etc/resolv.conf» vers le haut!
la source
Il existe une autre façon, pas besoin de désactiver NetworkManager.service. Définissez simplement ifcfg-idevice:
Vous n'avez pas besoin de définir les paramètres /etc/NetworkManager/NetworkManager.conf, comme:
la source