Dhcp3-server e Bind9 no Debian 5 Lenny Linux

Instalação e configuração de um servidor DHCP (dhcp3-server) e DNS (bind9) numa máquina GNU/Linux Debian 5 Lenny com as seguintes características: troca de informações entre o DHCP e DNS; DHCP atribuindo IP fixo pelo host/mac; DNS resolvendo ips/nomes dos hosts/máquinas na rede local.

[ Hits: 43.864 ]

Por: Ciro em 14/12/2009


Configurando o BIND



Vamos editar o arquivo resolv.conf, que encontra-se no diretório /etc/.
  • domain = domínio, que no meu caso chamei de netgame;
  • search domínio: ele irá procurar o meu domínio, que é como já disse, meu grupo de trabalho de rede das máquinas Windows XP, que é também o nome de minha lan house;
  • os "nameserver" são os servidores DNS, que são 127.0.0.1 (localhost), pois as máquinas da rede pedirão ao eth1 10.0.0.1 as requisições de nomes/IPs para a rede interna e 192.168.254.254 (meu modem ADSL roteado), pois no meu caso as requisições de IPs/domínios na rede externa para serem resolvidas precisam usar os servidores DNS de meu provedor que estão configurados no meu modem, que é o gateway e DNS do Linux para internet.

Então, sendo assim, edite o arquivo:

# pico /etc/resolv.conf

domain netgame
search netgame
nameserver 127.0.0.1
nameserver 192.168.254.254

Vamos agora para o diretório de configuração do bind9 e criar o diretório onde ficarão nossas zones.

Entrando no diretório de configuração do DNS:

# cd /etc/bind

Criando a pasta onde ficarão os arquivos das minhas zonas:

# mkdir zones

Não alterei nada no named.conf, porém no named.conf.options fiz algumas configurações e em named.conf.local adicionei minhas zonas, cujos arquivos de configuração estão nos diretório /etc/bind/zones/ que criei neste instante. :)

No named.conf.options mudei o directory para que não precise pôr no file das zonas "/etc/bind/db.zona", bastando pôr o nome do arquivo "db.zona". No forwarders tem os meus servidores DNS, 192.168.254.254 é meu modem roteado e os demais IPs 200.165.132.* são os NS do Velox, meu provedor de internet ADSL aqui para Bahia.

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

options {
directory "/etc/bind";
forwarders {
192.168.254.254;
200.165.132.154;
200.165.132.148;
200.165.132.155;
200.165.132.147;
};
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};

Bom, feito isso agora vamos criar nossas zonas, incluindo elas no arquivo named.conf.local, colocando as confs que logo após criaremos, editando os arquivos na pasta zones/.

A zona netgame é o nome da lan house/domínio/network-win. Na verdade eu uso a zona netgame para dizer todos os IPs que tenho catalogado na minha rede e associar/apontar para um host.netgame, isso inclui o modem e o eth0, que são da rede 192.168.254.0 e as máquinas da rede interna, que são da rede 10.0.0.0.

A zona 254.168.192.in-addr.arpa e 10.in-addr.arpa são os reversos/ptr da minha rede local para poder resolver os nomes das máquinas em IPs e vice-versa. Na verdade eu separei uma zona por rede/faixa de IPs para não haver conflitos.

Vamos agora editar o named.conf.local:

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

include "/etc/bind/rndc.key";
## minhas zonas ##
#Zona NetGame
zone "netgame"{
type master;
file "/etc/bind/zones/db.netgame";
allow-update { key "rndc-key"; };
notify yes;
};

#Reverso da rede 192.168.254.0
zone "254.168.192.in-addr.arpa"{
type master;
file "/etc/bind/zones/db.254.168.192";
allow-update { key "rndc-key"; };
notify yes;
};

#Reverso da rede 10.0.0.0
zone "10.in-addr.arpa"{
type master;
file "/etc/bind/zones/db.0.0.10";
allow-update { key "rndc-key"; };
notify yes;
};

## fim das minhas zonas ##

Vamos agora editar/criar os arquivos das zonas. Primeiro entre no diretório que criamos anteriormente:

# cd /etc/bind/zones

Editar o arquivo db.netgame:

# pico /etc/bind/zones/db.netgame

$TTL 604800
@ IN SOA gw.netgame. root.netgame. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS gw.netgame.
@ IN A 10.0.0.1
gw IN A 10.0.0.1
roteador IN A 192.168.254.1
modem IN A 192.168.254.254
server IN A 10.0.0.100
netgame01 IN A 10.0.0.101
netgame02 IN A 10.0.0.102
netgame03 IN A 10.0.0.103
netgame04 IN A 10.0.0.104
netgame05 IN A 10.0.0.105
alexandre IN A 10.0.0.201
edival IN A 10.0.0.202
adjane IN A 10.0.0.203
antoni IN A 10.0.0.204
juliana IN A 10.0.0.205
paulinho IN A 10.0.0.206
patricia IN A 10.0.0.207

Note que eu poderia fazer o seguinte:

gw.netgame IN A 10.0.0.1
patricia.netgame IN A 10.0.0.207

Inclusive, talvez fosse até o mais correto.

Após editado a zona geral da minha rede com todos os IPs que estão catalogados em meu domínio netgame...

Vamos agora editar arquivo db.254.168.192:

# pico /etc/bind/zones/db.254.168.192

$TTL 604800
@ IN SOA gw.netgame. root.netgame. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL

@ IN NS gw.netgame.
1 IN PTR roteador.netgame.
254 IN PTR modem.netgame.

Editar arquivo db.0.0.10:

