Instalação do Servidor DHCP Kea do ISC
Instale o Servidor DHCP Kea do ISC
executando os seguintes comandos:
./configure --prefix=/usr \
--sysconfdir=/etc \
--docdir=/usr/share/doc/kea-2.4.0 \
--localstatedir=/var \
--enable-shell \
--with-openssl \
--disable-static &&
make
Para testar os resultados, emita: make check.
Para instalar a suíte Servidor DHCP Kea
do ISC, emita os seguintes comandos como o(a) usuário(a)
root
:
make -j1 install
Explicações do Comando
--with-pgsql
ou --with-mysql
: O Kea do ISC consegue armazenar as concessões em
uma base de dados. Isso pode ser útil em ambientes grandes que
executam um cluster de servidores DHCP. Usar a estrutura de
retaguarda memfile (que é um
arquivo CSV armazenado localmente) é possível de qualquer maneira.
--enable-generate-docs
: Se
a documentação for para ser reconstruída, adicione essa opção.
Diversas dependências precisam estar instaladas para gerar a
documentação.
make -j1 install
: O ISC não
recomenda nenhuma forma de paralelismo ou opções de tarefa de
servidor ao fazer a instalação.
Configurando o Servidor DHCP Kea do ISC
O suporte de IPv4, IPv6 e DDNS foi dividido em servidores separados
que funcionam independentemente um do outro. Cada um deles tem o
próprio arquivo de configuração dele. Arquivos adicionais de
configuração vem do agente keactrl que é usado para controlar os
servidores de maneira fácil.
Consulte-se o Manual de Referência
do(a) Administrador(a) do Kea para informações detalhadas
acerca da configuração do Kea do
ISC, pois ele é um sistema bastante capaz. A configuração
mostrou o mínimo para colocar um servidor DHCP em execução, mas já
inclui configuração para DDNS (DNS Dinâmico). Essa configuração
pode funcionar para redes de intercomunicação pequenas com poucos
clientes e baixo tráfego. Para instalações maiores com milhares de
clientes, o Kea do ISC pode ser
configurado para usar bases de dados (mariadb ou postgresql) para
armazenar as concessões e construir um cluster com múltiplos nós.
Ele pode ser integrado ao Stork do ISC, que é um
painel de gerenciamento para o Kea do
ISC.
Se você quiser iniciar o Servidor DHCP na inicialização, instale
a unidade kea-dhcpd.service
incluída no pacote
blfs-systemd-units-20230816:
make install-kea-dhcpd
Arquivos de
Configuração
/etc/kea/keactrl.conf
, /etc/kea/kea-ctrl-agent.conf
, /etc/kea/kea-dhcp4.conf
, /etc/kea/kea-dhcp6.conf
e /etc/kea/kea-dhcp-ddns.conf
Configuração do
Controle do Kea
keactrl é usado
para controlar os servidores independentes (IPv4, IPv6, DDNS). O
arquivo de configuração dele, /etc/kea/keactrl.conf
, é instalado por padrão e
inclui muitas configurações de caminho que são definidas devido
ao configure ao
tempo da construção. Também inclui configurações para especificar
qual dos servidores deveria ser iniciado.
-
Agente de Controle
O Agente de Controle é um processo de segundo plano que
permite a (re)configuração do serviço DHCP do Kea via API
REST. Configure ctrl_agent=yes
para iniciar o agente de controle (serviço que fornece uma
API REST); configure ctrl_agent=no
caso o agente de controle
não seja necessário.
-
Servidor DHCP de IPv4
Esse processo de segundo plano lida com solicitações de
endereços IPv4. Configure dhcp4=yes
para iniciá-lo; configure
dhcp4=no
caso o serviço DHCP
para IPv4 não seja desejado.
-
Servidor DHCP de IPv6
Esse processo de segundo plano lida com solicitações de
endereços IPv6. Configure dhcp6=yes
para iniciá-lo; configure
dhcp6=no
caso o serviço DHCP
para IPv6 não seja desejado.
-
DNS Dinâmico
Esse processo de segundo plano é usado para atualizar um
servidor DNS dinamicamente quando Kea atribui um endereço
IP a um dispositivo. Configure dhcp_ddns=yes
para habilitá-lo; configure
dhcp_ddns=no
caso as
atualizações dinâmicas de DNS não sejam desejadas.
O serviço Netconf não é instalado porque as dependências exigidas
não são cobertas pelo atual livro do BLFS.
Com o seguinte comando, o Kea será configurado para iniciar o
serviço DHCP para IPv4 e a atualização dinâmica do DNS, enquanto
o agente de controle e o serviço DHCP para IPv6 permanecerão
inativos. Ajuste o comando para atender às tuas necessidades nos
serviços iniciados e execute como o(a) usuário(a) root
:
sed -e "s/^dhcp4=.*/dhcp4=yes/" \
-e "s/^dhcp6=.*/dhcp6=no/" \
-e "s/^dhcp_ddns=.*/dhcp_ddns=yes/" \
-e "s/^ctrl_agent=.*/ctrl_agent=no/" \
-i /etc/kea/keactrl.conf
Configuração do Agente de Controle
A configuração fornecida poderia ser usada sem mudanças, mas, no
BLFS, objetos como soquetes são armazenados em /run
em vez de em /tmp
.
cat > /etc/kea/kea-ctrl-agent.conf << "EOF"
// Inicia /etc/kea/kea-ctrl-agent.conf
{
// Esta é uma configuração básica para o Agente de Controle do Kea.
// Interface RESTful para estar disponível em http://127.0.0.1:8000/
"Control-agent": {
"http-host": "127.0.0.1",
"http-port": 8000,
"control-sockets": {
"dhcp4": {
"socket-type": "unix",
"socket-name": "/run/kea4-ctrl-socket"
},
"dhcp6": {
"socket-type": "unix",
"socket-name": "/run/kea6-ctrl-socket"
},
"d2": {
"socket-type": "unix",
"socket-name": "/run/kea-ddns-ctrl-socket"
}
},
"loggers": [
{
"name": "kea-ctrl-agent",
"output_options": [
{
"output": "/var/log/kea-ctrl-agent.log"
"pattern": "%D{%Y-%m-%d %H:%M:%S.%q} %-5p %m\n"
}
],
"severity": "INFO",
"debuglevel": 0
}
]
}
}
// Termina /etc/kea/kea-ctrl-agent.conf
EOF
Configuração
do Servidor DHCP de IPv4
Um arquivo de configuração de amostra é criado em /etc/kea/kea-dhcp4.conf
. Ajuste o arquivo para
atender às tuas necessidades ou sobrescreva-o usando a seguinte
amostra como o(a) usuário(a) root
:
cat > /etc/kea/kea-dhcp4.conf << "EOF"
// Inicia /etc/kea/kea-dhcp4.conf
{
"Dhcp4": {
// Add names of your network interfaces to listen on.
"interfaces-config": {
"interfaces": [ "eth0", "eth2" ]
},
"control-socket": {
"socket-type": "unix",
"socket-name": "/run/kea4-ctrl-socket"
},
"lease-database": {
"type": "memfile",
"lfc-interval": 3600
},
"expired-leases-processing": {
"reclaim-timer-wait-time": 10,
"flush-reclaimed-timer-wait-time": 25,
"hold-reclaimed-time": 3600,
"max-reclaim-leases": 100,
"max-reclaim-time": 250,
"unwarned-reclaim-cycles": 5
},
"renew-timer": 900,
"rebind-timer": 1800,
"valid-lifetime": 3600,
// Enable DDNS - Kea will dynamically update the DNS
"ddns-send-updates" : true,
"ddns-qualifying-suffix": "your.domain.tld",
"dhcp-ddns" : {
"enable-updates": true
},
"subnet4": [
{
"subnet": "192.168.56.0/24",
"pools": [ { "pool": "192.168.56.16 - 192.168.56.254" } ],
"option-data": [
{
"name": "domain-name",
"data": "your.domain.tld"
},
{
"name": "domain-name-servers",
"data": "192.168.56.2, 192.168.3.7"
},
{
"name": "domain-search",
"data": "your.domain.tld"
},
{
"name": "routers",
"data": "192.168.56.2"
}
]
}
],
"loggers": [
{
"name": "kea-dhcp4",
"output_options": [
{
"output": "/var/log/kea-dhcp4.log",
"pattern": "%D{%Y-%m-%d %H:%M:%S.%q} %-5p %m\n"
}
],
"severity": "INFO",
"debuglevel": 0
}
]
}
}
// Termina /etc/kea/kea-dhcp4.conf
EOF
A configuração para IPv6 é semelhante à configuração do IPv4. O
arquivo de configuração é /etc/kea/kea-dhcp6.conf
.
Configuração do DNS Dinâmico
Se existir um servidor BIND-9.18.18 executando, o Kea do ISC poderá atualizar o DNS quando
fornecer um endereço IP para um cliente. Um arquivo de
configuração de amostra é criado em /etc/kea/kea-dhcp-ddns.conf
. Ajuste o arquivo
para atender às tuas necessidades ou sobrescreva-o usando a
seguinte amostra como o(a) usuário(a) root
:
cat > /etc/kea/kea-dhcp-ddns.conf << "EOF"
// Inicia /etc/kea/kea-dhcp-ddns.conf
{
"DhcpDdns": {
"ip-address": "127.0.0.1",
"port": 53001,
"control-socket": {
"socket-type": "unix",
"socket-name": "/run/kea-ddns-ctrl-socket"
},
"tsig-keys": [
{
"name" : "rndc-key",
"algorithm" : "hmac-sha256",
"secret" : "1FU5hD7faYaajQCjSdA54JkTPQxbbPrRnzOKqHcD9cM="
}
],
"forward-ddns" : {
"ddns-domains" : [
{
"name" : "your.domain.tld.",
"key-name": "rndc-key",
"dns-servers" : [
{
"ip-address" : "127.0.0.1",
"port" : 53
}
]
}
]
},
"reverse-ddns" : {
"ddns-domains" : [
{
"name" : "56.168.192.in-addr.arpa.",
"key-name": "rndc-key",
"dns-servers" : [
{
"ip-address" : "127.0.0.1",
"port" : 53
}
]
}
]
},
"loggers": [
{
"name": "kea-dhcp-ddns",
"output_options": [
{
"output": "/var/log/kea-ddns.log",
"pattern": "%D{%Y-%m-%d %H:%M:%S.%q} %-5p %m\n"
}
],
"severity": "INFO",
"debuglevel": 0
}
]
}
}
// Termina /etc/kea/kea-dhcp-ddns.conf
EOF
Nota
O valor de secret
é apenas um
exemplo. Gere a chave para tua instalação usando o comando
rndc-confgen -a
ou o comando tsig-keygen, ambos fornecidos
por BIND-9.18.18.
Nessa configuração de amostra, presume-se que o servidor DNS
executa na mesma máquina que o Kea (acessível via 127.0.0.1
) e que essa máquina tenha o IP
192.168.56.2
.