BIND
Vamos configurar a parte mais importante deste tutorial, que é o
BIND9. Neste caso, o nosso servidor DNS será atualizado automaticamente por DHCP, para que fique ainda mais fácil administrar nosso domínio.
1. Vamos considerar que você tenha um endereço de IP estático em sua placa de rede, caso não tenha, adicioná-lo, conforme seu IP e rede.
2. Editar o arquivo
/etc/hosts e colocar o endereço do servidor com o domínio, conforme exemplo:
127.0.0.1 localhost
127.0.1.1 Server.shl.local Server
192.168.75.156 Server.shl.local Server
3. Também efetuar a mudança no arquivo
/etc/resolv.conf, e deixá-lo conforme IP e domínio da rede:
nameserver 127.0.0.1
nameserver 192.168.75.156
search shl.local
4. Matar o processo do dhclient:
# killall -9 dhclient
5. Criar o domínio no
/etc/bind/named.conf.local, segue o meu como exemplo, caso queira utilizá-lo é só mudar o nome do seu domínio e IP:
acl internals {
127.0.0.0/8;
192.168.75.0/24;
};
include "/etc/bind/rndc.key";
controls {
inet 127.0.0.1 allow {localhost; } keys { "rndc-key"; };
};
zone "shl.local" {
type master;
file "/etc/bind/shl.db";
allow-update { key "rndc-key"; };
notify yes;
};
zone "75.168.192.in-addr.arpa" {
type master;
file "/etc/bind/rev.75.168.192.in-addr.arpa";
allow-update { key "rndc-key"; };
notify yes;
};
Criar o arquivo .bd conforme o meu exemplo, shl.bd, lembrando que esse arquivo deve ter o mesmo nome daquele criado no named.conf.local:
$TTL 86400
@ IN SOA shl.local. root.shl.local. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
86400 ) ; Negative Cache TTL
@ IN NS Server.shl.local.
Server IN A 192.168.75.156
_kerberos._tcp.shl.local. IN SRV 0 0 88 Server.shl.local.
_ldap._tcp.shl.local. IN SRV 0 0 389 Server.shl.local.
_kpasswd._udp.shl.local. IN SRV 0 0 464 Server.shl.local.
6. Criar o arquivo
rev.75.168.192.in-addr.arpa com os registros, saliento mais uma vez, que este arquivo deve ter o mesmo nome e caminho daquele configurado no
name.conf.local:
;
; BIND reverse data file for broadcast zone
;
$TTL 604800
@ IN SOA Server.shl.local. root.shl.local. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS Server.shl.local.
1 IN PTR Server.shl.local.
7. Criar o arquivo para gerenciar a chave gerada pelo BIND 9:
# touch /var/cache/bind/managed-keys.bind
# chown bind:bind /var/cache/bind/managed-keys.bind
8. Para terminar a configuração do DNS, devemos editar o arquivo
name.conf.default-zones, acrescentando as seguintes linhas:
# vi /etc/bind/named.conf-default-zones
view "external" {
match-clients { any; };
recursion yes;
};
Temos acima o arquivo do BIND, com os registros necessários, que são os servidores Kerberos e LDAP principalmente. Colocamos nosso servidor a utilizar o DNS da rede interna somente quem possuir a chave secreta, o que nos dá um pouco mais de segurança.
Não esqueça de reiniciar o servidor BIND e verificar os logs. Caso haja algum erro, você deve corrigi-los, pois os serviços do Samba 4 são altamente dependentes de um DNS bem configurado.
Para testar os serviços, basta digitar os seguintes comandos, e as saídas serão essas que estão exibidas abaixo. Caso não apareça estas informações, verificar o servidor DNS e verificar todos os passos até aqui:
# nslookup Server.shl.local
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: Server.shl.local
Address: 192.168.75.156
# dig -t srv _kerberos._tcp.shl.local +short
0 0 88 Server.shl.local.
# dig -t srv _ldap._tcp.shl.local +short
0 0 389 Server.shl.local.
# dig -t srv _kpasswd._udp.shl.local +short
0 0 464 Server.shl.local.
# dig Server.shl.local +short
192.168.75.156
Servidor DHCP
Definiremos qual interface o servidor DHCP vai escutar editando o arquivo, utilize conforme a interface do servidor:
# vi /etc/default/isc-dhcp-server
INTERFACES="eth0"
# mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.old
# touch /etc/dhcp/dhcpd.conf
# vi /etc/dhcp/dhcpd.conf
authoritative;
server-identifier 192.168.75.156;
ignore client-updates;
subnet 192.168.75.0 netmask 255.255.255.0{
range 192.168.75.20 192.168.75.220;
option subnet-mask 255.255.255.0;
default-lease-time 604800;
max-lease-time 2592000;
option broadcast-address 192.168.75.255;
option routers 192.168.75.2;
option domain-name-servers 192.168.75.156;
option domain-name "shl.local";
option netbios-name-servers 192.168.75.156;
option netbios-node-type 8;
}
ddns-updates on;
update-static-leases on; #clientes com IP estático estão incluídas nas atualizações
ddns-update-style interim;
ddns-domainname "shl.local";
ddns-rev-domainname "in-addr.arpa.";
include "/etc/bind/rndc.key";
zone shl.local {
primary 192.168.75.156;
key rndc-key;
}
zone 75.168.192.in-addr.arpa. {
primary 192.168.75.156;
key rndc-key;
}
# IP fixo do PDC
host Server {
hardware ethernet 00:0c:29:fa:3c:55;
fixed-address 192.168.75.156;
};
Conceder permissão na pasta do BIND, para o DHCP escrever nela:
# chmod 755 /etc/bind
Não colocarei as descrições das linhas, pois existem milhares de tutoriais de implementação do serviço de DHCP no Debian.