Como configurar o resolvedor de DNS no Fedora usando o gerenciador de rede?

16

Quero experimentar o DNS público do Google. Para isso, preciso alterar o endereço do servidor de nomes. Eu sei que está no arquivo /etc/resolv.conf, mas sempre que inicio network-manager, ele substitui os valores nesse arquivo pelo que obtém usando o DHCP.

Como eu digo para não fazer isso? Examinei a GUI, mas só consegui encontrar uma opção para adicionar mais endereços IP.

Abaixo está o troféu :)

insira a descrição da imagem aqui

wvxvw
fonte

Respostas:

11

Método 1

Encontre o arquivo de configuração do NetworkManager e adicione / modifique a seguinte entrada (no CentOS5 está /etc/NetworkManager/nm-system-settings.confou /etc/NetworkManager/system-connections/) e edite seu arquivo de conexão DSL:

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

Nota: - se [ipv4]não funcionar, tente com[ppp]

Método # 2

Você pode alterar a permissão de /etc/resolv.confpara que não possa ser gravada por outros serviços ou pode ser usada chattr.

Método # 3

Crie um script como mencionado abaixo em /etc/Networkmanager/dispatcher.d/e não se esqueça de torná-lo executável:

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

entrada de /etc/resolv.conf.myDNSoverride

nameserver 8.8.8.8
Rahul Patil
fonte
Não. :) Ele deve ser substituído posteriormente, depois de receber algumas informações do ISP. Mas isso me deu algumas idéias, eu vou Rumble através da network-scripts, talvez ele está lá em algum lugar ...
wvxvw
Se o método 3 não funcionar, você poderá obter mais sucesso na edição, /etc/ppp/ip-up.localaparentemente chamada quando o pppd estabelecer a conexão.
Drav Sloan
@ DravSloan Agradeço a sua ans, funciona, mas encontrei alguns truques no google que publiquei aqui .. vamos ver.
Rahul Patil
O # 1 funcionou para mim, muito obrigado!
precisa saber é
Pelo menos no Debian Jessie, o arquivo nm-system-settings.conf não existe, embora exista uma página de manual para ele. A página de manual declarar que nm-system-settings foi descontinuada com NetworkManager / NetworkManager.conf como o novo padrão.
Jeremiah
7

Dê uma olhada em:

$ man NetworkManager.conf

Parece que se você adicionar uma linha dns=nonena [main]seção, o NetworkManager não tocará /etc/resolv.conf.

rickhg12hs
fonte
1
Não, não ajudou. Reescreveu de qualquer maneira. Tanto quanto pude deduzir desse arquivo, os plug-ins nessa seção destinam-se ao cache de registros DNS recuperados. Mas eu posso estar errado.
Wvxvw # 10/13
2
Você reiniciou o NetworkManager após editar o arquivo?
rickhg12hs 10/09
Desabilitei e habilitei a rede através do widget KDE. Eu acredito que isso deve reiniciar. Infelizmente, reiniciá-lo via service NetworkManager restartnão funciona - não sei por que: | ele não consegue se conectar depois de tentar reiniciá-lo dessa maneira.
Wvxvw
Muito estranho que restartnão funcionaria. Não experimentei isso em nenhum dos sistemas que usei.
rickhg12hs
3
Ok, assim, definir dns=noneem /etc/NetworkManagerno Fedora 24 ... (há também a idade PEERDNS=noneem /etc/sysconfig/network-scripts/ifcfg-${IFNAME}(como descrito aqui , por exemplo ... é ainda usado) ... reiniciar toda a caixa para ver se ele funciona?..
David Tonhofer
3

PPPD senario

Usando ppone ppoffprovavelmente significa que você está usando pppd. Nesse caso, ponirá executar o script /etc/ppp/ppp_on_boot. A menos que você forneça um argumento pon, ele carregará as configurações de /etc/ppp/peers/provider. Se você fornecer um argumento, ele dirá, por exemplo, pon interwebzque ele procurará /etc/ppp/peers/interwebz. Há também /etc/ppp/optionspara verificar também.

Eu imaginaria que este arquivo contém a configuração usepeerdns. Na página do manual 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. 

Comente esta opção, pare pppdcom poff, edite seu resolv.confe, em seguida, reinicie seu pppdcom pone veja se isso resolve o problema.

eth0 senario

Se você editar o arquivo de configurações da interface ( /etc/sysconfig/network-scripts/ifcfg-eth0para eth0), poderá ver quais configurações o gerenciador de rede está usando.

Se você tiver o DHCP em execução nessa interface BOOTPROTO=yes, poderá dizer-lhe para não substituir suas configurações de DNS PEERDNS=no. Se você estiver usando um endereço estático, poderá definir suas configurações de DNS com

DNS1="8.8.4.4"
DNS2="8.8.8.8"
SEARCH="yourdomain.com"
Drav Sloan
fonte
Obrigado, perto, mas ainda não. A interface que está sendo usada é pppe não há ifcfg-ppparquivo correspondente : |
Wvxvw
Como está sendo criada sua conexão ponto a ponto? Como foi configurado?
Drav Sloan
O interessante é que não sei como foi criado. :) Tudo o que sei é que pone poffmagicamente trabalho e que o NetworkManager é de alguma forma capaz de usá-lo. Minha primeira suposição era que mus've sido pppoeconf, mas não está ainda instalado aqui ...
wvxvw
Atualizado para ver se você pode alterá-lo com as configurações do pppd.
Drav Sloan
Muito obrigado pelo seu tempo, embora no final eu tenha usado a resposta de Rahul Patil, isso foi muito educativo!
wvxvw
2

Você pode fazer isso na GUI de configuração do Network Manager, embora, tanto quanto eu possa ver, precise ser feito por conexão e não possa ser feito globalmente, o que significa que você precisa configurá-lo individualmente para cada conexão wifi. (Isso é meio irritante, mas também tem uma vantagem, já que muitas redes wifi bloqueiam o DNS para qualquer coisa que não seja o servidor interno, para o bem ou para o mal, portanto é provável que seja necessária uma configuração individual para que as coisas funcionem.)

De qualquer forma, no Fedora 19, vá para a caixa "Configurações de rede" que você encontra no menu suspenso pelo Network Manager ou execute o painel de configurações de Conexões de rede. (Por que essas duas são diferentes? As alterações estão sendo implementadas, eu acho.) De qualquer forma, você pode editar cada conexão e, em qualquer interface, encontrar a guia IPv4.

No configurador de configurações de rede, altere Automático de Ativado para Desativado e insira os endereços do Google. Ou, na GUI de conexões de rede, altere o método de "Automático (DHCP)" para "Somente endereços automáticos (DHCP)" e digite novamente o DNS na caixa.

mattdm
fonte
1

Eu adicionei dns=noneà seção principal /etc/Networkmanager/NetworkManager.confe reinicializei, o que impediu o NetworkManager de sobrescrever a instrução de pesquisa em /etc/resolv.conf.

Jos
fonte