# pico /etc/bind/zones/db.0.0.10

$TTL 604800
;$ORIGIN 10.in-addr.arpa
@ IN SOA gw.netgame. root.gw.netgame. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS netgame.
;Router
1.0.0 IN PTR router.netgame.
;Server
100.0.0 IN PTR server.netgame.
;Lan NETGAME
101.0.0 IN PTR netgame01.netgame.
102.0.0 IN PTR netgame02.netgame.
103.0.0 IN PTR netgame03.netgame.
104.0.0 IN PTR netgame04.netgame.
105.0.0 IN PTR netgame05.netgame.
;Divisão Internet
201.0.0 IN PTR alexandre.netgame.
202.0.0 IN PTR edival.netgame.
203.0.0 IN PTR adjane.netgame.
204.0.0 IN PTR antoni.netgame.
205.0.0 IN PTR juliana.netgame.
206.0.0 IN PTR paulinho.netgame.
207.0.0 IN PTR patricia.netgame.

Bom, após tudo configurado, foi só iniciar o serviço:

# /etc/init.d/bind9 start

Ou reiniciar:

# /etc/init.d/bind9 restart

Embora não seja necessário, pois o DNS já resolve automaticamente na rede local os nomes/hosts da máquina nos IPs e vice-versa, é bom fazer um controle extra/manual no arquivo /etc/hosts. Lembrando que este arquivo é muito útil para resolver os nomes/hosts das máquinas nos IPs na ausência do DNS. Porém eu o utilizo para criar apelidos = aliases.

Edite o arquivo hosts:

# pico /etc/hosts

127.0.0.1 localhost
127.0.1.1 router

10.0.0.1 gw.netgame gw
192.168.254.1 roteador.netgame roteador
192.168.254.254 modem.netgame modem

10.0.0.100 server.netgame server
10.0.0.101 netgame01.netgame netgame01
10.0.0.102 netgame02.netgame netgame02
10.0.0.103 netgame03.netgame netgame03
10.0.0.104 netgame04.netgame netgame04
10.0.0.105 netgame05.netgame netgame05

10.0.0.201 alexandre.netgame alexandre
10.0.0.202 edival.netgame edival
10.0.0.203 adjane.netgame adjane
10.0.0.204 antoni.netgame antoni
10.0.0.205 juliana.netgame juliana
10.0.0.206 paulinho.netgame paulinho
10.0.0.207 patricia.netgame patricia



# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Preparando o terreno
   3. Configurando o DHCP
   4. Configurando o BIND
   5. Testes e conclusões
Outros artigos deste autor

OpenVZ - Instalando no Debian Squeeze AMD64

Dhcp3-server e Bind9 no Debian 4 Etch Linux

Montando sua Web Rádio no Linux com DJ Automático

Rodando um servidor de IRC (ircd)

Leitura recomendada

Instalando o modem Pctel PCI no Conectiva 10

Alta disponibilidade de link - rápido e simples

ArchLinux: Configuração pós-instalação

Configurando um servidor de FTP no OpenBSD

TinyCore Linux - Gerenciando Usuários

  
Comentários
[1] Comentário enviado por kabalido em 14/12/2009 - 06:58h

Boa cara! Vou testar.
Já foi pro meus favoritos.
Vlw!

[2] Comentário enviado por leodamasceno em 14/12/2009 - 14:33h

Parabéns :), o artigo ficou muito bom.

[3] Comentário enviado por kernel_rj em 14/12/2009 - 16:54h

Muito bom artigo...
Esse tipo de artigo que a comunidade precisa para poder difundir o conhecimento em sistemas Linux!

Nota 10.
Parabéns!!!

[4] Comentário enviado por walescko em 14/12/2009 - 20:11h

estou pensando em fazer isso aqui em casa, falta só comprar mais um pc pra poder fazer e trocar a rede adsl que tenho atualmente.

muito bom artigo e já foi para os favoritos para quando precisar.

[5] Comentário enviado por cirinho em 14/12/2009 - 22:46h

Obrigado meus amigos,
se vocês quiserem podem tentar tbm instalar/configurar.

Um amigo meu tomou como base só alterando os dados pras configurações da rede dele e rodou legal.

Se quizerem tentar eu posso ajudar. Tive maior dificuldade mas em fim conseguir e documentei.

[6] Comentário enviado por removido em 15/12/2009 - 10:14h

Muito bom o artigo mas uma outra saída mais simples pra resolver dns é uma regra de nat bem simples


/sbin/iptables -t nat -A PREROUTING -p udp --dport 53 -j DNAT --to-destination IP_DO_DNS

ex:

/sbin/iptables -t nat -A PREROUTING -p udp --dport 53 -j DNAT --to-destination 189.36.129.1
/sbin/iptables -t nat -A PREROUTING -p udp --dport 53 -j DNAT --to-destination 189.36.129.2

São os 2 DNS da operadora q eu uso aqui.



[7] Comentário enviado por marcelo.m87 em 05/02/2010 - 12:34h

Cara, to mechendo com um server aqui com gentoo.
Ae vai uma dica!
No arquivo named.conf, não esqueça de colocar:
forward first;
listen-on { 10.0.0.1; 127.0.0.1; };
Muito bom o artigo funciona dez!

[8] Comentário enviado por cirinho em 20/06/2012 - 00:57h

firekill assim vc redireciona todo o trafego na porta 53 do dns pra ips externos :)

marcelo.m87 valeu brother, realmente eu não coloquei na minha .conf embora esteja funcionando perfeitamente.

Pra ambos, Valeu a dica.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts