Como eu crio um domínio psuedo através de bind no Ubuntu 12.04?

3

Eu fiz algumas leituras prévias no DNS e no BIND por meio do livro de O'Reilly. Meu objetivo é ter um servidor DNS local (ou seja, seldon.foundation) que resolva nomes locais (ou seja, * .foundation), mas encaminha o restante para o OpenDNS ou o Google.

  • Meu arquivo de zona:
$TTL 3h
foundation. IN SOA seldon.foundation. avery.foundation.com. (
 1        ; Serial
 3h       ; Refresh after 3 hours
 1h       ; Retry after 1 hour
 1w       ; Expire after 1 week
 1h       ; Negative caching TTL of 1 hour
)     

;
; Name servers
;
foundation.  IN NS  seldon.foundation.

;
; Addresses for the canonical names
;
localhost.foundation.      IN A     127.0.0.1
seldon.foundation.         IN A     192.168.1.151

;
; Aliases
;
dns.foundation.       IN CNAME seldon.foundation.
  • Meu named.conf.local:
zone "foundation" in {
        type master;
        file "db.foundation";
};

zone "1.168.192.in-addr.arpa" in {
        type master;
        file "db.192.168.1";
};

Depois que eu reinicio o bind com: sudo service bind9 restart Eu sei que ele carrega os arquivos (e os carrega sem erros) porque eu verifico o syslog. Mas quando eu faço um dig seldon.foundation eu não obtenho o resultado esperado.

resolv.conf tem dois endereços IP, mas há uma nota no arquivo dizendo para não editar o arquivo manualmente. O que eu faço agora?

    
por Avery Chan 21.06.2012 / 07:56

1 resposta

0

Parte do desafio de responder a essa pergunta vem de saber qual documentação analisar. Em particular, o Ubuntu 12.04 (eu estou usando a distribuição do servidor), funciona um pouco diferente do que a documentação para named / bind pode sugerir. Passei muito tempo aprimorando coisas que não precisavam ser ajustadas. Sem mais delongas:

  1. Leia sobre o DNS & amp; BIND primeiro. Os primeiros dois capítulos do livro 'DNS e BIND' de O'Reilley são excelentes. Muitos dos exemplos na Web usam a sintaxe abreviada que não é tão clara (IMO) quanto a sintaxe mais longa.
  2. Editar /etc/bind/named.conf.local . Se você der uma olhada nos meus arquivos pastebin'd, poderá ver como eu configuro minha própria rede. Novamente, se você não entender o que está acontecendo, leia mais sobre DNS & amp; BIND (ou faça algumas perguntas mais simples aqui ou no serverfault.com que abordam especificamente o problema que você não entende).
  3. Coloque seus arquivos de zona em /var/cache/bind . Se você procurar em /etc/bind/named.conf.options , verá que o diretório para procurar os arquivos de zona está em /var/cache/bind . Nevermind que esse diretório ( /etc/bind/ ) está cheio de arquivos de zona. Eu não entendo porque alguns arquivos de zona são apanhados aqui, mas quaisquer definidos pelo usuário devem estar em /var/cache/bind . Deixo isso para os magos com mais EXP do que eu para explicar.
  4. Adicione endereços de encaminhamento de DNS apropriados a named.conf.options . Isso permitirá que você obtenha uma resolução de nome razoável para domínios que sua sub-rede não manipula. Você pode ver onde adicionar isso (se você estiver no Ubuntu), descomentando as linhas que estão com 'forwarders'. Adicione os endereços IP das máquinas DNS que você deseja usar. Certifique-se de delimitá-los com um ponto e vírgula.
  5. Adicione 127.0.0.1 ao resolv.conf. Isso é complicado porque se você abrir /etc/resolv.conf , verá uma nota dizendo para não editar este arquivo. O que você quer fazer é seguir o conselho aqui: Introdução de Stéphane ao DNS em 12.04 . Edite o arquivo /etc/resolvconf/resolv.conf.d/head e adicione seu localhost digitando nameserver 127.0.0.1 no final deste arquivo, seguido por uma nova linha.
  6. Atualize o resolv.conf com resolvconf -u . Esse comando redefine o resolv.conf com a nova configuração que você especificou em resolv.conf.d/head .
  7. Faça um novo teste com dig seldon.foundation ou o que for apropriado para a sua rede. O servidor na parte inferior deve mostrar o endereço de loopback (ou seja, 127.0.0.1).

Obrigado @Shane Madden por me dar pistas suficientes para seguir em frente.

    
por Avery Chan 22.06.2012 / 08:09