Por: @jonasc
Publicado em: 2019-08-16
Kea DHCP DDNS
Update de host dinâmico DNS para clientes DHCP.
Topologia
Para o ambiente foi utilizado 2 servidores e 1 cliente:
- lab_ddns_dhcp01: Servidor iTFLEX v3 com DHCP (Kea)
- lab_ddns_dhcp02: Servidor iTFLEX v2 com DNS (Bind)
- lab_ddns_dhcp03: Cliente de DHCP (Windows)
Pacotes necessários
Módulo dhcp_enabled
para o servidor v3 e bind9
para o servidor v2.
Instalação
Provisionar um servidor iTFLEX v3 com DHCP.
Instalar o bind no servidor iTFLEX v2:
yum install itflex-bind
Configuração do Servidor DNS
Para que o update de DNS seja feito de maneira segura, é necessário gerar uma chave TSIG através do comando abaixo.
rndc-confgen -a -c /etc/named/rndc.key -k rndckey
O serviço de DNS deve ter permissão para leitura da chave.
chown root:named /etc/named/rndc.key
chmod 660 /etc/named/rndc.key
Crie as zonas de DNS interna e reversa em /etc/named.conf
, autorizando update para a chave gerada acima.
include "/etc/named/rndc.key";
// DNS Reverso LAN
zone "45.122.10.in-addr.arpa" {
type master;
file "zones/reverse.lan.arpa";
notify yes;
allow-transfer { localhost; rfc-1918; };
allow-query { localhost; rfc-1918; };
allow-update { key "rndckey"; };
};
// Zona DNS Interno
zone "desktop.labddns.local" {
type master;
file "zones/dominio.lan";
notify yes;
allow-transfer { localhost; rfc-1918; };
allow-query { localhost; rfc-1918; };
allow-update { key "rndckey"; };
};
Crie o arquivo de zona do domínio em /var/named/zones/dominio.lan
$TTL 43200
@ IN SOA fw.desktop.labddns.local. sysadmin.desktop.labddns.local. (
2011010101 ; serial
3600 ; refresh
900 ; retry
1209600 ; expire
43200 ; default_ttl
)
@ IN MX 4 mx1.desktop.labddns.local.
@ IN NS ns1.desktop.labddns.local.
@ IN A 10.122.45.250
localhost IN A 127.0.0.1
fw IN A 10.122.45.250
ns1 IN A 10.122.45.250
mx1 IN A 10.122.45.250
mail IN A 10.122.45.250
proxy IN CNAME fw
pop IN CNAME mail
smtp IN CNAME mail
pop3 IN CNAME mail
www IN CNAME mail
Crie o arquivo de zona reversa em /var/named/zones/reverse.lan.arpa
$TTL 43200
@ IN SOA ns1.desktop.labddns.local. sysadmin.desktop.labddns.local. (
2011010101 ; serial
3600 ; refresh
900 ; retry
1209600 ; expire
43200 ; default_ttl
)
@ IN NS ns1.desktop.labddns.local.
250 IN PTR fw.desktop.labddns.local.
Verifique se as configurações do Bind estão corretas e reinicie o serviço de DNS.
named-checkconf -z
systemctl restart named
O servidor de DNS está pronto para receber updates de DNS!
Configuração do Servidor DHCP
Cadastre um escopo de DHCP comum no servidor v3 e aplique as configurações.

A partir deste ponto, não utilize mais o gerenciamento web do servidor para que as configurações de laboratório não sejam perdidas.
Configuração do DHCP para update DNS
O principal serviço do Kea é o kea-dhcp4. Para suportar o update de DNS, será necessário integrá-lo com o serviço kea-dhcp-ddns. Por padrão, o serviço kea-dhcp4 conecta-se com kea-dhcp-ddns via localhost na porta 53001.
Respeitando a sintaxe do JSON edite /etc/kea/kea.conf
, adicionando o item “dhcp-ddns” dentro de “Dhcp4” para habilitar o update de DNS no serviço de DHCP.
"Dhcp4": {
"dhcp-ddns": {
"enable-updates": true,
"override-client-update": true,
"override-no-update": true,
"qualifying-suffix": "desktop.labddns.local"
},
# ...
}
Configure o serviço kea-dhcp-ddns no mesmo arquivo de configuração /etc/kea/kea.conf
adicionando o dicionário de configurações DhcpDdns
. A configuração básica define:
-
IP e porta do serviço kea-dhcp-ddns
-
Chave TSIG para autenticação (copie a chave gerada no servidor DNS)
-
Domínios configurados para updade de DNS:
-
Domínio
-
Chave de autenticação
-
Servidor DNS
{
"Dhcp4": {
# ...
},
"DhcpDdns":
{
"ip-address": "127.0.0.1",
"port": 53001,
"tsig-keys": [
{
"name": "rndckey",
"algorithm": "HMAC-MD5",
"secret": "IIGYCLRQ/WxpqSQpU7QsHQ=="
}
],
"forward-ddns" : {
"ddns-domains": [
{
"name": "desktop.labddns.local.",
"key-name": "rndckey",
"dns-servers": [
{
"hostname": "",
"ip-address": "10.122.45.250",
"port": 53
}
]
}
]
},
"reverse-ddns" : {
"ddns-domains": [
{
"name": "45.122.10.in-addr.arpa.",
"key-name": "rndckey",
"dns-servers": [
{
"hostname": "",
"ip-address": "10.122.45.250",
"port": 53
}
]
}
]
}
},
"Logging": {
# ...
}
}
Aplique as configurações dos serviços.
systemctl restart kea-dhcp4.service
systemctl start kea-dhcp-ddns.service
systemctl enable kea-dhcp-ddns.service
ATENÇÃO: Garanta que o horário dos servidores estejam sincronizados para que o update DNS seja realizado com sucesso!
Testes das funcionalidades
Conecte o cliente DHCP Windows na rede e valide o update de DNS.