53 votes

network manager : comment empêcher nm de mettre à jour /etc/resolv.conf

Je ne veux pas que le gestionnaire de réseau ajoute les serveurs DNS reçus par DHCP à mes serveurs DNS. /etc/resolv.conf .

Lors de la configuration à partir de GUI/Connexions/IPV4 et du choix de la méthode Automatique (adresse uniquement), les serveurs DNS reçus via DHCP sont toujours ajoutés.

Est-il possible de le faire par connexion (ssid spécifique ?) ?

67voto

krt Points 1818

Une façon d'empêcher Network Manager d'ajouter des serveurs DNS à la base de données /etc/resolv.conf est de le faire :

Ouvrez d'abord le fichier nm conf /etc/NetworkManager/NetworkManager.conf :

sudo vim /etc/NetworkManager/NetworkManager.conf

Et ajoutez ceci au [main] section :

dns=none

Sauvegarder et quitter.

5voto

Sergiy Kolodyazhnyy Points 97292

Personnellement, je préfère utiliser la ligne supersede domain-name-servers in /etc/dhcp/dhclient.conf . Quel que soit le DNS fourni par le point d'accès, votre ubuntu utilisera toujours les DNS spécifiés dans la section dhclient.conf

Exemple de mon dossier

#send host-name "andare.fugue.com";
send host-name = gethostname();
#send dhcp-client-identifier 1:0:a0:24:ab:fb:9c;
#send dhcp-lease-time 3600;
#supersede domain-name "fugue.com home.vix.com";
supersede domain-name-servers 208.67.220.220;
#prepend domain-name-servers 127.0.0.1;
request subnet-mask, broadcast-address, time-offset, routers,
    domain-name, domain-name-servers, domain-search, host-name,
    dhcp6.name-servers, dhcp6.domain-search,
    netbios-name-servers, netbios-scope, interface-mtu,
    rfc3442-classless-static-routes, ntp-servers,
    dhcp6.fqdn, dhcp6.sntp-servers;
#require subnet-mask, domain-name-servers;

5voto

lifecoder Points 101

/etc/resolv.conf est lié par un lien symbolique à /run/resolvconf/resolv.conf . NetworkManager ne met pas à jour /etc/resolv.conf directement (il ne met à jour que /run/resolvconf/resolv.conf). Ainsi, le gestionnaire de réseau ne met pas à jour le fichier /etc/resolv.conf directement :

  • supprimer le lien symbolique ( rm /etc/resolv.conf )
  • écrivez votre propre version de /etc/resolv.conf

0voto

张馆长 Points 11

Juste au cas où, j'ai fait un petit script pour faire cela automatiquement (ici avec google DNS) pour chaque connexion ethernet/sans fil :

nmcli -g name,type connection  show  --active | awk -F: '/ethernet|wireless/ { print $1 }' | while read connection
do
  nmcli con mod "$connection" ipv6.ignore-auto-dns yes
  nmcli con mod "$connection" ipv4.ignore-auto-dns yes
  nmcli con mod "$connection" ipv4.dns "8.8.8.8 8.8.4.4"
  nmcli con down "$connection" && nmcli con up "$connection"
done

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X