Pessoal nesse artigo iremos aprender a integrar os serviços de DHCP e
DNS, isso ajuda bastante na administração do dns e também é fundamental para o
funcionamento do samba 4, toda vez que um cliente envia uma solicitação de ip dinâmico
o servidor dhcp guarda essas informações dentro do arquivo dhcpd.leases, o que
o DDNS ira fazer é pegar essas informações e inseri-las dentro das zonas
especificadas do dns. Assim não iremos mais precisar ficar editando zonas no
dns. Bem chega de papo e vamos para o que interessa.
Estou utilizando como ambiente de teste uma maquina virtual com duas
interfaces de rede, uma como bridge simulando a conexão com a internet e outra
como host-only previamente criada no virtualbox simulando a placa da rede
local, concluindo ficou assim:
eth1 = lan (host-only) [10.0.0.0/24]
hostname = KHALESSI
domínio = guiadoti.org.local
OBS: Mudem o nome do host, domínio e faixa de rede de acordo com o
ambiente de vocês.
Primeiramente iremos precisar do serviço de dhcp e dns instalado para
isso faça:
# aptitude install isc-dhcp-server
isc-dhcp-client
# aptitude install bind9 dnsutils
Agora precisamos fazer alguns ajustes no dhcp, primeiramente edite o
arquivo default do isc-dhcp-server, iremos especificar a interface de rede que
o dhcp vai trabalhar.
# pico /etc/default/isc-dhcp-server
Modifique a linha INTERFACES para:
INTERFACES="eth1"
Agora iremos criar uma copia do dhcpd.conf para iniciarmos um do zero:
# cd /etc/dhcp
# mv dhcpd.conf dhcpd.conf.old
# pico dhcpd.conf
Insira as linhas abaixo:
# Define o tempo padrão que o dhcp vai conceder um ip ao cliente
default-lease-time 600;
# Tempo maximo que o dhcp concede um ip ao cliente
max-lease-time 7200;
# Define que o server é autoritativo
authoritative;
# Identifica o server dhcp
server-identifier 10.0.0.1;
# Esta linha inibe resposta aos pedidos de atualização DDNS dos
clientes
ignore client-updates;
subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.100 10.0.0.199;
option subnet-mask 255.255.255.0;
option routers 10.0.0.1;
# Especifica o Servidor WINS
option netbios-name-servers 10.0.0.1;
# Especifica o Domínio da Rede
option domain-name "guiadoti.org.local";
# Servidor DNS da rede
option domain-name-servers 10.0.0.1;
option broadcast-address 10.0.0.255;
# Especifica o tipo de no NetBios
option netbios-node-type 8;
}
# Ativa o DDNS
ddns-updates on;
# clientes com IP estático estão incluídas nas atualizações
update-static-leases on;
# Indica que o dhcp vai trabalhar em conjunto com o dns
ddns-update-style interim;
# Zona DNS que vai atualizar os nomes
ddns-domainname "guiadoti.org.local";
# Zona DNS reverse que vai atualizar os PTRs
ddns-rev-domainname "in-addr.arpa.";
# Responsável pela atualização do bind
include "/etc/bind/rndc.key";
# Zona master da rede interna onde o DHCP ira inserir os valores
zone guiadoti.org.local {
primary 10.0.0.1;
key rndc-key;
}
# Zona reversa da rede interna onde o DHCP ira inserir os valores
zone 0.0.10.in-addr.arpa. {
primary 10.0.0.1;
key rndc-key;
}
OBS: Caso sua faixa de rede seja diferente você tem que alterar na
zona reversa também, exemplo se sua rede tiver faixa 192.168.55.0 sua zona
reversa deve ser 55.168.192.in-addr.arpa
Pronto agora que já estamos com o dhcp configurado vamos para o bind,
mas antes mais alguns ajustes.
Antes de começar precisamos editar o arquivo hosts:
# pico /etc/hosts
Acrescente a linha:
10.0.0.1 KHALESSI.guiadoti.org.local KHALESSI
Agora precisamos deixar as configurações do arquivo hosts.conf de modo
que fique como é mostrado abaixo:
order hosts, bind
multi on
Por ultimo iremos editar o resolv.conf
# pico /etc/resolv.conf
search guiadoti.org.local
nameserver 10.0.0.1
nameserver 127.0.0.1
Agora primeiramente iremos editar o arquivo named.conf.local, é nele
que inserimos as zonas que queremos.
# cd /etc/bind/
# pico named.conf.local
No final do arquivo iremos adicionar as linhas abaixo:
include "/etc/bind/rndc.key";
controls {
inet 127.0.0.1 port 953
allow { localhost; }
keys { "rndc-key"; };
};
// Define a zona
zone "guiadoti.org.local" {
// Define que a zona é master
type master;
// Especifica o arquivo de banco de dados dos registros dns
file "/etc/bind/db.guiadoti";
// Aceita updates pela chave rndc
allow-update { key "rndc-key"; };
notify yes;
};
zone "0.0.10.in-addr.arpa" {
type master;
file "/etc/bind/rev.guiadoti";
allow-update { key "rndc-key"; };
notify yes;
};
Agora iremos criar o arquivo de BD da zona:
# pico db.guiadoti
$TTL 86400 ; 1 day
@ IN SOA KHALESSI.guiadoti.org.local. root.KHALESSI.guiadoti.org.local.
(
24012028 ; serial
3600 ;
refresh (1 hour)
900 ;
retry (15 minutes)
604800 ;
expire (1 week)
3600 ;
minimum (1 hour)
)
IN NS KHALESSI.guiadoti.org.local.
KHALESSI IN A
10.0.0.1
Agora precisamos criar o BD da zona reversa:
# pico rev.guiadoti
$TTL 86400 ; 1 day
@ IN SOA KHALESSI.guiadoti.org.local. root.KHALESSI.guiadoti.org.local.
(
24012023 ;
serial
3600 ;
refresh (1 hour)
900 ;
retry (15 minutes)
604800 ;
expire (1 week)
3600 ;
minimum (1 hour)
)
IN NS KHALESSI.guiadoti.org.local.
1 IN PTR KHALESSI.
Depois disso mude a permissão do diretório do bind para o dhcp poder
atualizar.
# chmod 775 /etc/bind
Agora vamos alterar algumas configurações de segurança em nosso dns.
# pico named.conf.options
// Definimos que o nosso domínio existe, que ele é autoritativo
auth-nxdomain yes;
listen-on-v6 { any; };
// Esconde a versão do bind
version "N/A";
# Requisições que não sejam internas serão feitas em um dns extero
forwarders {
208.67.222.222; // ip do open dns
};
// O bind ira trabalhar nos seguintes ips (interfaces)
listen-on {
127.0.0.1; // lo
10.0.0.1; // eth1
};
// Aceita consultas vindas das redes defininas aqui
allow-query {
127.0.0.0/8;
10.0.0.0/24;
};
Agora reinicie seu dhcp e dns:
# /etc/init.d/isc-dhcp-server
restart
# /etc/init.d/bind9 restart
Para evitar que o bind tente resolver ipv6 faça o seguinte:
# pico /etc/default/bind9
Deixe a linha desse modo:
OPTIONS="-4 -u bind"
Depois:
# /etc/init.d/bind9 restart
Agora é só levantar algumas maquinas virtuais com a interface
host-only e fazer os testas, deixe as configurações de rede do Windows como
dhcp e depois que pegar ip tente pingar os outros hosts pelo nome, para ver
mais detalhes é só da uma olhada no syslog. Sei que esse artigo não ficou tão
detalhado como os que costumo fazer mas prometo que depois faço outro complementando
esse com mais detalhes sobre os parâmetros do bind por exemplo, pois aqui so
expliquei alguns. Bem galera é isso ai, espero que essa dica seja de bom
proveito para todos, qualquer duvida é só postar aqui que a gente responde o
mais rápido possível, ate a próxima.
Bom dia Ricardo.
ResponderExcluirAlgum problema se eu executar esses procedimentos no Ubuntu? pq não subi ainda uma VM do Debian!!.
Nunca utilizei o Ubuntu server amigo, mas partindo do principio que ele é derivado do Debian acho que não haverá problemas.
ResponderExcluirBLz, logo estarei aplicando as configurações, uso o Ubuntu versão desktop mesmo..
ResponderExcluirEstou esperando pelo squid+sarg..hehe..
sempre visito seu blog, pelos comentários que deixo dar para perceber né!! rsrsr.. Estas de parabéns, sempre encontro o que procuro por aqui.
Um abraço,
Edvan ja que vc usa Ubuntu é aconselhável que vc use a versão server dele, e também experimente utilizar outras distros como Debian e CentOS, assim vc não vai ficar preso a uma unica distro, isso é importante para caso vc mude empresa não tenha surpresas com o novo ambiente. Estou meio sem tempo, então o artigo do squid com sarg vai demorar um pouco. Agradeço pelos elogios, e fico feliz de saber que este trabalho esta ajudando outras pessoas, conte sempre conosco para o que precisar, so queria pedir para que nos ajude a publicar esse blog para que outras pessoas possam estar usufruindo do conteúdo dele.
ResponderExcluirBlz, sempre indico seu blog aos amigos, excelentes artigos tem aqui, sempre estou visitando.
ResponderExcluirRicardo, boa tarde.
ResponderExcluirObrigado por ajuda a comunidade de leigos como eu. Após terminar o passo"# pico named.conf.options"
quando vou restartar o bind dá o seguinte erro:
Stopping domain name service...: bind9rndc: connect failed: 127.0.0.1#953: connection refused
.
Starting domain name service...: bind9 failed!
Olhando os logs, eu tenho isso:
tal -f /var/log/syslog...
root@server:/etc/bind# tail -f /var/log/syslog
Jun 11 17:20:30 server named[2300]: /etc/bind/named.conf.local:16: unknown option 'zone'
Jun 11 17:20:30 server named[2300]: /etc/bind/named.conf.local:26: unknown option 'zone'
Jun 11 17:20:30 server named[2300]: /etc/bind/named.conf.default-zones:2: unknown option 'zone'
Jun 11 17:20:30 server named[2300]: /etc/bind/named.conf.default-zones:10: unknown option 'zone'
Jun 11 17:20:30 server named[2300]: /etc/bind/named.conf.default-zones:15: unknown option 'zone'
Jun 11 17:20:30 server named[2300]: /etc/bind/named.conf.default-zones:20: unknown option 'zone'
Jun 11 17:20:30 server named[2300]: /etc/bind/named.conf.default-zones:25: unknown option 'zone'
Jun 11 17:20:30 server named[2300]: /etc/bind/named.conf:12: '}' expected near end of file
Jun 11 17:20:30 server named[2300]: loading configuration: unexpected token
Jun 11 17:20:30 server named[2300]: exiting (due to fatal error)
Confesso que refiz os passos mas continua na mesma. Grato!
veja este exemplo do named.conf.options
Excluiroptions {
directory "/var/cache/bind";
version "insdisponivel";
recursion yes;
forwarders {
172.16.1.254;
};
dnssec-validation no;
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
listen-on { 127.0.0.1/8; 172.16.1.0/24; };
allow-recursion { 127.0.0.1; 172.16.1.0/24; };
allow-query { 127.0.0.1; 172.16.1.0/24; };
};
ديكورات حجر هاشمى ناعم
ResponderExcluirديكورات حجر هاشمي وش جبل