Como configurar o resolvedor de DNS no Fedora usando o network-manager?

15

Eu quero experimentar o DNS público do Google. Para isso eu preciso mudar o endereço do servidor de nomes. Eu sei que está no arquivo /etc/resolv.conf , mas sempre que eu começo network-manager , ele sobrescreve os valores naquele arquivo com o que obtém usando DHCP.

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

Abaixo está o troféu:)

    
por wvxvw 10.09.2013 / 10:51

5 respostas

10

Método 1

Encontre o arquivo de configuração do NetworkManager e adicione / modifique a seguinte entrada (no CentOS5 está em /etc/NetworkManager/nm-system-settings.conf ou /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.conf para que não seja gravada por outros serviços ou use 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
    
por 10.09.2013 / 15:03
6

Dê uma olhada:

$ man NetworkManager.conf

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

    
por 10.09.2013 / 14:25
2

PPPD senario

Usar ppon e ppoff provavelmente significa que você está usando pppd . Nesse caso, pon executará o script /etc/ppp/ppp_on_boot . A menos que você forneça um argumento para pon , ele carregará as configurações de /etc/ppp/peers/provider . Se você fornecer um argumento, ele dirá, por exemplo, pon interwebz , ele procurará /etc/ppp/peers/interwebz . Também há /etc/ppp/options para verificar também.

Eu imagino que este arquivo contém a configuração usepeerdns . Na página do manual do 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 de pppd com poff , edite seu resolv.conf e reinicie seu pppd com pon e veja se isso resolve o problema.

eth0 senario

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

Se você tiver o DHCP em execução nessa interface BOOTPROTO=yes , poderá informar que ele não substitua suas configurações de DNS por 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"
    
por 10.09.2013 / 13:22
2

Você pode fazer isso na GUI de configuração do Network Manager, embora, até onde eu saiba, ele precise ser feito por conexão e não possa ser feito globalmente, o que significa que você precisa configurá-lo individualmente para cada um. conexão wifi. (Isso é meio chato, mas também tem uma vantagem, já que muitas redes wifi bloqueiam o DNS em qualquer coisa, menos no servidor interno, para melhor ou para pior, então a configuração individual provavelmente é necessária para que as coisas funcionem. )

Em qualquer caso, no Fedora 19, vá para a caixa "Network Settings" (Configurações de Rede) que você obtém da lista suspensa pelo Network Manager, ou execute o painel de configurações Network Connections (Conexões de Rede). (Por que esses dois são diferentes? As alterações estão sendo implementadas, eu acho.) Em qualquer caso, 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, mude o Método de "Automático (DHCP)" para "Somente endereços automáticos (DHCP)" e insira novamente o DNS na caixa.

    
por 10.09.2013 / 15:42
1

Eu adicionei dns=none à seção principal de /etc/Networkmanager/NetworkManager.conf e, em seguida, reiniciei, o que impediu que o NetworkManager sobrescrevesse a declaração de pesquisa em /etc/resolv.conf .

    
por 22.12.2014 / 18:35