AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 417248
Accepted
Petr
Petr
Asked: 2018-01-16 06:27:11 +0800 CST2018-01-16 06:27:11 +0800 CST 2018-01-16 06:27:11 +0800 CST

Ordem dos servidores DNS no cliente fornecida pelo DHCP

  • 772

Estou executando o servidor DNS e DHCP no servidor debian 8 na rede local.
O problema é que os clientes obtêm servidores de nomes pelo servidor DHCP na ordem errada/não desejada.

Configuração do servidor DHCP:

subnet 192.168.10.0 netmask 255.255.255.0 {  
option routers 192.168.10.1;  
option subnet-mask 255.255.255.0;  
option domain-name-servers 192.168.10.1, 8.8.8.8, 8.8.4.4;  
option time-offset -18000;    
default-lease-time 21600;  
max-lease-time 43200;  
}  

Onde 192.168.10.1 é o servidor DNS e DHCP.

Nameservers listados para interface local no cliente:

IP4.DNS[1]:                             8.8.8.8  
IP4.DNS[2]:                             8.8.4.4  
IP4.DNS[3]:                             192.168.10.1 

O cliente é Ubuntu 17.10 com isc-dhcp-client

EDIT: Conteúdo de /etc/dhcp/dhclient.conf

send host-name = gethostname();
request subnet-mask, broadcast-address, time-offset, routers,
    domain-name, domain-name-servers, domain-search, host-name,
    dhcp6.name-servers, dhcp6.domain-search, dhcp6.fqdn, dhcp6.sntp-servers,
    netbios-name-servers, netbios-scope, interface-mtu,
    rfc3442-classless-static-routes, ntp-servers;

Como obter os servidores de nomes na ordem correta do servidor DHCP?
A ordem desejada é ter o servidor de nomes local usado primeiro.
Logo:

IP4.DNS[1]:                             192.168.10.1   
IP4.DNS[2]:                             8.8.8.8  
IP4.DNS[3]:                             8.8.4.4
debian ubuntu
  • 2 2 respostas
  • 3800 Views

2 respostas

  • Voted
  1. Rui F Ribeiro
    2018-01-16T06:37:03+08:002018-01-16T06:37:03+08:00

    Eu não ficaria surpreso se alguma otimização de daemon DHCP do cliente entregasse servidores DNS com endereços IP públicos primeiro.

    No entanto, dada a sua insistência no pedido:

    Não recomendo confiar na ordem de resposta do DNS para fornecer diferentes visualizações ou respostas de DNS.

    Deixar esse tipo de decisão para seus clientes em sua infra-estrutura local pode levar a alguns comportamentos imprevisíveis no mínimo quando você precisar desses problemas, levando em consideração o cache de DNS negativo. Isso também levará a um maior tráfego de DNS. Você também acaba carregando os servidores DNS na hierarquia com perguntas sobre seus domínios internos.

    Eu recomendaria projetar uma infra-estrutura DNS bem pensada, seja com Internet e servidores dedicados internos, ou usando visualizações, e com pelo menos dois servidores DNS internos.

    TLDR Entregar via DHCP vários servidores DNS com visões diferentes do "mundo" não traz mais estabilidade ao serviço, muito pelo contrário.

    • 3
  2. Best Answer
    Fox
    2018-01-16T10:10:01+08:002018-01-16T10:10:01+08:00

    Em vez de tentar controlar a ordem dos servidores DNS no cliente, seria mais fácil anunciar apenas o(s) servidor(es) DNS interno(s). Isso é possível se os servidores internos estiverem configurados para encaminhar solicitações que não podem atender a um determinado conjunto de servidores DNS públicos.

    Por exemplo, minha configuração BIND9 (no IP 192.168.2.1) contém

    options {
        ...
        forwarders {
            208.67.220.220;
            208.67.222.222;
            8.8.8.8;
            8.8.4.4;
        }
        ...
    }
    

    Alternativamente (obrigado @RuiFRibeiro), você pode usar um bloco de zona para se comunicar com os servidores de nomes raiz:

    zone "." IN {
        type hint;
        file "root.hint"
    }
    

    (onde sua distribuição pode usar db.rootem vez de root.hint).

    Em qualquer configuração, se o servidor não puder determinar um IP para um nome solicitado, ele tentará entrar em contato com outro servidor, sejam os servidores definidos em forwardersou os servidores de nomes raiz, para encontrar o IP apropriado. Em outras palavras, o servidor local sempre é testado primeiro e, se falhar, um servidor diferente é usado como substituto.

    A dhcpd.confopção é então simplesmente

    option domain-name-servers 192.168.2.1;
    

    Se você configurar vários servidores DNS locais redundantes, cada um pode ser especificado na dhcpdconfiguração sem se preocupar com sua ordem, pois todos agirão da mesma forma.

    • 3

relate perguntas

  • Configuração do GRUB para reconhecer diferentes ambientes de desktop (instalações) da mesma distribuição Linux

  • astyle não altera a formatação do arquivo de origem

  • Recebendo e-mail em um novo Debian fresco

  • Debian Stretch: gnome-software segfault em libgs_plugin_systemd-updates.so

  • Como digitar ü no Pinyin IME?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    ssh Não é possível negociar: "nenhuma cifra correspondente encontrada", está rejeitando o cbc

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    Como descarregar o módulo do kernel 'nvidia-drm'?

    • 13 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add retorna com: "Erro ao conectar ao agente: nenhum arquivo ou diretório" 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya Por que o Linux usa LF como caractere de nova linha? 2017-12-20 05:48:21 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve