Como faço uma configuração completa do servidor DNS BIND9 com um nome de host?

52

Eu preciso de um guia passo-a-passo completo sobre como produzir essa configuração de servidor.

Alguém pode me ajudar?

    
por Artemis 08.08.2013 / 15:17

2 respostas

117

Servidor DNS completo no servidor ubuntu 12.

Primeiro, mude o endereço IP do seu servidor de formulário DHCP para STATIC para isto use o seguinte comando

sudo nano /etc/network/interfaces

e adicione:

auto eth0
iface eth0 inet static
address 192.168.1.5
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
# dns-nameservers

Reinicie os daemons de rede

sudo /etc/init.d/networking restart

Antes de configurar um servidor DNS no linux Ubuntu, você precisa primeiro criar o nome do domínio e depois prosseguir. Primeiro você irá verificar o seu comando hostname para isto é

sudo nano /etc/hostname

 nefitari       

(Este é o nome do host do meu servidor Ubuntu, o seu pode ser diferente. Você pode mudar isso de acordo com a sua necessidade)

Agora, depois do nome do host, você precisa criar um nome de domínio para o seu servidor. Digamos servername.domain.com, é uma prática melhor que, sempre que você estiver configurando um servidor para uso doméstico ou não, não use .com mas .hom ou .net ou o que desejar. Dê o comando abaixo

  sudo nano /etc/hosts

adicione se não tiver:

  127.0.0.1   localhost

  192.168.1.5     nefitari.autun.hom    nefitari

No meu arquivo 127.0.0.1 é para localhost e alterei o segundo endereço IP 127.0.1.1 com o IP do meu servidor 192.168.1.5 agora insiro meu nome de domínio tendo meu nome de host nefitari primeiro então meu nome de domínio autun.hom e depois alias nefitari . Você pode selecionar o seu próprio, hostname.abc.net ou hostname.home.lan etc, mas lembre-se de mudar para este arquivo precisa reiniciar o servidor e, em seguida, faça o login. É necessário reiniciar

Agora instale o BIND9

 sudo apt-get install bind9

Após a instalação, configure os arquivos abaixo passo a passo

  • Named.conf.options
  • Named.conf.local
  • /etc/resolv.conf

Agora configure o arquivo named.conf.options Este arquivo é usado para IPs de DNS Isso significa que seu servidor deve se conectar a algum DNS externo. Quando você compra o nome de domínio dos ISPs, eles normalmente fornecem seus próprios IPs de DNS. Você pode usar IPs DNS abertos do Google ou assim. No meu caso, estou usando meus próprios IPs DNS do ISP.

 sudo nano /etc/bind/named.conf.options
 forwarders {
 # Give here your ISP DNS IP’s
192.168.1.1;    # gateway or router   
182.176.39.23;
182.176.18.13;
68.87.76.178;
  };

*** Salve o arquivo e saia *** usando o controle x pressione y e sobrescreva o arquivo

Agora edite o arquivo named.conf.local Este é o arquivo no qual definimos as zonas de redirecionamento e as zonas reversas. Isso significa que, quando inserimos o nome do domínio, ele será traduzido para o endereço IP e, quando inserirmos o endereço IP, ele simplesmente será convertido em nome.

sudo nano /etc/bind/named.conf.local

mostrará:

# Our forward zone
zone "autun.hom" {
 type master;
 file "/etc/bind/zones/db.autun.hom";
 };

# Our reverse Zone 
# Server IP 192.168.1.5 
zone "1.168.192.in-addr.arpa" {
  type master;
  file "/etc/bind/zones/db.192";
 };

*** Salve o arquivo e saia *** usando o controle x pressione y e sobrescreva o arquivo

Agora, criaremos esses dois arquivos de banco de dados db.autun.hom e db.192 na pasta zones

Primeiro, crie as zonas do diretório em / etc / bind /

  sudo mkdir /etc/bind/zones

Antes de criar arquivos, deixe-me esclarecer que tenho dispositivos diferentes

Dispositivos IPs

  • Servidor em si 192.168.1.5
  • Gateway 192.168.1.1
  • Win7pc 192.168.1.50

Agora, no diretório de zonas, criaremos dois arquivos primeiro db.autun.hom . Estou apenas copiando o db.local já presente na pasta / etc / bind para a pasta zones, alterando seu nome para db.autun.hom . Vou colocar esses IPs no meu arquivo db.autun.hom. Vamos começar

