Installasjon av ISC Kea DHCP Server
Først fiks deteksjon av Python-3.12 av byggesystemet:
sed -e 's/:3/:4/' \
-i configure
Fjern ett installasjonstrinn som bruker en utdatert pythonmodul:
sed -e '/dlist="/d' \
-i src/bin/shell/Makefile.in
Installer ISC Kea DHCP Server ved
å kjøre følgende kommandoer:
./configure --prefix=/usr \
--sysconfdir=/etc \
--docdir=/usr/share/doc/kea-2.4.1 \
--localstatedir=/var \
--enable-shell \
--with-openssl \
--disable-static \
--docdir=/usr/share/doc/kea-2.4.1 &&
make
For å teste resultatene må du ha installert GoogleTest og beholdt
dens kilde. Du burde også ha sendt --with-gtest-source=/path/to/googletest/sourcedir
til configure
ovenfor. Kjør testene med make
check. Tre tester i TLSTest pakken er kjent for å
mislykkes.
For å installere ISC Kea DHCP
Server pakken, utsted følgende kommandoer som root
bruker:
make -j1 install
Parameterforklaringer
--enable-shell
: Tillater
bygging av kea-shell,
et kommandolinjegrensesnitt for kontrollagenten.
--with-openssl
: Tillater
bruk av OpenSSL for å kommunisere med kontrollagenten og for
DNS-oppdateringer.
--disable-static
: Denne
bryteren forhindrer installasjon av statiske versjoner av
bibliotekene.
--with-pgsql
or --with-mysql
: ISC
Kea kan lagre leiekontraktene på en database. Dette kan være
nyttig i store miljøer som kjører en klynge med DHCP servere. Å
bruke memfile bakstykket
(som er en CSV fil som er lagret lokalt) er mulig uansett.
--enable-generate-docs
: Hvis
dokumentasjonen skal gjenoppbygges, legg til dette alternativet.
Flere avhengigheter må installeres for å generere dokumentasjonen.
make -j1 install::
ISC anbefaler ikke noen form for parallell eller jobbserver
alternativer når du utfører installasjonen.
Konfigurere ISC Kea DHCP Server
Støtte for IPv4, IPv6 og DDNS er delt inn i separate servere som
kjører uavhengig av hverandre. Hver av dem har sin egen
konfigurasjonsfil.
Rådfør deg med Kea Administrator
Reference Manual for detaljert informasjon om konfigurasjonen
av ISC Kea siden det er et ganske
kapabelt system. Konfigurasjonen vist nedenfor er et minimum for å
få en DHCP server kjørende, men den inkluderer allerede
konfigurasjon for DDNS (dynamisk DNS). Det oppsettet fungerer
kanskje for små nettverk med noen få klienter og lite trafikk. For
større installasjoner med tusenvis av kunder, ISC Kea kan konfigureres til å bruke databaser
(mariadb eller postgresql) for å lagre leiekontraktene og bygge en
klynge med flere noder. Den kan integreres til ISC Stork som er
et administrasjonsdashbord til ISC
Kea.
Hvis du vil starte DHCP serveren ved oppstart, installer
kea-dhcpd.service
enheten inkludert i
blfs-systemd-units-20240205 pakken:
make install-kea-dhcpd
Konfigurasjonsfiler
/etc/kea/kea-ctrl-agent.conf
,
/etc/kea/kea-dhcp4.conf
,
/etc/kea/kea-dhcp6.conf
, og
/etc/kea/kea-dhcp-ddns.conf
Kea
konfigurasjon ved hjelp av Systemd enheter
Fire tjenesteenheter brukes til å starte forskjellige nisser
levert av Kea:
-
Kontrollagent
Kontrollagenten er en nisse som tillater (om)konfigurering
av Kea DHCP tjenesten via REST API. Kjør systemctl enable
kea-ctrl-agent hvis denne nissen er
nødvendig.
-
IPv4 DHCP server
Denne nissen håndterer forespørsler om IPv4 adresser. Kjør
systemctl enable
kea-dhcp4-server for å ha det startet med
systemd.
-
IPv6 DHCP server
Denne nissen håndterer forespørsler om IPv6 adresser. Kjør
systemctl enable
kea-dhcp6-server for å ha det startet med
systemd.
-
Dynamisk DNS
Denne nissen brukes til å oppdatere en DNS server dynamisk
når Kea tildeler en IP adresse til en enhet. Kjør
systemctl enable
kea-ddns-server for å ha det startet med
systemd.
Netconf tjenesten er ikke installert fordi nødvendige
avhengigheter dekkes ikke av gjeldende BLFS bok.
Kontrollagentkonfigurasjon
Den oppgitte konfigurasjonen kan brukes uten endringer, men i
BLFS er objekter som sockets lagret i /run
heller enn i /tmp
.
cat > /etc/kea/kea-ctrl-agent.conf << "EOF"
// Begin /etc/kea/kea-ctrl-agent.conf
{
// This is a basic configuration for the Kea Control Agent.
// RESTful interface to be available at 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
}
]
}
}
// End /etc/kea/kea-ctrl-agent.conf
EOF
IPv4 DHCP
Server Konfigurasjon
En eksempelkonfigurasjonsfil opprettes i /etc/kea/kea-dhcp4.conf
. Juster filen slik at
den passer dine behov eller overskriv den ved å kjøre følgende
kommando som root
bruker (du må
redigere denne filen uansett: minst interfaces feltet, ddns-qualifying-suffix feltet, og
nesten alle feltene i Subnet4:
cat > /etc/kea/kea-dhcp4.conf << "EOF"
// Begin /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
}
]
}
}
// End /etc/kea/kea-dhcp4.conf
EOF
IPv6 DHCP
Server Konfigurasjon
Konfigurasjonen for IPv6 er lik konfigurasjonen av IPv4.
Konfigurasjonsfilen er /etc/kea/kea-dhcp6.conf
.
Dynamisk DNS konfigurasjon
Hvis det er en BIND-9.18.24 server som kjører, ISC Kea kan oppdatere DNS når det gir en IP
adresse til en klient. En eksempelkonfigurasjon fil er opprettet
i /etc/kea/kea-dhcp-ddns.conf
.
Juster filen slik at den passer dine behov eller overskriv den
ved å kjøre følgende kommando som root
bruker:
cat > /etc/kea/kea-dhcp-ddns.conf << "EOF"
// Begin /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
}
]
}
}
// End /etc/kea/kea-dhcp-ddns.conf
EOF
Note
Verdien av secret
er bare et
eksempel. Generer nøkkelen for installasjonen din ved å bruke
rndc-confgen -a
kommandoen eller tsig-keygen kommandoen som
begge er levert av BIND-9.18.24.
I denne eksempelkonfigurasjonen antas det at DNS serveren
kjører på samme maskin som Kea gjør (tilgjengelig via
127.0.0.1
) og at denne maskinen
har IP 192.168.56.2
.