Como tornar permanente o endereço do servidor de nomes em /etc/resolv.conf?

13

Não consigo manter o endereço do servidor de nomes definido por /etc/resolv.conf . Toda vez que eu definir o valor, o gerenciador de rede substitui-lo com o gateway padrão na reinicialização.

Como definir isso certo?

Eu preferiria uma maneira diferente de mudar o nome do servidor no roteador.

    
por Ashildr 18.11.2013 / 08:10

6 respostas

14

Depende. Por favor, leia até o final.

Se você não tem o pacote resolvconf instalado, então é fácil: depois de modificá-lo como quiser, Emita o comando

 sudo chattr +i /etc/resolv.conf

O comando altera os atributos do arquivo, tornando immutable (a opção + i).

No entanto, se você tiver o pacote resolvconf instalado, o arquivo /etc/resolv.conf pode ser transformado em um link simbólico,

 # file /etc/resolv.conf
 /etc/resolv.conf: symbolic link to '../run/resolvconf/resolv.conf'

que é um arquivo em um sistema de arquivos virtual, o epítome de uma versão não permanente. O engraçado é que você pode não saber que você tem o resolvconf instalado, porque versões recentes de sistemas operacionais Debian vêm com ele pré-instalado. Você pode determinar se sua distro a instalou para você emitindo o comando:

 #whereis resolvconf
 resolvconf: /sbin/resolvconf /etc/resolvconf /lib/resolvconf /usr/share/man/man8/resolvconf.8.gz

Ainda mais importante, você pode estabelecer se o /etc/resolv.conf foi transformado em um link por meio do comando (arquivo /etc/resolv.conf) acima. Se a resposta for ASCII text , use chattr , caso contrário ...

Se você usa um IP estático, o mais simples é adicionar a seguinte linha (ou algo assim)

 dns-nameservers 8.8.4.4 8.8.8.8

para a sub-rotina que define as propriedades da sua interface estática em / etc / network / interfaces.

Se você estiver em um laptop que se conecta o tempo todo a redes diferentes, você pode seguir a excelente sugestão de LawrenceC . Mas, se você tiver resolvconf em seu sistema, a maneira correta (e mais simples) de fornecer um conjunto fixo de DNSs é usar os arquivos em /etc/resolvconf/resolv.conf. d . Em particular, os seguintes arquivos são usados (veja a página de Stephane Graber ):

base : usado quando nenhum outro dado pode ser encontrado

head : Usado para o cabeçalho do resolv.conf, pode ser usado para garantir que um servidor DNS seja sempre o primeiro da lista

tail : qualquer entrada na cauda é anexada no final do resolv.conf resultante.

Então coloque seus servidores de nomes favoritos em cabeça , como segue

  nameserver 8.8.8.8

e você está feito.

    
por 18.11.2013 / 11:35
8

Adicione uma linha semelhante a /etc/dhcp/dhclient.conf usando um terminal raiz:

supersede domain-name-servers 74.122.198.48, 50.116.23.211;

Isso faz com que dhclient , o programa que emite uma solicitação DHCP e faça alterações de acordo com a resposta, substitua as informações obtidas do servidor DHCP pelo procedimento acima antes de fazer alterações.

O acima são dois servidores DNS OpenNIC. Substitua conforme necessário para qualquer servidor que você queira usar.

Como isso acontece sempre que você obtém informações de configuração do DHCP, use dhclient -v eth0 ou qualquer interface para atualizá-las e ver a alteração.

    
por 18.11.2013 / 11:59
3

Aparece como mencionado por @Rik que a razão para as substituições de DNS na reinicialização é devido ao gerenciador de rede / utilitário que está configurado para isso. No Linux Mint, de acordo com a captura de tela, eu tinha o meu método IPv4 definido apenas para endereços Automatic (DHCP). Você pode inserir as configurações corretas em /etc/resolv.conf ou na seção de servidores DNS. Eu me lembro no Ubuntu 13.04 que meus servidores de nomes mudaram algumas vezes durante um longo período de tempo, mas depois que eu realmente os editei na GUI, tudo parecia estar estável a partir daí.

    
por 18.11.2013 / 11:31
3

Tive o mesmo problema, mas uso o endereço IP estático. A correção foi apenas adicionar o dns em / etc / network / interfaces

iface eth0 inet static
    address [your ip>
    netmask [your netmask]
    network [your network]
    broadcast [your broadcast]
    gateway [your gateway]
    # dns-* options are implemented by the resolvconf package, if installed
    dns-nameservers [dns server1] [dns server2]
    dns-search [your domain]
    
por 19.05.2015 / 09:12
1

Se você usou o wicd, clique com o botão direito no ícone e clique em informações de conexão. Quando a janela abrir, clique nas propriedades da que você está conectado.

Verifique o uso de DNS estático e na linha que diz servidor DNS 1 digite o IP para o DNS do Google 8.8.8.8 e na linha do servidor DNS 2 digite 8.8.4.4 e clique em "ok".

Se você estiver recebendo erros dos padrões, entre em contato com seu provedor de Internet e mencione-o a eles. Eles geralmente atribuem servidores DNS ao seu modem quando você se conecta a eles.

    
por 29.04.2016 / 05:24
0

Hackear seu caminho por chattr +i ou similar é uma solução rápida na melhor das hipóteses, e deve ser evitado sempre que possível (pelo menos a longo prazo - como dito, é uma solução de curto prazo até que se encontre tempo para a solução real). Como já foi dito, este é um trabalho para o NetworkManager, que oferece uma CLI que podemos usar para isso:

# find which interface to adjust
nmcli device
# output looks like:
# DEVICE  TYPE      STATE      CONNECTION
# enp0s3  ethernet  connected  my-office
# lo      loopback  unmanaged  --
# From that, we need the CONNECTION.

# Now add our "search domains":
nmcli connection modify my-office ipv4.dns-search example1.com
nmcli con mod my-office +ipv4.dns-search example2.com

# And our name servers:
nmcli con modify my-office ipv4.dns 213.73.91.35
nmcli con modify my-office +ipv4.dns 87.118.100.175
# note the "+" in the second line: add another one,
# while the first line overwrites the existing entry.
# we could have done that with a single call:
nmcli con modify my-office ipv4.dns "213.73.91.35 87.118.100.175"

# OK, so now let's tell it to ignore updates from the DHCP server:
nmcli con modify my-office ipv4.ignore-auto-dns yes

# and apply the modifications to our running configuration
nmcli con up my-office

Se você usa um endereço IP estático, também pode usar a solução da resposta do kanelbolle .

    
por 07.11.2016 / 22:11