How To Configure Bind as a Caching or Forwarding DNS Server

 CentOS 7 / RHEL 7, Clusterweb, ClusterWeb, Debian, Dns, Leitura Recomendada, Linux, Profissional de TI, Redes, Segurança, Ubuntu  Comentários desativados em How To Configure Bind as a Caching or Forwarding DNS Server
set 272018
 

Introduction

DNS, or the Domain Name System, is often a difficult component to get right when learning how to configure websites and servers. While most people will probably choose to use the DNS servers provided by their hosting company or their domain registrar, there are some advantages to creating your own DNS servers.

In this guide, we will discuss how to install and configure the Bind9 DNS server as a caching or forwarding DNS server on Ubuntu 14.04 machines. These two configurations both have advantages when serving networks of machines.

Continue reading »

DNS Robusto e fácil com PowerDNS e MySQL

 Clusterweb  Comentários desativados em DNS Robusto e fácil com PowerDNS e MySQL
nov 232014
 

O PowerDNS é um dos muitos softwares de DNS, ele é muito poderoso, pode fazer milhares de resoluções por segundo, e o que mais me chamou atenção, pode-se comunicar com vários backends, includindo MySQL, PostgreSQL, LDAP, Oracle e outros.

Para se ter uma idéia, existem grandes implementações feitas com ele, incluindo register.com e tucows.com, e, segundo o site oficial, existem aproximadamente 4000 servidores em serviços secundários ativos na internet, que servem aproximadamente 10 milhões de zonas e um imenso núumero de domínios. Testes no primeiro nível do domínios .EU demonstraram que o PowerDNs pode prover 50.000 resoluções por segundo num único servidor, com um hardware simples. No GOOGLE encontrei relatos de testes feitos inclusive pelo registro.br para utilização do mesmo.

A única desvantagem evidente é que o PowerDNS ainda não prevê uma implementação completa do DNSSEC. (O que pra muitos é irrelevante, visto que poucos são aqueles que implementaram DNSSEC em seus servidores) Continue reading »

Configurando um DNS para a intranet

 Clusterweb, ClusterWeb, Dns, Linux, Redes, Ubuntu, Windows  Comentários desativados em Configurando um DNS para a intranet
nov 212014
 

Essa mesma configuração pode ser usada para criar um servidor DNS particular, para a sua rede local. Com isso você poderá acessar todos os micros através de nomes de domínio, como na internet, em vez de ficar decorando endereços IP. Isso pode ser um grande facilitador em redes de médio porte, onde já não é prático saber de cor os endereços de todos os micros.

Nesse caso, você pode “registrar” seus domínios da forma como quiser, seja criando um domínio fictício, ou usando um domínio registrado e atribuindo subdomínios aos micros da rede.

Seu domínio principal pode ser, por exemplo, “viazap”, com cada micro recebendo um subdomínio, como em “administracao.viazap”, “contabilidade.viazap” e “vendas.viazap”. Desse modo, ao rodar o comando “ssh vendas.viazap”, por exemplo, você se conecta ao PC especificado, a partir de qualquer um dos outros micros da rede, sem precisar especificar o IP. Continue reading »

Criando um servidor de dns local com o bind no debian

 Clusterweb, ClusterWeb, Leitura Recomendada, Linux, Profissional de TI, Redes, Segurança, Ubuntu  Comentários desativados em Criando um servidor de dns local com o bind no debian
nov 212014
 

Mas aí você se pergunta: O que é DNS?

O DNS é o banco de dados distribuído de traduções de nome para endereço IP. Tecnicamente não é necessário usar nomes de host e de domínio, como www.meudominio.com.br, porque é o endereço IP que o computador usa para estabelecer comunicação.

O DNS foi criado para permitir o uso de nomes de domínios mais convenientes. Por exemplo, quando o usuário digita um nome DNS como parte de uma URL em um navegador, a parte do nome é enviada para o servidor DNS para que seja resolvido em um endereço IP. Uma vez encontrado o endereço, ele é usado para se reescrever a URL e obter diretamente a página web.

Um dos servidores DNS mais conhecido é o Bind. Nesse exemplo estaremos usando o Bind9, que é uma versão mais atualizada e mais segura deste software. Continue reading »

Vamos aprender como fazer um DNS local de maneira simples.

 Clusterweb, Linux, Redes  Comentários desativados em Vamos aprender como fazer um DNS local de maneira simples.
nov 302012
 

Amigos,

Saudações Pinguianas a todos!
Neste artigo, vamos aprender como fazer um DNS local de maneira simples, rápida e prática.

Mas aí você se pergunta: O que é DNS?

O DNS é o banco de dados distribuído de traduções de nome para endereço IP. Tecnicamente não é necessário usar nomes de host e de domínio, como www.meudominio.com.br, porque é o endereço IP que o computador usa para estabelecer comunicação.

O DNS foi criado para permitir o uso de nomes de domínios mais convenientes. Por exemplo, quando o usuário digita um nome DNS como parte de uma URL em um navegador, a parte do nome é enviada para o servidor DNS para que seja resolvido em um endereço IP. Uma vez encontrado o endereço, ele é usado para se reescrever a URL e obter diretamente a página web.

Um dos servidores DNS mais conhecido é o Bind. Nesse exemplo estaremos usando o Bind9, que é uma versão mais atualizada e mais segura deste software.

O primeiro passo é instalar o Bind:

# apt-get install bind9

Agora com o Bind instalado, vamos conhecer e configurar os arquivos usados por ele:

Arquivos de configuração DNS:

Edite seu resolv.conf para ele fazer a busca do DNS local:

# vim /etc/resolv.conf

Este arquivo lista os endereços IP dos servidores de nomes:

1
2
nameserver 127.0.0.1
nameserver 192.168.254.1

Agora vamos configurar os arquivos do Bind:

# vim /etc/bind/named.conf.local

Este arquivo é onde você indicará em que caminho estarão suas zonas. Edite-o e inclua estas linhas:

1
2
3
4
5
6
7
8
9
10
11
12
## minhas zonas ##
zone "meudominio.com.br"{
type master;
file "db.meudominio.com.br";
};
## reverso da rede 192.168.254.0
zone "254.168.192.in-addr.arpa"{
type master;
file "db.254.168.192";
};
## fim das minhas zonas ##

Agora criaremos os arquivos db.meudominio.com.br e db.254.168.192:

Dentro do diretório /etc/bind existe um arquivo db.local que poderemos copiar para fazermos nosso db.meudominio.com.br. Como root execute:

# cd /etc/bind
# touch /var/cache/bind/db.meudominio.com.br
# cat db.local > /var/cache/bind/db.meudominio.com.br

Agora edite o seu arquivo /var/cache/bind/db.meudominio.com.br para ficar assim:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
;
; BIND zone file for home.lan
;
$TTL    3D
@       IN      SOA     ns.meudominio.com.br.    root.meudominio.com.br. (
                        01              ; serial
                        8H              ; refresh
                        2H              ; retry
                        4W              ; expire
                        1D )            ; minimum
;
                NS      ns              ; Inet address of name server
                MX      10 mail         ; Primary mail exchanger
; Necessario para funfar
ns              IN      A       192.168.254.1
;
; Hosts Reais
www             IN      A       192.168.254.1
ftp             IN      A       192.168.254.1
smtp            IN      A       192.168.254.1
imap            IN      A       192.168.254.1
;
gateway         CNAME   router
gw      CNAME   router

Ainda como root, crie o db reverso de sua rede:

# touch /var/cache/bind/db.254.168.192

Edite o arquivo para que fique assim:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
;
; BIND zone file for 192.168.1.xxx
;
$TTL    3D
@       IN      SOA     ns.home.lan.    root.home.lan. (
                        2010111101      ; serial
                        8H              ; refresh
                        2H              ; retry
                        4W              ; expire
                        1D )            ; minimum
;
                NS      ns.meudominio.com.br.    ; Nameserver address
100             PTR     server.meudominio.com.br.
100             PTR     ns.meudominio.com.br.
100             PTR     mail.meudominio.com.br.
101             PTR     virtual.meudominio.com.br.
1               PTR     router.meudominio.com.br.

Agora vamos editar o arquivo named.conf.options

# vim /etc/bind/named.conf.options

Deixe-o assim:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
options {
        directory "/var/cache/bind";
        // If there is a firewall between you and nameservers you want
        // to talk to, you may need to fix the firewall to allow multiple
        // ports to talk.  See http://www.kb.cert.org/vuls/id/800113
        // If your ISP provided one or more IP addresses for stable
        // nameservers, you probably want to use them as forwarders.
        // Uncomment the following block, and insert the addresses replacing
        // the all-0's placeholder.
        // Security options
        listen-on port 53 { 127.0.0.1; 192.168.254.1; };
        allow-query { 127.0.0.1; 192.168.254.0/24; };
        allow-recursion { 127.0.0.1; 192.168.254.0/24; };
        allow-transfer { none; };
        auth-nxdomain no;    # conform to RFC1035
        // listen-on-v6 { any; };
};

Feito isso reinicie seu bind:

# /etc/init.d/bind9 restart

Agora já podemos pingar internet.meudominio.com.br e mail.meudominio.com.br:

# ping internet.meudominio.com.br
PING internet.meudominio.com.br (192.168.254.1) 56(84) bytes of data.
64 bytes from 192.168.254.1: icmp_seq=1 ttl=64 time=4.86 ms
64 bytes from 192.168.254.1: icmp_seq=2 ttl=64 time=0.228 ms
64 bytes from 192.168.254.1: icmp_seq=3 ttl=64 time=0.229 ms

Utilidades e checando configurações DNS:

Um servidor DNS interno é muito útil para os administradores de redes, por exemplo: se você tem um servidor proxy autenticado, nos navegadores dos clientes podemos usar um endereço de proxy como internet.empresa.com.br, assim se um dia necessitar alterar o ip de seu proxy, só mude as configurações de DNS no seu db.empresa.com.br.

Podemos usar alguns comandos para checar as configurações de seu dns.

named-checkconf (verifica as configurações do Bind)

# named-checkconf

Se não retornar nada é que está ok.

named-checkzone (verifica suas zonas):

# named-checkzone zonename db.meudominio.com.br
zone zonename/IN: loaded serial 2
OK

Servidor DNS pronto e funcionando! Você já pode dar nomes a seus IPs, facilite seu trabalho.

Espero ter colaborado!