Come imposto il mio DNS quando resolv.conf viene sovrascritto?

La maggior parte delle informazioni che vedo online dice di modificare /etc/resolv.conf, ma qualsiasi modifica che apporto lì viene semplicemente sovrascritta .

$ 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 

Sembra che 127.0.1.1 sia unistanza locale di dnsmasq. I dnsmasq documenti dicono di modificare /etc/resolv.conf. Ho provato a inserire server dei nomi personalizzati in /etc/resolv.conf.d/base, ma le modifiche non “non sono state visualizzate in /etc/resolv.conf dopo aver eseguito sudo resolvconf -u.

Cordiali saluti, non voglio cambiare il DNS in base alla connessione, voglio impostare le impostazioni DNS predefinite da utilizzare per tutte le connessioni quando non diversamente specificato.

AGGIORNAMENTO:

Ho risposto a questa domanda io stesso: https://unix.stackexchange.com/a/163506/67024

Penso che sia la soluzione migliore poiché:

  1. Funziona.
  2. Richiede il minor numero di modifiche e
  3. Funziona ancora insieme alla cache DNS di dnsmasq, invece di aggirarla.

Commenti

  • Meglio rispondere alla tua domanda invece di aggiornare la tua domanda Penso … sarà più facile trovare la risposta giusta che hai dato al tuo problema
  • Sembra che la maggior parte delle risposte siano orientate a Ubuntu e eccessivamente complicate. Una soluzione universale per gli utenti di NetworkManager consiste nellaggiungere semplicemente dns=none in /etc/NetworkManager/NetworkManager.conf (vedere i dettagli nella mia risposta di seguito).
  • Penso che questa risposta chiarisca il motivo per cui il file resolution.conf viene sovrascritto, quindi sai come configurarlo.

Risposta

Credo che se desideri sostituire il server dei nomi DNS devi semplicemente aggiungere una riga simile a questa nel tuo base file in resolv.conf.d.

Esempio

$ sudo vim /etc/resolvconf/resolv.conf.d/base 

Quindi inserisci lelenco dei server dei nomi in quindi:

nameserver 8.8.8.8 nameserver 8.8.4.4 

Infine aggiorna resolvconf:

$ sudo resolvconf -u 

Se dai unocchiata alla pagina man di resolvconf, vengono descritti i vari file in /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 

Anche se è presente “un avviso allinizio del file head:

questo avviso è lì in modo che quando questi file sono costruiti, lavviso finirà per entrare nel file resolv.conf risultante che questi file saranno essere usato per fare. Quindi avresti potuto aggiungere facilmente le nameserver righe descritte sopra per il file base al head anche file.

Riferimenti

Commenti

  • Ubuntu 14.04 – quando ho inserito i server dei nomi in base ed eseguito resolvconf -u, i server dei nomi erano non messo in resolv.conf – quando ho inserito i server dei nomi in head, erano
  • Ubuntu 14.04 – Ho anche dovuto commentare configurazione impostata in /run/resolvconf/interface/NetworkManager
  • digita nslookup google.com e il primo IP nellelenco dovrebbe essere il tuo nuovo server dei nomi, in caso contrario , hai sbagliato
  • Ubuntu 16.04: funzionava solo se aggiunto a /etc/resolvconf/resolv.conf.d/head, non con base. Confermato con nslookup google.com.
  • Inizialmente, devi avere resolvconf installato. Puoi installarlo eseguendo sudo apt-get install resolvconf.

Risposta

Anche a me interessa questa domanda e ho provato la soluzione proposta @sim.

Per testarla ho inserito

nameserver 8.8.8.8 

in /etc/resolvconf/resolv.conf.d/base e

nameserver 8.8.4.4 

in /etc/resolvconf/resolv.conf.d/head

Quindi ho riavviato la rete con

sudo service network-manager restart 

Il risultato è che /etc/resolv.conf ha il seguente aspetto

# 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 

e nm-tool afferma che i dnsserver sono

DNS: 208.67.222.222 DNS: 208.67.220.220 

quali sono quelli forniti dal mio router. Daltra parte scavare un indirizzo dice che

;; Query time: 28 msec ;; SERVER: 8.8.4.4#53(8.8.4.4) 

Se ho ragione, deduco da tutto ciò che

  1. solo la parte “head” viene letta da resolvonf: la parte “base” è in qualche modo controllata da dnsmasq
  2. il dnsserver è effettivamente forzato a 8.8.4.4 indipendentemente dal server fornito da dhcp, MA perdi la cache fornita da dnsmasq, poiché la richiesta è sempre inviata a 8.8.4.4
  3. dnsmasq sta ancora usando SOLO il dnsserver fornito da dhcp.

