Servidor DNS para rede doméstica sem usar resolv.conf, google dns nem transferências

1

Eu tentei usar bind9 e dnsmasq. Eu também configuro a máquina do servidor para ter um endereço IP estático. O sistema operacional é o Ubuntu 18.04. Eu quero acessar o domínio no Windows 7 e 10 máquinas. Eu testei e meu laptop pode acessar tudo usando o endereço IP, mas não consigo acessar um nome de domínio .local. Essencialmente, não consigo descobrir como obter uma configuração de trabalho intermediário em qualquer software de servidor DNS.

A maioria dos tutoriais me diz para colocar um DNS do Google e usar o resolv.conf. Eu não quero usar um servidor externo para rotear nomes que deveriam estar apenas na minha rede, talvez eu seja paranóico, mas isso parece ser um problema de privacidade para mim.

Tutoriais que desabilitam o encaminhamento usando o Google e usando o resolv.conf para servidores de nomes tornam-se confusos porque o idioma sugere que eu estou tentando criar meu próprio servidor DNS para acessar sites externos como o Facebook. Eu não estou tentando seqüestrar registrador de DNS da minha rede ou qualquer coisa maluca assim, eu só quero alguns domínios .local para acessar alguns aplicativos hospedados em uma máquina.

Todos os tutoriais têm ns1.example.com, ns2.example.com, host1.example.com, host2.example.com, cada um com seu respectivo endereço IP. Talvez eu entenda mal o que é isso, mas parece que eles querem que eu tenha máquinas separadas para tudo. Eu quero apenas uma máquina executando meu servidor DNS, meu servidor CUPS, meu servidor FTP, meu servidor PXE e qualquer outro aplicativo de rede ou web que decida colocar nesta máquina.

Eu quero ter name.local: port ou app.name.local para acessar esses aplicativos em todas as máquinas, em vez de ipaddress: port, e não quero especificar isso no arquivo hosts de cada máquina.

Eu finalmente desisti de usar o bind9 depois que eu não consegui fazer com que ele servisse a máquina que eu estava trabalhando e tentei o dnsmasq. Foi-me dito que este programa mágico faria tudo uma brisa. As instruções me disseram para modificar o arquivo hosts, o que deu a ilusão temporária de que estava funcionando. Quando conectei meu laptop à rede e tentei, percebi que o arquivo hosts era a ÚNICA coisa que funcionava. Ainda outra configuração de DNS que não faz absolutamente nada. Minha configuração é assim. Eu tentei adicionar e remover várias opções como interface no-dchp, e todas elas não tiveram efeito. ipaddress é o endereço IP da minha máquina e modemip é o endereço IP do meu modem, que é usado como configuração de roteador e gateway.

port=5353
#domain-needed
#bogus-priv
no-dhcp-interface=yes
no-resolv
no-poll
server=/name.local/ipaddress
local=/name.local/
expand-hosts
domain=name.local
dhcp-range=iprange,72h
# subnet mask
dhcp-option=1,255.255.255.0
# gateway
dhcp-option=3,modemip
# dns
dhcp-option=6,modemip

Aqui está meu / bind / named.conf.options.

acl "trusted" {
    ipaddress;
    modemip;
    localhost;
    localnets;
};
options {
    directory "/var/cache/bind";
    recursion no;                 
    allow-query { trusted; };   
    listen-on { ipaddress; };
    allow-transfer { none; };      
    dnssec-validation auto;
    auth-nxdomain no;    # conform to RFC1035
};

Eu tenho a sensação de que os tutoriais podem estar deixando de me dizer algo que eu deveria saber, mas o problema é que, se esse é o caso, eu não sei como entender o que é. Por exemplo, acabei de descobrir esta manhã que devo ativar e iniciar o bind9 usando systemctl. Apenas um dos quatro ou cinco artigos que li me disseram isso.

Fornecerei informações mais relevantes, se solicitado.

Com todos os detalhes fora do caminho. Como faço para criar um servidor DNS sem usar resolv ou DNS externo, como o 8.8.8.8 do Google (como se não houvesse acesso à internet em outras palavras), com apenas uma máquina, e onde tudo pode ser acessado digitando name.local: port ou app.name.local? É mesmo possível?

Obrigado.

    
por dboggs95 02.10.2018 / 21:37

1 resposta

0

NOTA: Embora seja tecnicamente possível configurar vários servidores DNS em um computador, fazer isso não funcionará. A maioria dos computadores usa apenas um único servidor DNS dessa lista e escolhe apenas um diferente se o primeiro não responder. No entanto, se o primeiro responder que não há resultado ( NXDOMAIN ), o computador não tentará o outro.

PORTANTO , você precisa configurar seus computadores para apontar para este servidor DNS somente , e não para o seu ISP / rede.

Com isso em mente, veja a explicação abaixo para o que você precisa fazer.

Para entender os tutoriais que você está seguindo para configurar isso, basta lembrar que um servidor DNS pode executar duas funções:

  • DNS autoritativo
  • DNS recursivo

Um servidor DNS autoritativo é responsável por responder às consultas que "pertencem a ele". No seu caso, esses são seus *.local domínios.

Um servidor DNS recursivo é responsável por aceitar as consultas que não "pertencem a ele" e encaminhá-las para outro servidor que possa respondê-las, retornando a resposta. Geralmente, o servidor recursivo armazenará em cache a resposta por algum tempo, para que não precise ser solicitado novamente. (O tempo de cache é chamado de TTL e seu tamanho é definido pelo servidor upstream.) O motivo de ser "recursivo" é que pode haver uma longa sequência de servidores DNS que manipulam a resposta até que finalmente chegue até o fim de volta ao servidor Authoritative. No entanto, a resposta pode ser dada por qualquer servidor de cache na cadeia.

Os tutoriais iniciais que você viu que dizem para você usar o DNS do Google estão apenas dizendo para você usá-lo para as configurações de pesquisa Recursiva . No entanto, qualquer solicitação para a qual seu servidor julgue ser o servidor Autoritativo nunca será enviada para o servidor upstream.

Se você deseja ter acesso à Internet nesta rede, é necessário que o servidor aja como um servidor autoritativo para seus próprios domínios e um servidor recursivo para todo o restante. Essa é a configuração que eles estão dizendo para você configurar.

Se é isso que você quer, você deve seguir os tutoriais que encontrou para usar o DNS do Google. Não se preocupe com o fato de suas consultas internas serem enviadas para o Google (a menos que você configure incorretamente o servidor), já que qualquer consulta que esse servidor saiba que possa manipular não será enviada para o desenvolvedor.

Se você não quiser usar o Google, você tem várias outras opções de upstream, incluindo as seguintes:

  • servidores DNS executados pelo seu ISP
  • OpenDNS - 208.67.222.222 e 208.67.220.220
  • Cloudflare - 1.1.1.1 e 1.0.0.1

Se você realmente não deseja ter acesso à Internet nesta rede , deve procurar especificamente um tutorial sobre a configuração de um servidor DNS "autoritativo" não recursivo.

    
por 08.10.2018 / 22:59