La plupart des informations que je vois en ligne indiquent quil faut éditer /etc/resolv.conf
, mais toutes les modifications que jy apporte sont simplement annulées .
$ 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.1.1
Il semble que 127.0.1.1 soit une instance locale de dnsmasq
. La documentation dnsmasq
dit de modifier /etc/resolv.conf
. Jai essayé de mettre des serveurs de noms personnalisés dans /etc/resolv.conf.d/base
, mais les changements ne sont pas apparus dans /etc/resolv.conf
après avoir exécuté sudo resolvconf -u
.
Pour info, je ne veux pas changer le DNS par connexion, je veux définir les paramètres DNS par défaut à utiliser pour toutes les connexions, sauf indication contraire.
MISE À JOUR:
Jai moi-même répondu à cette question: https://unix.stackexchange.com/a/163506/67024
Je pense que cest la meilleure solution depuis:
- Cela fonctionne.
- Cela nécessite le moins de modifications et
- Cela fonctionne toujours en conjonction avec le cache DNS de dnsmasq, plutôt que de le contourner.
Commentaires
Réponse
Je crois que si vous voulez remplacer le serveur de noms DNS, vous ajoutez simplement une ligne similaire à celle-ci dans votre base
fichier sous resolv.conf.d
.
Exemple
$ sudo vim /etc/resolvconf/resolv.conf.d/base
Ensuite, mettez votre liste de serveurs de noms comme donc:
nameserver 8.8.8.8 nameserver 8.8.4.4
Enfin, mettez à jour resolvconf
:
$ sudo resolvconf -u
Si vous regardez la page de manuel de resolvconf
, elle décrit les différents fichiers sous /etc/resolvconf/resolv.conf.d/
.
/etc/resolvconf/resolv.conf.d/base File containing basic resolver information. The lines in this file are included in the resolver configuration file even when no interfaces are configured. /etc/resolvconf/resolv.conf.d/head File to be prepended to the dynamically generated resolver configuration file. Normally this is just a comment line. /etc/resolvconf/resolv.conf.d/tail File to be appended to the dynamically generated resolver configuration file. To append nothing, make this an empty file. This file is a good place to put a resolver options line if one is needed, e.g., options inet6
Même sil y a « un avertissement en haut du fichier head
:
cet avertissement est là pour que lorsque ces fichiers sont construits, lavertissement finira par se frayer un chemin dans le fichier resolv.conf
résultant indiquant que ces fichiers seront être utilisé pour faire. Vous auriez donc pu tout aussi facilement ajouter les lignes nameserver
décrites ci-dessus pour le fichier base
, au head
également.
Références
Commentaires
- Ubuntu 14.04 – lorsque jai mis les serveurs de noms dans
base
et exécutezresolvconf -u
, les serveurs de noms étaient pas mis dans resolv.conf – quand jai mis les serveurs de noms danshead
, ils étaient - Ubuntu 14.04 – Jai également dû commenter configuration définie dans
/run/resolvconf/interface/NetworkManager
- type
nslookup google.com
et la première adresse IP de la liste doit être votre nouveau serveur de noms, sinon , vous lavez mal fait - Ubuntu 16.04: fonctionnait si ajouté à
/etc/resolvconf/resolv.conf.d/head
uniquement, pas avecbase
. Confirmé avecnslookup google.com
. - Au départ, vous devez avoir
resolvconf
installé. Vous pouvez linstaller en faisantsudo apt-get install resolvconf
.
Answer
Je suis également intéressé par cette question et jai essayé la solution proposée @sim.
Pour la tester, jai mis
nameserver 8.8.8.8
dans /etc/resolvconf/resolv.conf.d/base
et
nameserver 8.8.4.4
in /etc/resolvconf/resolv.conf.d/head
Ensuite, jai redémarré le réseau avec
sudo service network-manager restart
Le résultat est que /etc/resolv.conf
ressemble à
# 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 8.8.4.4 nameserver 127.0.1.1
et nm-tool
indique que les dnsserver sont
DNS: 208.67.222.222 DNS: 208.67.220.220
qui sont ceux fournis par mon routeur. Par contre creuser une adresse indique que
;; Query time: 28 msec ;; SERVER: 8.8.4.4#53(8.8.4.4)
Si jai raison, je conclus de tout cela que
- seulement la partie « head » est lue par resolvonf: la partie « base » est en quelque sorte contrôlée par dnsmasq
- le dnsserver est en fait forcé à 8.8.4.4 quel que soit le serveur fourni par dhcp, MAIS vous perdez la mise en cache fournie par dnsmasq, puisque la requête est toujours envoyée vers 8.8.4.4
- dnsmasq utilise encore UNIQUEMENT le serveur dnsserver fourni par dhcp.
Dans lensemble, cela fonctionne mais je ne pensez pas que cest le résultat attendu demandé.Une solution plus proche je pense est la suivante. Modifiez
sudo vim /etc/dhcp/dhclient.conf
puis ajoutez
supersede domain-name-servers 8.8.8.8;
Le résultat est le suivant: resolv.conf contient seulement 127.0.0.1, ce qui signifie que le cache dnsmasq est appelé et nm-tool dit
DNS: 8.8.8.8
ce qui signifie que si le nom recherché nest pas dans le cache , alors il est demandé en 8.8.8.8 et non sur le serveur fourni par dhcp.
Une autre option (peut-être meilleure) est dutiliser « prepend » au lieu de « supersede »: de cette façon, si le nom nest pas résolu par 8.8.8.8, alors la requête revient sur lautre serveur. En fait, nm-tool dit
DNS: 8.8.8.8 DNS: 208.67.222.222 DNS: 208.67.220.220
Commentaires
- Une bien meilleure réponse que le piratage NS configs. Surtout loption de préfixer un serveur devant ceux fournis par DHCP. Cela semble être l’équilibre parfait pour résoudre le problème, sans en créer de nouveaux!
- Il est ‘ de noter que nm-tool a été remplacé par nmcli
Réponse
Jai découvert que vous pouvez changer les serveurs de noms utilisés par dnsmasq
en ajoutant les lignes suivantes à /etc/dnsmasq.conf
:
server=8.8.8.8 server=8.8.4.4
Je navais pas de /etc/dnsmasq.conf
cependant, car il est installé par le paquet dnsmasq, mais Ubuntu nest fourni quavec dnsmasq-base. Jai couru sudo apt-get install dnsmasq
, puis modifié /etc/dnsmasq.conf
, puis sudo service dnsmasq restart
et sudo service network-manager restart
.
Jai exécuté sudo tail -n 200 /var/log/syslog
pour vérifier mon journal système et vérifier que dnsmasq
utilisait le nameservers que jai spécifiés:
Oct 21 23:00:54 mylaptop dnsmasq[8611]: using nameserver 8.8.8.8#53 Oct 21 23:00:54 mylaptop dnsmasq[8611]: using nameserver 8.8.4.4#53
Commentaires
- Il y a une raison pour laquelle il est marqué comme le meilleur réponse … parce que cest en effet! Merci beaucoup! Jajouterais quaprès toutes les étapes que vous avez mentionnées, un redémarrage du réseau peut être nécessaire pour que tout fonctionne correctement (cétait pour moi ….
sudo service network-manager restart
) - Sur le serveur Ubuntu 14.04, environ la moitié du temps, un démarrage à froid nentraînerait aucune connectivité Internet à laide dune URL, mais une adresse IP fonctionnerait. Jai passé beaucoup de temps à essayer de le réparer en vain, jai abandonné pendant des mois, puis jai trouvé cette solution. Moi aussi, je pense que cest la meilleure réponse.
- Il est ‘ curieux que dnsmasq doive être installé. Cela a en effet corrigé mon DNS dans une situation normale, mais cela a totalement cassé ma configuration VPN (la connexion VPN échoue maintenant …)
- il ny a pas de fichier de ce type sur Centos
- ubuntu 16: les modifications de la procédure avec
dnsmasq
ne sont pas propagées dans/etc/resolv.conf
. La conséquence est que nslookup utilise toujours son hôte local 127.0.0.1 défini à lorigine. Bien que je puisse confirmer vos syslogs mentionnés.
Réponse
Pour les situations IP statiques, le Guide du serveur Ubuntu dit: changez le fichier / etc / network / interfaces, qui peut ressembler à ceci:
iface eth0 inet static address 192.168.3.3 netmask 255.255.255.0 gateway 192.168.3.1 dns-search example.com dns-nameservers 192.168.3.45 192.168.8.10
Vous changez les IP 192.168.3.45 192.168.8.10 pour celles que vous voulez , comme 8.8.8.8
https://help.ubuntu.com/14.04/serverguide/serverguide.pdf Page 38
Commentaires
- Cela semble certainement correct, mais comment puis-je maintenant régénérer resolv.conf?!
- @JoelBerger
ifdown eth0; ifup eth0
. - pas de / etc / network / interfaces sur Centos
Réponse
-
Recherchez « Connexion réseau »
-
Ouvrez-le
-
Ensuite, sélectionnez WiFi ou Ethernet, ou ce que vous utilisez, et cliquez sur modifier. Vous obtiendrez ceci:
-
Sélectionnez ipv4 dans les onglets
-
Sélectionnez les adresses uniquement dans la méthode
-
Entrez votre nom DNS ci-dessous et enregistrez-le
-
Vous avez terminé
Commentaires
- I ‘ Je dois le faire pour chaque connexion réseau. Dans le passé, vous pouviez changer la valeur par défaut pour toutes les connexions, ce que je cherchais à faire ici.
- Je taime! ce paramètre dinterface utilisateur ma sauvé le cul de sudo et vim mess: ‘ (
- Utilisation de Mint (sur Ubuntu 14.04) – mais vu cela aussi avec KDE – pour certains raison, la configuration des serveurs DNS dans le GUI Network Manager naffecte pas ‘ les paramètres DNS utilisés dans un terminal
- Meilleure réponse à mon avis. Sur Ubuntu 14.04, jai 2 externes Adresses IP pour DNS qui ne reconnaîtraient pas ‘ les clients de mon réseau domestique. Laisser la méthode sur ‘ Automatique (DHCP) ‘ pour la connexion filaire ajouté ladresse IP de mon routeur ‘ à la liste existante.Pour la connexion sans fil via wlan0, cela na ‘ t fonctionner, mais la méthode sur ‘ Adresses automatiques (DHCP) uniquement ‘ a remplacé les adresses externes par ladresse IP de mon routeur et cela a également fonctionné. Appliquez les modifications avec
sudo service network-manager restart
, attendez un peu, vérifiez avecnmcli d list | grep 'DNS\|IP-IFACE'
. Et envoyez un ping à votre client interne par son nom. - cest la bonne réponse
Réponse
Une solution de contournement rapide et sale qui na pas encore été mentionnée consiste à définir lindicateur immuable sur le fichier resolv.conf
juste après sa modification.
$ sudo nano /etc/resolv.conf
Ajoutez ceci et enregistrez:
nameserver 8.8.8.8
Puis:
$ sudo chattr +i /etc/resolv.conf
Cela devrait faire laffaire. Je le fais aussi sur mon système.
Commentaires
- Chaque fois que votre solution implique chattr, elle ‘ nest pas vraiment une solution.
- cest ce que je fais sur les systèmes où je dois changer temporairement le DNS pour une raison quelconque et ne pas ‘ t veux modifier la configuration. En tant que solution permanente, je ne le recommanderais ‘.
- » solution de contournement rapide et sale »
- Ce nest pas ‘ t sale. Programmes qui détruisent la configuration locale parce quils pensent quils savent mieux sont sales.
Réponse
Mon problème était un peu différent , Je voulais remplacer les serveurs DNS de mes routeurs. Jai trouvé ce lien dUbuntu: https://wiki.ubuntu.com/OverrideDNSServers
Il dit: Si vous souhaitez remplacer les paramètres DNS qui vous sont fournis par un serveur DHCP, ouvrez
/etc/dhcp3/dhclient.conf
et ajoutez la ligne suivante:
supersede domain-name-servers <dns_ip_address1>,<dns_ip_address2>;
remplacement des éléments <dns_ip_address*>
par le contenu approprié.
Commentaires
- Cest la réponse qui a résolu mon problème.
- Parfait. En ajoutant simplement que vous devez redémarrer le réseau du service sudo pour activer les modifications.
- Et si nous ne ‘ que
dhcp3
dossier? Jai Xubuntu 17.10, a-t-il été déplacé vers/etc/dhcp
simplement? - @PlasmaBinturong dans mon cas, cétait
/etc/dhcp/dhclient.conf
sur dernières versions de Debian et Ubuntu.
Réponse
Essayez dajouter dns-nameservers XXX.XXX.XXX.X
dans votre fichier /etc/networking/interfaces
.
Commentaires
- Laissez un commentaire lorsque vous votez contre, sil vous plaît. Cest la méthode donnée dans le manuel , page 38.
- Le manuel non mentionné montre toutes les adresses IP sur une seule ligne. Cette réponse semble suggérer dajouter une ligne. Et pourquoi le dernier numéro na-t-il quun X de large? Je pense que cest surtout la courte rédaction extrêmement informelle et incertaine de style chat qui a recueilli les votes négatifs, @Zook.
Réponse
Il me manque peut-être quelque chose, mais selon les instructions de configuration à https://help.ubuntu.com/14.04/serverguide/network-configuration.html tout ce que vous faites est mettre à jour ce qui suit. Je nutilise pas de proxy – juste une machine derrière un pare-feu et un DNS local (lexemple montre Googles, mais définissez-le sur ce dont vous avez besoin).
nano /etc/network/interfaces
Par défaut:
# This file... # and how to activate... # The loopback... auto local iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet dhcp
MISE À JOUR:
# This file... # and how to activate... # The loopback... auto local iface lo inet loopback # The primary network interface #iface eth0 inet dhcp iface eth0 inet static address x.x.x.x netmask 255.255.255.0 gateway x.x.x.x #nameservers # you may not need dns-search # I use it because I"m running this on a Windows network # so its useful to have # dns-search x.y dns-nameservers 4.4.4.4 8.8.8.8
Redémarrez, si vous le pouvez.
Réponse
Certaines des réponses ici fonctionnent très bien. Cependant, je nétais pas satisfait du fait que je devais parcourir manuellement fichiers de configuration juste pour définir le « bon » DNS
que je alre ady je reçois plus de DHCP
avec NetworkManager
.
Jai creusé un peu et jai remarqué que le fichier /etc/resolv.conf
est en fait un lien et il « pointe vers /run/systemd/resolve/stub-resolv.conf
. Après quelques essais, il semble que le répertoire /run/systemd/resolve/
contient un autre fichier nommé resolv.conf
qui contient déjà les paramètres que vous « avez reçus via DHCP
. Ainsi, au lieu davoir à écraser / créer manuellement les fichiers de configuration dans /etc/
, vous pouvez simplement relier /etc/resolv.conf
pour pointer vers le /run/systemd/resolve/resolv.conf
et tout devrait bien se passer:
# sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
Vous devriez maintenant pouvoir modifier les paramètres même à partir du réseau Manager dans Gnome. 🙂
Je ne sais pas si cela fonctionnera sur les anciens ubuntu mais cest le cas sur Ubuntu 17.10.
Commentaires
- lorsque nous exécutons
systemd-resolve --flush-cache
le fichier lié dorigine est apparemment coupé, la réponse ci-dessus restaure la fonctionnalité dorigine
Réponse
MODIFIER LE 6 MAI, 2016
Jai écrit un script pour mettre à jour tous les paramètres des connexions système dans le répertoire /etc/Network-Manager/system-connections/
. Le Linterface graphique que vous utilisez pour modifier les connexions individuelles, édite un fichier particulier dans ce répertoire. Le script met à jour tous les fichiers – il recherche simplement ceux qui nont pas de DNS défini avec grep et le définit avec awk.
Étant donné que laccès à ces fichiers nécessite un accès sudo
, exécutez ce script avec sudo
puis – redémarrez le gestionnaire de réseau
#!/bin/bash # Author: Serg Kolo # Date: May 6, 2015 # Description: this script checks all settings for connections in # /etc/NetworkManager/system-connections/ , and if there"s no custom # dns set , this script sets it; # NOTE: run sudo service network-manager restart after running this script set -x for file in /etc/NetworkManager/system-connections/* ; do grep "dns=208.67.220.220;" "$file" || ( awk "{print;if ($1=="[ipv4]"){getline; print "method=auto\ndns=208.67.220. 220;\nignore-auto-dns=true"}}" "$file" > .tmpfile && ( cat .tmpfile > "$file") ) done
Script en action:
ORIGINAL POST Certains utilisateurs ont souligné ici que le DNS est en quelque sorte contrôlé par dnsmasq
. Cest en effet vrai. Jai été confronté à un problème un peu plus petit, où peu importe comment jai changé head
ou body
dans /etc/resolvconf/resolv.conf.d
, mon ordinateur ne pouvait pas réellement accéder en interne par nom de domaine – ne fonctionnant quavec des adresses IP.
Ce que jai fait, cest de modifier le fichier /etc/NetworkManager/NetworkManager.conf
. À lorigine, il disait dns=dnsmasq
mais je lai changé en: dns=208.67.222.222
. Bien que de cette façon, nm-tool
ne mentionne pas 208.67.222.222, jai quand même pu utiliser des noms de domaine, pas seulement des adresses IP.
Voici comment NetworkManager.conf
le fichier ressemble maintenant à:
[main] plugins=ifupdown,keyfile,ofono #dns=dnsmasq dns=208.67.222.222 [ifupdown] managed=false
REMARQUE: Pour plus de détails sur mon problème et cette solution, reportez-vous à mon message sur askubuntu.com .
MISE À JOUR # 1
De retour de luniversité aujourdhui, jai découvert que je ne pouvais pas me connecter à mon réseau Wi-Fi domestique. Jai lu un peu sur man NetworkManager.conf
et il savère que dns=
in [main]
est en fait une ligne pour les plug-ins, donc la ligne dns=dnsmasq
est en train dajouter le plugin dnsmasq au NetworkManager, apparemment.
Ma solution fonctionnait donc toujours, mais pas comme je my attendais. Voici un extrait de la page de manuel:
dns=plugin1,plugin2, ... List DNS plugin names separated by ",".
Les plugins DNS sont utilisés pour fournir la fonctionnalité de serveur de noms de cache local (ce qui accélère les requêtes DNS) et pour pousser les données DNS vers les applications qui lutilisent.
Donc en définissant dns=208.67.222.222
Jai peut-être, en gros, empêché NetworkManager dutiliser ce plugin, qui autrement utiliserait le serveur DNS local (qui apparemment ne fonctionne pas).
Réponse
Il existe deux méthodes
Méthode 1
Le serveur DNS à utiliser peut être modifié en mettant à jour le fichier head
sous resolv.conf.d
$ echo "nameserver 1.1.1.1" | sudo tee /etc/resolvconf/resolv.conf.d/base
puis exécutez
$ sudo resolvconf -u
Ce qui précède va générer un fichier resolv.conf
générique dans le répertoire /etc
. Toutes vos demandes de résolution seront envoyées au serveur de noms ci-dessus. Résolu.
Cependant, cela a des implications. Lorsque vous utilisez resolvconf
pour interroger directement 1.1.1.1
pour les résolutions dadresses, la puissance de la mise en cache fournie par dnsmasq a disparu. Chaque requête ira à la 1.1.1.1
Méthode 2
Si vous ne voulez pas que ci-dessus se produise et utilisez dnsmasq pour les résolutions DNS, reportez-vous à cette réponse. La réponse est simplement décrite ici.
Ajoutez le contenu suivant dans le fichier /etc/dnsmasq.conf
.
server = 1.1.1.1
Ensuite, redémarrez le service dnsmasq
$ sudo systemctl restart dnsmasq.service
Les choses fonctionneront bien. Résolu.
Réponse
La manière simple de changer de DNS:
$ sudo nano /etc/network/interfaces
Si des problèmes surviennent, installez nano
:
$ sudo apt-get install nano -y
then ..
- trouver ceci:
dns-nameservers
- si vous ne le trouvez pas, saisissez-le simplement ici
- Jai fait le mien comme ceci:
dns-nameservers 199.85.126.10 199.85.127.10
Jespère que cest la meilleure façon, je lai fait comme ça sur un VPS au fait.
Réponse
à la racine:
- comment
dns=dnsmasq
sur/etc/NetworkManager/NetworkManager.conf
- ajoutez
supersede domain-name-servers 4.2.2.1,4.2.2.3,4.2.2.5,4.2.2.4,4.2.2.1,4.2.2.2;
à la fin de/etc/dhcp/dhclient.conf
-
sudo service network-manager restart
Ce qui suit apporte les modifications ci-dessus:
$ sudo sed -i "s/dns\x3Ddnsmasq/\x23dns\x3Ddnsmasq/" \ /etc/NetworkManager/NetworkManager.conf $ echo "supersede domain-name-servers 4.2.2.1,4.2.2.3,4.2.2.5,4.2.2.4,4.2.2.1,4.2.2.2;" | \ sudo tee --append /etc/dhcp/dhclient.conf $ sudo service network-manager restart
Attendez 7/10 secondes pour terminer le processus de redémarrage, vérifiez votre configuration avec » nslookup nist.gov « . Fonctionne bien sur Ubuntu LTS 14.04.
Réponse
NB: Comme la plupart des réponses, celle-ci suppose lutilisation de NetworkManager . Cependant, contrairement à la plupart des autres réponses, cela ne suppose pas lutilisation de resolvconf
, dhclient
ou quoi que ce soit dautre – sachez quils peuvent prendre le relais, (voir mise à jour).
Compte tenu du nombre de vues de cette question, il « est assez incroyable que ce 8 caractères la solution na pas encore été publiée: selon man NetworkManager.conf
,
dns: […] none: NetworkManager ne modifiera pas resolv.conf. Cela implique rc-manager non géré
Par conséquent, ajoutez
dns=none
dans la section [main]
de /etc/NetworkManager/NetworkManager.conf
puis redémarrez NetworkManager et il « ne modifiera pas /etc/resolv.conf
.
Notez que le paramètre rc-manager=unmanaged
doit être équivalent à dns=none
, et ce paramètre rc-manager=symlink
avec /etc/resolv.conf
comme symb Le lien olic peut être une meilleure idée (lire la page de manuel mentionnée ci-dessus).
Mise à jour:
Après que NetworkManager a cessé décraser /etc/resolv.conf
, jai pensé dhcpcd
remplaçait déjà /etc/resolv.conf
par un fichier vide inutile au démarrage. La page de manuel de dhcpcd.conf
a aidé, il suffit dajouter
nohook resolv.conf
dans votre dhcpcd.conf
(le mien est dans /etc/dhcpcd.conf
).
Réponse
Que « s parce quune application installée particulière gère ce fichier. Vous pouvez soit désinstaller cette application, soit définir les options souhaitées directement via cette application.
Dans mon cas (serveur minimal Linux centos7) ayant la même situation que moi # Generated by NetworkManager
en haut du fichier resolv.conf
donc la meilleure façon de changer cette option était dutiliser
nmtui
. Vous pouvez modifier les serveurs de noms dans cet outil et lorsque vous modifiez les options de networkmanager à partir de cet utilitaire, ils seront automatiquement appliqués à /etc/resolv.conf
après le redémarrage. Vous trouverez ici plus dinformations .
Réponse
Rien à tout sur Internet il lped me, parce que lutilitaire CLI de NordVPN a continué à écraser /etc/resolv.conf
chaque fois que je me connectais et me déconnectais du VPN. Il a même dépassé chattr +i
, ce qui était super ennuyeux !!
Ce qui a fonctionné pour moi était de désactiver complètement resolvconf !
Modifiez /etc/resolvconf.conf
et faites-en la seule entrée:
resolv_conf=NO
Ceci désactive spécifiquement resolvconf
, ce qui signifie que votre /etc/resolv.conf
ne sera jamais modifié. Alors continuez et sudo chattr +i /etc/resolv.conf
pour faire bonne mesure.
Testé sur Arch Linux.
Réponse
Sur Centos 7, en utilisant NetworkManager, la solution la plus propre et la plus efficace que jai pu trouver est de créer un script NetworkManager qui utilise nmcli pour définir les valeurs que je souhaite.
Par exemple
Créez /etc/NetworkManager/dispatcher.d/mydns.sh
avec les autorisations 755 et le contenu suivant:
#!/usr/bin/sh if [ $1 == "enp0s11" -a $2 == "up" ] then echo "Setting my DNS ($1 is $2)" | logger # disable default DNS nmcli device mod enp0s11 ipv4.ignore-auto-dns yes # Substitute our own DNS, in the desired order nmcli device mod enp0s11 ipv4.dns "10.0.1.101 10.0.1.1" fi
Et pour tester, sans redémarrer:
systemctl restart NetworkManager.service cat /etc/resolv.conf
YMMV, mais cest le seul moyen que jai trouvé qui permette à mon /etc/resolv.conf de « survivre » à un redémarrage sans être écrasé par des valeurs que je ne veux pas.
dns=none
dans/etc/NetworkManager/NetworkManager.conf
(voir les détails dans ma réponse ci-dessous).