sudo cp /etc/bind/db.local  /etc/bind/zones/db.autun.hom

Agora use o comando abaixo para editar o arquivo

sudo nano /etc/bind/zones/db.autun.hom

 ;
 ; BIND data file for local loopback interface
 ;
 $TTL    604800
 @       IN      SOA     nefitari.autun.hom. webuser.autun.hom. (
                          2         ; Serial
                     604800         ; Refresh
                      86400         ; Retry
                    2419200         ; Expire
                     604800 )       ; Negative Cache TTL
  ;
autun.hom.      IN  NS  nefitari.autun.hom.
autun.hom.      IN  A   192.168.1.5
   ;@               IN  A   127.0.0.1
   ;@               IN  AAAA    ::1
nefitari            IN  A   192.168.1.5
gateway         IN  A   192.168.1.1
win7pc          IN  A   192.168.1.50
www     IN  CNAME   autun.hom.

Salve e saia

  • Webuser.autun.hom. é o email que acessará o servidor de nomes. Você pode escreva qualquer nome em vez de webuser como admin, root ou host master etc.
  • Autun.hom. é o meu servidor de nomes de meios NS
  • Autun.hom .changing para IP 192.168.1.5
  • @ IN A 127.0.0.1 e AAAA :: 1 podem ser comentados, você não precisa porque db.local já está presente em / etc / bind é apenas uma cópia desse arquivo. Portanto, não é necessário que você possa excluí-lo
  • Alterando Nefitari para IP 192.168.1.5
  • Gateway para IP 192.168.1.1
  • Win7pc você pode nomear seus PCs Windows ou Linux para qualquer nome, mas Lembre-se de que o IP desse cliente deve ser inserido corretamente no arquivo. Dentro meu caso eu dei IP do windows PC 192.168.1.50
  • Por último, estou usando CNAME significa que o nome canônico é apenas um alias para nefitari. Significa que você pode acessar seu servidor digitando www.autun.hom em vez disso nefitari.autun.hom. Você pode omitir isso ou comente. É só com você.

Agora crie um arquivo de zona de pesquisa inversa

sudo cp /etc/bind/db.127    /etc/bind/zones/db.192

Agora use o comando abaixo para editar o arquivo

sudo nano /etc/bind/zones/db.192

   ;
   ; BIND reverse data file for local loopback interface
   ;
   $TTL    604800
   @       IN      SOA     nefitari.autun.hom. webuser.autun.hom. (
                          2         ; Serial
                     604800         ; Refresh
                      86400         ; Retry
                    2419200         ; Expire
                     604800 )       ; Negative Cache TTL
   ;
        IN  NS  nefitari.
1   IN  PTR gateway.autun.hom.
5   IN  PTR nefitari.autun.hom.
50  IN  PTR win7pc.autun.hom.

Salve e saia

Agora, quando terminar o seu arquivo de zona, você deve verificar se está funcionando corretamente ou não, digitando o comando abaixo para o arquivo de zona de encaminhamento

named-checkzone autun.hom /etc/bind/zones/db.autun.hom
zone autun.hom /IN: loaded serial   2
Ok

Agora verifique o arquivo de zona reversa

named-checkzone autun.hom /etc/bind/zones/db.192
zone autun.hom /IN: loaded serial   2
Ok 

Se a saída da sua zona de verificação nomeada for igual à anterior, ela está funcionando bem, caso contrário você cometeu algum erro no arquivo.

Agora edite o arquivo resolv.conf

sudo nano /etc/resolv.conf

nameserver      192.168.1.5
domain      autun.hom
search      autun.hom

Insira as seguintes linhas no seu arquivo resolv.conf e salve-o

Reinicie a ligação

sudo /etc/init.d/bind9 restart

Após o início da ligação, verifique sua configuração no arquivo de log

tail -f /var/log/syslog

não deve ter nenhum erro no log

Verificação de zonas de encaminhamento

host –l autun.hom

A saída deve gostar disso

 autun.hom name server nefitari.autun.hom.
 autun.hom has address 192.168.1.5
 gateway.autun.hom has address 192.168.1.1
 nefitari.autun.hom has address 192.168.1.5
 win7pc.autun.hom has address 192.168.1.50

Agora use NSLOOKUP

nslookup autun.hom

OUTPUT

Server: 192.168.1.5
Address: 192.168.1.5#53

Name: autun.hom
Address: 192.168.1.5

Use DIG

 dig gateway.autun.hom

 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35612
 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

 ;; QUESTION SECTION:
 ;gateway.autun.hom         IN  A

 ;; ANSWER SECTION:
 gateway.autun.hom      604800  IN  A   192.168.1.1

 ;; AUTHORITY SECTION:
 Autun.hom.     604800  IN      NS  nefitari.autun.hom. 

 ;; ADDITIONAL SECTION:
 Nefitari.autun.hom.    604800  IN      A   192.168.1.5

 ;; Query time: 12 msec
 ;; SERVER: 192.168.1.5#53(192.168.1.5)
 ;; WHEN: Thu Aug 8 01:56:25 2013
 ;; MSG SIZE  rcvd: 90

A saída deve ser semelhante à acima, verifique o status : NOERROR significa que está resolvendo a verificação SECÇÃO DE RESPOSTA: gateway.autun.hom é resolvido em 192.168.1.1

Verificação da zona inversa

 host 192.168.1.1

Saída

 1.1.168.192.in-addr.arpa domain name pointer gateway.autun.hom

Se ocorrer um erro como abaixo

 host 1.1.168.192.in-addr.arpa. not found: 3(NXDOMAIN)

Isso significa que você cometeu algum erro no arquivo /etc/bind/named.conf.local na zona reversa Se o seu servidor IP é 192.168.1.5 , então sua zona reversa se parece com isso

zone "**1.168.192**.in-addr.arpa" {
 correct ip reversing
};

Algum dia as pessoas cometeram erro ao inverter o ip como (apenas um exemplo)

zone "**0.168.192**.in-addr.arpa" {
incorrect ip reversing
};

Use o NSLOOKUP

nslookup 192.168.1.1

Server: 192.168.1.5
Address: 192.168.1.5#53

1.1.168.192.in-addr.arpa    name=gateway.autun.hom

Se você receber erros como NXDOMAIN ou SERVFAIL, significa que um dos seus arquivos de zona não está funcionando corretamente

Agora você pode ping ubuntu.com ou dig ubuntu.com pela primeira vez levar vários milissegundos para resolver o nome ubuntu .com, mas quando você executa segundo tempo, serão necessários 1, 2 ou 3 segundos normalmente de 1 a 10 mili segundos e isso significa que o DNS está funcionando corretamente

Configurando clientes

lado do Windows

  • abrir conexões de rede
  • selecione alterar as configurações do adaptador
  • selecione propriedades
  • selecione versão do protocolo de internet IPv4

e aqui dá o endereço IP (no meu caso é 192.168.1.50 você se lembra do win7pc)

  • endereço IP 192.168.1.50
  • Máscara de sub-rede 255.255.255.0
  • Gateway padrão 192.168.1.1
  • DNS primário 192.168.1.5 (meu novo ip de servidor DNS BIND)
  • na mesma janela, selecione Advance
  • selecione a guia DNS
  • Digite a caixa de texto abaixo aqui em DNS Suffix para este conexão: autun.hom
  • clique em ok
  • clique em validar configuração ao sair
  • clique em ok

e você acabou de abrir o CMD

ping gateway

deve dar algumas respostas

similarmente

ping 192.168.1.1 or 5

deve dar algumas respostas

Teste seu servidor para o mundo externo

Agora você pode pingar o ubuntu.com ou escavar o ubuntu.com pela primeira vez em vários milissegundos para resolver o nome ubuntu.com, mas ao executá-lo pela segunda vez, ele assumirá o formato de 1 a 10 mili segundos. tempo normal e isso significa que o seu DNS está funcionando corretamente Configurando clientes

lado do Windows

conexões de rede abertas selecione alterar as configurações do adaptador selecionar propriedades selecione a versão do protocolo de internet IPv4

e aqui dá o endereço IP (no meu caso é 192.168.1.50 você se lembra do win7pc)

endereço IP 192.168.1.50

Máscara de sub-rede 255.255.255.0

Gateway padrão 192.168.1.1

DNS primário 192.168.1.5 (meu novo ip de servidor DNS BIND)

selecione Avançar (na mesma janela)

selecione a guia DNS

Digite na caixa de texto abaixo aqui Em Sufixo DNS para esta conexão: autun.hom

clique em ok

clique na configuração de validação ao sair

clique em ok

e você está pronto para abrir CMD

Código:

 ping gateway

deve dar algumas respostas

similarmente

Código:

 ping 192.168.1.1 or 5

deve dar algumas respostas você pode usar o NSLOOKUP Código:

 nslookup gateway

CLIENTES LINUX

Código:

 sudo nano /etc/network/interfaces

digite as seguintes linhas

Código:

 auto eth0
 iface eth0 inet dhcp

Agora reinicie os Deamons da Rede

Código:

 sudo /etc/init.d/networking restart

para forçar o comando IP de renovação do cliente

Código:

 sudo dhclient -r

Agora, obtenha um novo IP:

Código:

 sudo dhclient

Se você estiver executando o servidor DHCP na sua rede, digite o nome de domínio e o servidor de nomes no arquivo dhcpd.conf; por exemplo eu tenho servidor DNS chamado nefitari.autun.hom e endereço IP é 192.168.1.5 como como em

Código:

 option domain-name "nefitari.autun.hom";
 option domain-name-server  192.168.1.5;

fonte

    
por fossfreedom 17.07.2016 / 19:21
1

A resposta é apenas uma adição à excelente descrição acima.

Dica de solução de problemas

Tenha muito cuidado com os muitos '.' nos arquivos de configuração, pois cada um é importante. Um único ausente '. pode impedir que o servidor DNS funcione. Você não deve contar com mensagens de erro claras.

Aprendi sua boa prática para usar um número de série mais expressivo. É muito importante incrementar o número de série toda vez que a configuração é modificada, por exemplo, novas entradas sendo adicionadas. Se não for incrementado, um DNS secundário falhará ao sincronizar as novas configurações. O formato sugerido é YYYYMMDDss , em que ss é o número de série "antigo". Portanto, ao incrementar, você deve incrementar ss por +1 e definir a data para a data atual. Achei isso muito útil na solução de problemas da configuração. No syslog você vê claramente a data e a série do arquivo usado.

No Ubuntu 16.04, a alteração do resolv.conf está obsoleta. Como jdthood escreve em seu comentário, substitua a etapa pelo seguinte procedimento:  - Alterar / etc / default / bind9: o novo testamento deve ficar assim:

   # run resolvconf?
   RESOLVCONF=yes

   # startup options for the server
   OPTIONS="-u bind"

   # use this when you have trouble with IPV6
   #OPTIONS="-u bind -4"

veja o comentário de não-um-patch para os problemas do IPV6.

  • coloque um link simbólico de /etc/resolv.conf em /run/resolvconf/resolv.conf

     cd /etc
     sudo ln -s /etc/resolv.conf /run/resolvconf/resolv.conf
    

Configuração offline

A configuração é exatamente a mesma, e até um pouco mais fácil, já que você pode simplesmente pular as seções de encaminhamento. Eles não precisam estar presentes, portanto, não há necessidade de editar o /etc/bind/names.con.options .

Redes de classe B

Existem algumas pequenas alterações necessárias para fazer este trabalho para redes de classe B (antes de haver comentários, não há razão para que uma rede local, mesmo em casa, não possa ser uma classe B em vez de uma classe Rede C). Neste exemplo eu uso o número de rede 172.20.x.x. (Eu acho que a notação formal é 172.20.0.0. Para mais informações google rfc1918).

Use a descrição da primeira resposta, substitua todos os IPs 192.168.x.x por 172.20.x.x, use para o servidor IP 172.20.0.100 e modifique os arquivos da seguinte forma:

  • o nome do arquivo db.192 se torna db.172 .
  • o arquivo named.conf.local recebe uma seção de zona inversa diferente:

    zone "20.172.in-addr.arpe" {
    type master;
    file "/etc/bind/zones/db.172";
    }
    
  • O arquivo de zonas inversas muda para:

    ;
    ; BIND reverse data file for 172.20.x.x
    ;
    $TTL    604800
    @       IN      SOA     nefitari.autun.hom. webuser.autun.hom. (
                 2017022102         ; more intuitive serial YYYYMMDDss, here ss=02
                     604800         ; Refresh
                      86400         ; Retry
                    2419200         ; Expire
                     604800 )       ; Negative Cache TTL
    
    ; note: the '@'was missing from in the initial description
    @       IN  NS  nefitari.autun.hom.    
    
    100.0   IN  PTR nefitari.autun.hom. 
    121.0   IN  PTR client1.autun.hom.
    130.0   IN  PTR client2.autun.hom.
    33.0    IN  PTR client3.autun.hom.
    

O resto é o mesmo.

Espero que seja útil para alguém.

    
por CatMan 22.02.2017 / 03:27

Tags