Tutto sommato, funziona ma io non pensare che sia il risultato desiderato richiesto.Una soluzione più vicina credo sia la seguente. Modifica

sudo vim /etc/dhcp/dhclient.conf 

quindi aggiungi

supersede domain-name-servers 8.8.8.8; 

Il risultato è il seguente: resolv.conf contiene solo 127.0.0.1, il che significa che la cache dnsmasq viene invocata e nm-tool dice

DNS: 8.8.8.8 

che significa che se il nome cercato non è nella cache , quindi è richiesto a 8.8.8.8 e non al server fornito da dhcp.

Unaltra opzione (forse migliore) è usare “anteponi” invece di “sostituisci”: in questo modo, se il name non viene risolto da 8.8.8.8, quindi la richiesta ricade sullaltro server. In effetti, nm-tool dice

DNS: 8.8.8.8 DNS: 208.67.222.222 DNS: 208.67.220.220 

Commenti

  • Una risposta molto migliore dellhacking nel Configurazioni NS. Soprattutto lopzione di anteporre un server a quelli forniti da dhcp. Sembra lequilibrio perfetto per risolvere il problema, senza crearne di nuovi!
  • È ‘ degno di nota che nm-tool è stato sostituito con nmcli

Risposta

Ho scoperto che puoi cambiare i server dei nomi che dnsmasq utilizza aggiungendo le seguenti righe a /etc/dnsmasq.conf:

server=8.8.8.8 server=8.8.4.4 

Non avevo un /etc/dnsmasq.conf file, però, poiché è installato dal pacchetto dnsmasq, ma Ubuntu viene fornito solo con dnsmasq-base. Ho eseguito sudo apt-get install dnsmasq, quindi modificato /etc/dnsmasq.conf, quindi sudo service dnsmasq restart e sudo service network-manager restart.

Ho eseguito sudo tail -n 200 /var/log/syslog per controllare il mio syslog e verificare che dnsmasq stesse utilizzando server dei nomi che ho specificato:

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 

Commenti

  • Cè un motivo per cui questo è contrassegnato come il migliore rispondi … perché lo è davvero! grazie mille! Aggiungerei che, dopo tutti i passaggi che hai citato, potrebbe essere necessario un riavvio della rete affinché tutto funzioni senza intoppi (era per me …. sudo service network-manager restart)
  • Su Ubuntu 14.04 Server circa la metà delle volte un avvio a freddo non comporterebbe alcuna connettività Internet utilizzando un URL ma un indirizzo IP funzionerebbe. Ho passato molto tempo a cercare inutilmente di risolverlo, ho rinunciato per mesi, poi ho trovato questa soluzione. Anchio penso che sia la risposta migliore.
  • È ‘ interessante che dnsmasq debba essere installato. Questo ha effettivamente risolto il mio DNS in una situazione normale, ma ha completamente interrotto la mia configurazione VPN (la connessione VPN ora non riesce …)
  • non esiste un file di questo tipo su Centos
  • ubuntu 16: le modifiche dalla procedura con dnsmasq non vengono propagate in /etc/resolv.conf. La conseguenza è che hat nslookup usa ancora il suo localhost originale 127.0.0.1 definito. Anche se posso confermare i tuoi syslog menzionati.

Answer

Per le situazioni di IP statico, la Guida al server di Ubuntu dice cambia il file / etc / network / interfaces, che potrebbe assomigliare a questo:

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 

Cambia gli IP 192.168.3.45 192.168.8.10 per quelli che desideri , come 8.8.8.8

https://help.ubuntu.com/14.04/serverguide/serverguide.pdf Pagina 38

Commenti

  • Sembra sicuramente corretto, ma come faccio a rigenerare resolv.conf ?!
  • @JoelBerger ifdown eth0; ifup eth0.
  • no / etc / network / interfaces su Centos

Answer

  1. Cerca “Connessione di rete”

  2. Aprilo

    inserisci la descrizione dellimmagine qui

  3. Quindi seleziona WiFi o Ethernet o qualunque cosa tu stia utilizzando e fai clic su modifica. Otterrai questo:

    inserisci qui la descrizione dellimmagine

  4. Seleziona ipv4 nelle schede

  5. Seleziona solo indirizzi nel metodo

  6. Inserisci il tuo nome DNS di seguito e salvalo

  7. Hai “finito

Commenti

  • I ‘ Dovrei farlo per ogni connessione di rete però. In passato potevi cambiare limpostazione predefinita per tutte le connessioni, che è quello che stavo cercando di fare qui.
  • Ti amo! questa impostazione dellinterfaccia utente mi ha salvato il culo da sudo e vim mess: ‘ (
  • Uso di Mint (su Ubuntu 14.04) – ma visto anche con KDE – per alcuni motivo, limpostazione dei server DNS nella GUI Network Manager non ‘ influisce sulle impostazioni DNS utilizzate in un terminale
  • Migliore risposta imho. Su Ubuntu 14.04 ne ho 2 esterni Indirizzi IP per DNS che ‘ t riconoscono i client allinterno della mia rete domestica. Lasciando il metodo su ‘ Automatico (DHCP) ‘ per la connessione cablata ha aggiunto il mio indirizzo IP del router ‘ allelenco esistente.Per la connessione wireless su wlan0, questo ‘ non funzionava, ma solo il metodo su ‘ indirizzi automatici (DHCP) ‘ ha sostituito gli indirizzi esterni con lIP del mio router e anche quello ha funzionato. Applica le modifiche con sudo service network-manager restart, attendi un po , verifica con nmcli d list | grep 'DNS\|IP-IFACE'. Ed esegui il ping del tuo client interno per nome.
  • questa è la risposta corretta

Risposta

Una soluzione rapida e sporca che non è stata ancora menzionata è limpostazione del flag immutabile sul file resolv.conf subito dopo averlo modificato.

$ sudo nano /etc/resolv.conf 

Aggiungi questo e salva:

nameserver 8.8.8.8 

Quindi:

$ sudo chattr +i /etc/resolv.conf 

Dovrebbe funzionare. Lo faccio anche sul mio sistema.

Commenti

  • Ogni volta che la tua soluzione coinvolge chattr, ‘ non è proprio una soluzione.
  • questo è quello che faccio sui sistemi in cui ho bisogno di cambiare temporaneamente il DNS per qualche motivo e non ‘ Non voglio modificare la configurazione. Come soluzione permanente, ‘ non lo consiglierei.
  • ” soluzione rapida e sporca ”
  • Questo non è ‘ sporco. Programmi che distruggono la configurazione locale perché pensano di sapere che sono sporchi.

Risposta

Il mio problema era leggermente diverso , Volevo sovrascrivere i server DNS dei miei router. Ho trovato questo collegamento da Ubuntu: https://wiki.ubuntu.com/OverrideDNSServers

Dice: Se lo desideri sovrascrivi le impostazioni DNS fornite da un server DHCP, apri

/etc/dhcp3/dhclient.conf 

e aggiungi la seguente riga:

supersede domain-name-servers <dns_ip_address1>,<dns_ip_address2>; 

sostituendo <dns_ip_address*> elementi con il contenuto appropriato.

Commenti

  • Questa è la risposta che ha risolto il mio problema.
  • Perfetto. Aggiungendo solo che dovresti sudo riavviare la rete del servizio per abilitare le modifiche.
  • E se ‘ non lo abbiamo dhcp3 cartella? Ho Xubuntu 17.10, è stato spostato a /etc/dhcp semplicemente?
  • @PlasmaBinturong nel mio caso era /etc/dhcp/dhclient.conf su ultime versioni di Debian e Ubuntu.

Risposta

Prova ad aggiungere dns-nameservers XXX.XXX.XXX.X nel file /etc/networking/interfaces.

Commenti

  • Lascia un commento quando si vota in negativo, per favore. Questo è il metodo indicato nel manuale , pagina 38.
  • Il manuale non menzionato mostra tutti gli IP su una riga. Questa risposta sembra suggerire laggiunta di una riga. E perché lultimo numero è largo solo una X? Penso che sia stata soprattutto la breve scrittura in stile chat estremamente informale e incerta che ha raccolto i voti negativi, @Zook.

Answer

Forse mi manca qualcosa, ma secondo le istruzioni di configurazione in https://help.ubuntu.com/14.04/serverguide/network-configuration.html tutto ciò che fai è aggiorna quanto segue. Non sto eseguendo un proxy, ma solo una macchina dietro un firewall e un DNS locale (lesempio mostra Google, ma impostalo su quello che ti serve).

nano /etc/network/interfaces 

Predefinito:

# This file... # and how to activate... # The loopback... auto local iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet dhcp 

AGGIORNATO:

# 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 

Riavvia, se puoi.

Risposta

Alcune delle risposte qui funzionano perfettamente. Tuttavia non ero soddisfatto del fatto che dovevo passare manualmente file di configurazione solo per impostare il DNS “corretto” che ho già ady sto ricevendo più di DHCP con NetworkManager.

Ho scavato un po e ho notato che il file /etc/resolv.conf è in realtà un collegamento e punta a /run/systemd/resolve/stub-resolv.conf. Dopo alcuni esperimenti, sembra che la directory /run/systemd/resolve/ contenga un altro file denominato resolv.conf che contiene già le impostazioni che hai ricevuto tramite DHCP. Quindi, invece di dover sovrascrivere / creare manualmente i file di configurazione in /etc/, puoi semplicemente ricollegare /etc/resolv.conf in modo che punti a /run/systemd/resolve/resolv.conf file e tutto dovrebbe andare bene:

# sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf 

Ora dovresti essere in grado di modificare le impostazioni anche dalla rete Manager in Gnome. 🙂

Non sono sicuro se questo funzionerà su ubuntu più vecchi ma funziona su Ubuntu 17.10.

Commenti

  • quando eseguiamo systemd-resolve --flush-cache il file collegato originale è apparentemente reciso, la risposta sopra ripristina la funzionalità originale

Risposta

MODIFICA 6 MAGGIO, 2016

Ho “scritto uno script per aggiornare tutte le impostazioni per le connessioni di sistema nella directory /etc/Network-Manager/system-connections/. La GUI che usi per modificare le singole connessioni, modifica un particolare file in quella directory. Lo script aggiorna tutti i file – cerca solo quelli che non hanno dns impostato con grep e lo imposta con awk.

Poiché laccesso a questi file richiede laccesso sudo, esegui questo script con sudo e quindi riavvia il gestore di rete

#!/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 in azione:

inserisci qui la descrizione dellimmagine

POST ORIGINALE Alcuni utenti qui hanno sottolineato che il DNS è in qualche modo controllato da dnsmasq. Questo è davvero vero. “Ho affrontato un problema un po più piccolo, dove non importa come ho cambiato head o body in /etc/resolvconf/resolv.conf.d, il mio computer non poteva effettivamente accedere a interned by domain name – funziona solo con indirizzi IP.

Quello che ho fatto è stato modificare il file /etc/NetworkManager/NetworkManager.conf. In origine diceva dns=dnsmasq ma lho cambiato in: dns=208.67.222.222. Anche se in questo modo nm-tool non menziona 208.67.222.222, ero ancora in grado di utilizzare nomi di dominio, non solo indirizzi IP.

Ecco come il mio Il file NetworkManager.conf ha questo aspetto:

[main] plugins=ifupdown,keyfile,ofono #dns=dnsmasq dns=208.67.222.222 [ifupdown] managed=false 

NOTA: Per maggiori dettagli sul mio problema e su questa soluzione, fai riferimento al mio post su askubuntu.com .

UPDATE # 1

Tornato a casa dalluniversità oggi, ho scoperto che non potevo connettermi al WiFi di casa. Ho letto un po di tempo su man NetworkManager.conf e risulta che dns= in [main] è in realtà una riga per plug-in, quindi la riga dns=dnsmasq sta effettivamente aggiungendo il plug-in dnsmasq a NetworkManager, apparentemente.

Quindi la mia soluzione funzionava ancora, ma non come mi aspettavo. Ecco un estratto dalla pagina man:

dns=plugin1,plugin2, ... List DNS plugin names separated by ",". 

I plugin DNS vengono utilizzati per fornire la funzionalità di server dei nomi di caching locale (che velocizza le query DNS) e per inviare i dati DNS alle applicazioni che li utilizzano.

Quindi impostando dns=208.67.222.222 Potrei aver, fondamentalmente, impedito a NetworkManager di utilizzare quel plugin, che altrimenti avrebbe utilizzato il server DNS locale (che apparentemente non funziona).

Risposta

Sono disponibili due metodi

Metodo 1

Il server DNS da utilizzare può essere modificato aggiornando il file head in resolv.conf.d

$ echo "nameserver 1.1.1.1" | sudo tee /etc/resolvconf/resolv.conf.d/base 

e quindi eseguire

$ sudo resolvconf -u 

Quanto sopra genererà un file resolv.conf generico nella directory /etc. Tutte le tue richieste di risoluzione verranno inviate al suddetto server dei nomi. Risolto.

Tuttavia ci sono delle implicazioni in questo. Quando si utilizza resolvconf per interrogare direttamente 1.1.1.1 per la risoluzione degli indirizzi, la potenza del caching fornita da dnsmasq non è più disponibile. Ogni richiesta andrà al 1.1.1.1

Metodo 2

Se non vuoi che succeda e usa dnsmasq per le risoluzioni DNS, fai riferimento questa risposta. La risposta è descritta semplicemente qui.

Aggiungi il seguente contenuto nel file /etc/dnsmasq.conf .

server = 1.1.1.1

Quindi riavvia il servizio dnsmasq

$ sudo systemctl restart dnsmasq.service 

Le cose andranno bene. Risolto.

Risposta

Il modo più semplice per cambiare DNS:

$ sudo nano /etc/network/interfaces 

In caso di problemi, installa nano:

$ sudo apt-get install nano -y 

quindi ..

  1. trova questo: dns-nameservers
  2. se non lo trovi scrivilo lì
  3. Ho fatto il mio in questo modo: dns-nameservers 199.85.126.10 199.85.127.10

Spero che questo sia il modo migliore, lho fatto in questo modo su un VPS tra laltro.

Rispondi

su root:

  1. comment dns=dnsmasq su /etc/NetworkManager/NetworkManager.conf
  2. aggiungi 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; alla fine di /etc/dhcp/dhclient.conf
  3. sudo service network-manager restart

Quanto segue apporta le modifiche mostrate sopra:

$ 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 

Attendi 7/10 secondi per terminare il processo di riavvio, controlla la tua configurazione con” nslookup nist.gov “. Funziona bene su Ubuntu LTS 14.04.

Answer

NB: come la maggior parte delle risposte, questa presuppone luso di NetworkManager . Tuttavia, a differenza della maggior parte delle altre risposte, non presuppone luso di resolvconf, dhclient o qualsiasi altra cosa: fai attenzione che potrebbero subentrare, però (vedi aggiornamento).

Dato il numero di visualizzazioni di questa domanda è abbastanza incredibile che questo 8 caratteri la soluzione non è “ancora stata pubblicata: secondo man NetworkManager.conf,

dns: […] nessuno: NetworkManager non modificherà resolv.conf. Ciò implica rc-manager non gestito

Quindi aggiungi

dns=none 

nella [main] sezione di /etc/NetworkManager/NetworkManager.conf quindi riavvia NetworkManager e non “t modifica /etc/resolv.conf più.

Tieni presente che limpostazione rc-manager=unmanaged dovrebbe essere equivalente a dns=none e quellimpostazione rc-manager=symlink oltre ad avere /etc/resolv.conf come simbolo olic link potrebbe essere unidea migliore (leggi la manpage sopra menzionata).

Aggiornamento:

Dopo che NetworkManager ha smesso di sovrascrivere /etc/resolv.conf, ho pensato dhcpcd stava già sostituendo /etc/resolv.conf con un file vuoto inutile allavvio. La pagina man di dhcpcd.conf ha aiutato, è sufficiente aggiungere

nohook resolv.conf 

nel tuo dhcpcd.conf (il mio è in /etc/dhcpcd.conf).

Rispondi

Quello “s perché una particolare applicazione installata gestisce questo file. Puoi disinstallare quellapplicazione o impostare le opzioni desiderate direttamente tramite quellapplicazione.

Nel mio caso (server Linux centos7 minimale) con la stessa situazione che stavo ottenendo # Generated by NetworkManager allinizio del file resolv.conf, quindi il modo migliore per modificare questa opzione era utilizzare

nmtui

. Puoi modificare i server dei nomi in questo strumento e quando modifichi le opzioni di networkmanager da questa utility verranno automaticamente applicate a /etc/resolv.conf dopo il riavvio. Qui puoi trovare ulteriori informazioni .

Risposta

Niente in tutto su Internet lui mi ha risposto, perché lutilità CLI di NordVPN continuava a sovrascrivere /etc/resolv.conf ogni volta che mi collegavo e mi disconnettevo dalla VPN. Ha persino sovrascritto chattr +i, il che è stato molto fastidioso !!

Ciò che ha funzionato per me è stato disabilitare completamente resolvconf !

Modifica /etc/resolvconf.conf e rendi questa lunica voce:

resolv_conf=NO 

Questo disabilita specificamente resolvconf, il che significa che il tuo /etc/resolv.conf non verrà mai modificato da esso. Quindi vai avanti e sudo chattr +i /etc/resolv.conf per buona misura.

Testato su Arch Linux.

Risposta

Su Centos 7, utilizzando NetworkManager, la soluzione più pulita, persistente e funzionante che sono stato in grado di trovare è creare uno script NetworkManager che utilizza nmcli per impostare i valori desiderati.

ad es.

Crea /etc/NetworkManager/dispatcher.d/mydns.sh con autorizzazioni 755 e i seguenti contenuti:

#!/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 

E per testare, senza riavviare:

systemctl restart NetworkManager.service cat /etc/resolv.conf 

YMMV, ma questo è lunico modo che ho scoperto che consente al mio /etc/resolv.conf di “sopravvivere” a un riavvio senza essere sovrascritto con valori che non voglio.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *