Debian Lenny - DHCP3-server + Bind9 adicionando máquinas automaticamente

Este artigo destina-se àqueles que estão cansados dos erros e dificuldades encontradas ao tentar instalar os serviços DHCP e DNS integrados com atualização dinâmica nas tabelas. Esta documentação é destinada aos usuários de Debian Lenny, mas suas dicas podem esclarecer uma série de dúvidas dos que usam outras distribuições.

[ Hits: 60.722 ]

Por: Cleber Rocha em 20/08/2009 | Blog: http://ideiasetecnologias.blogspot.com.br/


Criando um script simples de compartilhamento de internet



Após termos configurado tudo, agora temos que compartilhar a internet. Se sua empresa não exige a necessidade de um monitoramento mais cuidadoso, este script resolverá bem a questão. Faça assim:

# cd /etc/init.d
# vi firewall.sh


#!/bin/bash

#Parando o forward pelo kernel
echo 0 > /proc/sys/net/ipv4/ip_forward

#Limpando todas as tabelas
iptables -F
iptables -t nat -F
iptables -t mangle -F

#Criando a regra de NAT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

#Iniciando o forward pelo kernel
echo 1 > /proc/sys/net/ipv4/ip_forward

# Configurando a visualização de logs dinâmicos.
tail -f /var/log/syslog >> /dev/tty9 &
exit 0

Se sua conexão for ADSL, mude o parâmetro " -o eth0" para a interface pela qual você se conecta à internet.

Bem, estas são as configurações. Vale ressaltar que este script deixa a internet completamente aberta e, portanto, exposta a ataques. Mesmo que no momento a infraestrutura da empresa não pareça justificar a implementação de um proxy ou de um firewall com mais regras, é sempre bom pensar em proteção. Afinal, a cabeça que estará a prêmio será a sua se a rede cair ou sofrer uma invasão.

Espero que este tutorial possa ajudar naquilo para o qual foi proposto.

Página anterior    

Páginas do artigo
   1. Entendendo a utilidade de integrar a rede
   2. Criando o arquivo dhcpd.conf
   3. Editando o arquivo named.conf.local
   4. Criando os arquivos db
   5. Criando um script simples de compartilhamento de internet
Outros artigos deste autor

Instalando scanner HP PSC 1500 series e outros no Debian Etch

Leitura recomendada

Instalando o XGL no Kurumin 6.0 e 6.1

Logstash + Redis + Elasticsearch + Kibana - Gerenciando logs

LINCE - A biblioteca de visão artificial open source

Mais desempenho no GNU Emacs com o YASnippet

Aprisionamento Tecnológico

  
Comentários
[1] Comentário enviado por Credmann em 20/08/2009 - 07:04h

O mesmo pode ser feito no Ubuntu. Mas com uma única diferença: o AppArmour só permite que o Bind escreva em `/var/cache/bind/'. Assim sendo:

zone "teste.local" {
type master;
file "/var/cache/bind/db.teste";
allow-update { 192.168.0.1;key "rndc.key";};
};

zone "0.168.192.in-addr.arpa" {
type master;
file "/var/cache/bind/db.0.168.192.in-addr.arpa";
allow-update { 192.168.0.1;key "rndc.key";};
};

[2] Comentário enviado por acollucci em 20/08/2009 - 08:40h

Cara vou aplicar isso hoje, estava procurando uma conf desse tipo para o debian lenny, favoritos valeu!!!


[3] Comentário enviado por ErhnamDjinm em 20/08/2009 - 09:05h

Uma informação importante.
Caso trabalhem em redes classe A ou B, no arquivo de zona reversa do Bind, o IP deve aparecer todo invertido.
Por exemplo, ao invés de

$ORIGIN 0.168.192.in-addr.arpa.
1 PTR server.teste.local.

Deve ficar

$ORIGIN 168.192.in-addr.arpa.
1.0 PTR server.teste.local.

[4] Comentário enviado por cl2b2r em 20/08/2009 - 10:30h

E na rede "A" ficaria:

$ORIGIN 168.in-addr.arpa.
1.0.192 PTR server.teste.local.

ou

$ORIGIN 10.in-addr.arpa.
1.0.0 PTR server.teste.local.

Certo? Quase não trabalho com rede "A" ou "B". Então fica aí a pergunta.

[5] Comentário enviado por acollucci em 26/08/2009 - 11:33h

Opa so tem dois errinhos de digitação no dhcpd.conf o certo é rndc.key e nao o rdc.key na linha do include.

e no named.conf.local, e rndc.key e nao rndc.keys. Mas ja ajudou d+ valeu!!!!!

[6] Comentário enviado por cl2b2r em 26/08/2009 - 13:17h

Valeu pela correção! Este tipo de coisa pode realmente impedir o servidor de funcionar.

[7] Comentário enviado por renanpro03 em 07/06/2010 - 15:23h

Olá Amigo!
Mto bom seu tutorial, consegui configurar certinho como explicou mas estou tendo um erro quando mando o WEBMIN verificar as configurações do DNS
Ele retorna essa msg.

Os seguintes erros foram encontrados no arquivo /etc/bind/named.conf de configuração do BIND ou arquivos referenciados pela zona ..


/etc/bind/db.100.168.192.in-addr.arpa:3: ignoring out-of-zone data (1)
zone 100.168.192.in-addr.arpa/IN: has 0 SOA records
zone 100.168.192.in-addr.arpa/IN: has no NS records
zone 100.168.192.in-addr.arpa/IN: not loaded due to errors.
_default/100.168.192.in-addr.arpa/IN: bad zone

Já verifiquei o named.conf, creio que seja algum erro no db, mas conferi já varias vezes e esta tudo ok... alguem poderia me ajudar ?

[8] Comentário enviado por cl2b2r em 07/06/2010 - 20:21h

Renan
Te enviei um email que pode ajudar a solucionar o problema, tenta seguir o que está lá.

Boa sorte! ;)

[9] Comentário enviado por red_slack em 16/08/2010 - 23:05h

ta dando esse erro e não inicia o bind
Stoppong domain name service...: bind9rncd: connect failed: 127.0.0.1#953 connection refused.
Starting domain name service...: bind9 failed!

o failed bem vermelhão... o dhcp ta rodando normal o problema é só esse ai do bind, alguem poderia da uma dica do que seja...

cl2b2r, você tem o conteudo do email enviado para o Renan?? é possivel me enviar ele também?
ailton_fernandez@yahoo.com.br
Desde já obrigado

[10] Comentário enviado por acollucci em 17/08/2010 - 08:34h

oi red_slack

eu ja havia postado a solução para esse problema antes

veja

dhcpd.conf o certo é rndc.key e nao o rdc.key na linha do include.

e no named.conf.local, e rndc.key e nao rndc.keys.

tenta corrigir isso.

até!

[11] Comentário enviado por red_slack em 17/08/2010 - 09:47h

olá acollucci, tranquilo??

Me atentei só no include do dhcpd, não tinha visto esse ai do named um "s" a mais faz diferença e muito.. heheh muito obrigado cara

[12] Comentário enviado por acollucci em 17/08/2010 - 11:07h

tranquilo! Precisando e so falar!

[13] Comentário enviado por cl2b2r em 17/08/2010 - 19:21h

Oi red slack
Realmente o acollucci tem razão! Eu na hora de postar errei na digitação de uma letra e por isso está dando este erro. Faz a modificação que deverá funcionar. Depois posta o resultado aqui valeu? ;)

[14] Comentário enviado por red_slack em 17/08/2010 - 21:41h

Hoje foi um dia meio corrido para mim, não deu para testar todas as estações, mas em duas funcionaram normalmente, se funcionou em duas é para funcionar em todas, certo??? Um detalhe que queria fazer é que todas as estações ficassem configuradas em DHCP e pegasse o mesmo IP, não sei como nessas duas esta funcionando assim 192.168.10.1 e 192.168.10.41, reiniciei varias vezes e mesmo no limite dos 10 minutos (600s) renova o IP para o mesmo isso é otimo, isso via cabo, agora aqui em casa que uso via Wireless meu IP é o 10.249 e só pega o 10.4, não entendi isso, alguma explicação logica?

##############
###dhcpd.conf####
##############
ddns-update-style none;
ddns-updates on;
ddns-domainname "teste.local";
ddns-rev-domainname "10.168.192.in-addr.arpa";

include "/etc/bind/rndc.key";

zone teste {
primary 127.0.0.1;
key rndc-key;
}
zone 10.168.192.in-addr.arpa {
primary 127.0.0.1;
key rndc-key;
}

option domain-name "teste.local";
option domain-name-servers 208.67.222.222,208.67.220.220;

default-lease-time 600;
max-lease-time 7200;

authoritative;

log-facility local7;

subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.1 192.168.10.249;
option routers 192.168.10.250;
}
################################

###################
####named.conf.local####
###################
include "/etc/bind/rndc.key";

zone "teste.local" {
type master;
file "/etc/bind/db.teste";
allow-update { 192.168.10.250;key "rndc.key";};
};

zone "10.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.10.168.192.in-addr.arpa";
allow-update { 192.168.10.250;key "rndc.key";};
};
#################################

###########
###db.teste###
###########
$ORIGIN .
$TTL 43200 ; 12 hours
teste.local IN SOA server.teste.local. root.teste.local. (
1 ; serial
28800 ; refresh ( 8 hours )
14400 ; retry ( 4 hours )
3600000 ; expire ( 5 weeks 6 days 16 hours )
86400 ; minimum ( 1 day )
)
NS server.teste.local.
$ORIGIN teste.local.
server A 192.168.10.250
=======================================

##########################
####db.10.168.192.in-addr.arpa####
##########################
$ORIGIN .
$TTL 43200 ; 12 hours
1 IN SOA server.teste.local. root.teste.local. (
1 ; serial
28800 ; refresh ( 8 hours )
14400 ; retry ( 4 hours )
3600000 ; expire ( 5 weeks 6 days 16 hours )
86400 ; minimum ( 1 day )
)
NS server.teste.local.
$ORIGIN 10.168.192.in-addr.arpa.
1 PTR server.teste.local.
==================================================

No local desse TESTE não poderia colocar o nome da empresa??? isso aparece onde??? e como ficaria a sintatese????

Vocês já colocaram o NoCatAuth pra rodar??? já estou com ele instalado porém não configurado e to com umas duvidas, a primeira ele funciona com o Squid + Transparent???

Por enquanto é só depois vem mais .... hehheheh

[15] Comentário enviado por red_slack em 18/08/2010 - 09:44h

SIm, toda a rede cabeada pega o DHCP com o IP destinado a essa maquina, porém toda a rede wireless pega ip's aleatorios.
criei /etc/ethers com todos os IP/MAC, vocês poderia me ajudar com mais esse assunto?? Como uso exatamente o ARP?

[16] Comentário enviado por acollucci em 19/08/2010 - 09:02h

Opa

No lugar do TESTE, vc deve colocar o dominio da empresa, ou o nome dela etc..

Quanto a renovação de IP, o Windows (nao tenho essa informação sobre os demais SOs) tenta sempre renovar com o mesmo ip anterior, caso ele nao esteja disponivel ele pega outro.

Para fixar um IP no DHCP

use:

host NOME_DO_HOST {
hardware ethernet XX:XX:XX:XX:XX:XX; #MAC DO HOST
fixed-address XXX.XXX.XXX.XXX; #IP DO HOST
}

quanto as outras perguntas seja mais especifico, pq nao consegui entender rsrs. e tipo use o menu embaixo da pagina contribuir com pergunta, pq se vc fizer pergunta pelo artigo, so quem ja comentou ou quem estiver lendo o artigo na hora vai saber... A não ser claro que a pergunta seja referente ao artigo.

att,

[17] Comentário enviado por fagl22 em 20/09/2010 - 14:19h

Prezado cl2b2r,

Gostaria de sua ajuda por gentiliza para solicionar este impasse q estou tendo:

O Primeiro é esse logo abaixo informado pelo comando TAIL:

dhcpd self-test failed. Please fix the config file.
The error was:
Internet Systems Consortium DHCP Server V3.1.1
Copyright 2004-2008 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/
Can't open /etc/bind/rndc.key: No such file or directory

E o Segundo é que esta dando esse erro quando eu comento da linha do include "/etc/bind/rndc.key" até antes do option domain-name "teste.local" pelo TAIL ele informa o seguinte:

Copyright 2004-2008 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/
Internet Systems Consortium DHCP Server V3.1.1
Copyright 2004-2008 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/
Wrote 0 leases to leases file.

No subnet declaration for 1 (0.0.0.0).
** Ignoring requests on 1. If this is not what
you want, please write a subnet declaration
in your dhcpd.conf file for the network segment
to which interface 1 is attached. **

Agradeço desde já a sua atenção;
Atenciosamente,
Fábio

[18] Comentário enviado por R.S.P Andre em 28/11/2010 - 12:57h

Cara gostaria de lhe agradecer pelo excelente artigo.
Acabei de testar e implantar e esta 100%.

Meus parabéns pelo artigo que esta muito bem explicado.

ABS


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts