Come impostare il risolutore DNS in Fedora usando il gestore di rete?


16

Voglio provare il DNS pubblico di Google. Per questo ho bisogno di cambiare l'indirizzo del nameserver. So che è nel file /etc/resolv.conf, ma ogni volta che inizio network-manager, sovrascrive i valori in quel file con quello che ottiene usando DHCP.

Come faccio a dirgli di non farlo? Ho consultato la GUI, ma ho trovato solo un'opzione per aggiungere più indirizzi IP.

Di seguito è il trofeo :)

inserisci qui la descrizione dell'immagine

Risposte:


11

Metodo n. 1

Trova il file di configurazione di NetworkManager e aggiungi / modifica la seguente voce (in CentOS5 è in /etc/NetworkManager/nm-system-settings.confo /etc/NetworkManager/system-connections/) e modifica il tuo file di connessione DSL:

[ipv4]
method=auto
dns=8.8.8.8;4.2.2.2;
ignore-auto-dns=true

Nota: - se [ipv4]non funziona, provare con[ppp]

Metodo n. 2

È possibile modificare l'autorizzazione in /etc/resolv.confmodo che non possa essere scritta da altri servizi o che è possibile utilizzare chattr.

Metodo n. 3

Crea uno script come indicato di seguito in /etc/Networkmanager/dispatcher.d/e non dimenticare di renderlo eseguibile:

#!/bin/bash
#
# Override /etc/resolv.conf and tell
# NetworkManagerDispatcher to go pluck itself.
#
# scripts in the /etc/NetworkManager/dispatcher.d/ directory
# are called alphabetically and are passed two parameters:
# $1 is the interface name, and $2 is "up" or "down" as the
# case may be.

# Here, no matter what interface or state, override the
# created resolver config with my config.

cp -f /etc/resolv.conf.myDNSoverride /etc/resolv.conf

ingresso di /etc/resolv.conf.myDNSoverride

nameserver 8.8.8.8

No :) Deve essere sovrascritto più tardi, dopo aver ricevuto alcune informazioni dall'ISP. Ma questo mi ha dato alcune idee, andrò a network-scripts
frugare in

Se il metodo n. 3 non funziona, potresti avere più successo nella modifica /etc/ppp/ip-up.localche apparentemente viene chiamata dopo che pppd ha stabilito la connessione.
Drav Sloan,

@DravSloan Apprezzo il tuo ans, funziona, ma ho trovato qualche hack su Google che ho pubblicato qui .. vediamo.
Rahul Patil,

Il numero 1 ha funzionato per me, grazie mille!
wvxvw,

Almeno su Debian Jessie, il file nm-system-settings.conf non esiste, sebbene ci sia una pagina man per esso. La pagina man indica che nm-system-settings è obsoleto con NetworkManager / NetworkManager.conf come nuovo predefinito.
Geremia,

7

Dai un'occhiata a:

$ man NetworkManager.conf

Sembra che se aggiungi una linea con dns=nonenella [main]sezione, NetworkManager non toccherà /etc/resolv.conf.


1
No, non ha aiutato. Lo riscrisse comunque. Per quanto ne potessi dedurre da quel file, i plugin in quella sezione sono pensati per la memorizzazione nella cache dei record DNS recuperati. Ma potrei sbagliarmi.
wvxvw,

2
Hai riavviato NetworkManager dopo aver modificato il file?
rickhg12hs

Ho disabilitato e abilitato il networking tramite il widget di KDE. Credo che questo dovrebbe riavviarlo. Sfortunatamente riavviarlo via service NetworkManager restartnon funziona - non so perché: | non riesce a connettersi dopo che provo a riavviarlo in questo modo.
wvxvw,

Molto strano che restartnon funzionerebbe. Non l'ho sperimentato in nessuno dei sistemi che ho usato.
rickhg12hs

3
Ok, quindi accedendo dns=nonea /etc/NetworkManagerFedora 24 ... (c'è anche il vecchio PEERDNS=nonein /etc/sysconfig/network-scripts/ifcfg-${IFNAME}(come descritto qui per esempio ... è ancora usato?) ... riavvia l'intera casella per controllare. Funziona.
David Tonhofer

3

PPPD senario

Usare ppone ppoffprobabilmente significa che stai usando pppd. Nel qual caso poneseguirà lo script /etc/ppp/ppp_on_boot. A meno che tu non fornisca un argomento pon, caricherà le impostazioni da /etc/ppp/peers/provider. Se fornisci un argomento, ad esempio pon interwebzdirà che cercherà /etc/ppp/peers/interwebz. C'è anche /etc/ppp/optionsda controllare.

Immagino che questo file contenga l'impostazione usepeerdns. Dalla pagina man pppd:

usepeerdns
   Ask the peer for up to 2 DNS server addresses. The addresses supplied by the peer 
   (if any) are passed to the /etc/ppp/ip-up script in the environment variables 
   DNS1 and DNS2, and the environment variable USEPEERDNS will be set to 1. In 
   addition, pppd will create an /etc/ppp/resolv.conf file containing one or two
   nameserver lines with the address(es) supplied by the peer. 

Commenta questa opzione, fermati pppdcon poff, modifica il tuo resolv.confe poi riavvia il tuo pppdcon pone vedi se questo risolve il problema.

eth0 senario

Se modifichi il file delle impostazioni dell'interfaccia ( /etc/sysconfig/network-scripts/ifcfg-eth0per eth0), puoi vedere quali impostazioni sta utilizzando Network Manager.

Se hai DHCP in esecuzione su quell'interfaccia, BOOTPROTO=yespuoi dirgli di non sovrascrivere le tue impostazioni DNS PEERDNS=no. Se si utilizza un indirizzo statico, è possibile configurare le impostazioni DNS con

DNS1="8.8.4.4"
DNS2="8.8.8.8"
SEARCH="yourdomain.com"

Grazie, vicino, ma non ancora. L'interfaccia in uso è pppe non esiste un ifcfg-pppfile corrispondente : |
wvxvw,

Come viene creata la tua connessione Point-to-Point? Come è stato configurato?
Drav Sloan,

La cosa interessante è che non so come sia stato creato. :) Tutto quello che so è che pone poffmagicamente il lavoro e che il NetworkManager è in qualche modo in grado di utilizzarlo. La mia prima ipotesi è stata che deve essere stato pppoeconf, ma non è nemmeno installato qui ...
wvxvw,

Aggiornato per vedere se puoi cambiarlo con le impostazioni di pppd.
Drav Sloan,

Grazie mille per il tuo tempo, anche se alla fine ho usato la risposta di Rahul Patil, è stato molto istruttivo!
wvxvw,

2

Puoi farlo nella GUI di configurazione di Network Manager, anche se, per quanto posso vedere, deve essere fatto in base alla connessione e non può essere fatto a livello globale, il che significa che devi configurarlo singolarmente per ogni connessione WiFi. (È un po 'fastidioso, ma ha anche un vantaggio, dal momento che molte reti wifi bloccano il DNS a tutto tranne che al server interno, nel bene o nel male, quindi è probabile che sia necessaria una configurazione individuale per far funzionare le cose.)

In ogni caso, in Fedora 19, vai alla casella "Impostazioni di rete" che ottieni dal menu a discesa di Network Manager o esegui il pannello delle impostazioni di Network Connections. (Perché queste due sono diverse? Immagino che le modifiche vengano introdotte gradualmente). In ogni caso, puoi quindi modificare ogni connessione e, in entrambe le interfacce, trovare la scheda IPv4.

Nel configuratore Impostazioni di rete, cambia Automatico da Attivo a Disattivo e inserisci gli indirizzi di Google. In alternativa, nella GUI delle connessioni di rete, cambiare il metodo da "Automatico (DHCP)" a "Solo indirizzi automatici (DHCP)" e immettere nuovamente il DNS nella casella.


1

Ho aggiunto dns=nonealla sezione principale di /etc/Networkmanager/NetworkManager.conf, quindi riavviato, che ha impedito con successo a NetworkManager di sovrascrivere l'istruzione di ricerca in /etc/resolv.conf.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.