Installasjon av ISC Kea DHCP Server
Installer ISC Kea DHCP Server ved
å kjøre følgende kommandoer:
./configure --prefix=/usr \
--sysconfdir=/etc \
--docdir=/usr/share/doc/kea-2.4.0 \
--localstatedir=/var \
--enable-shell \
--with-openssl \
--disable-static &&
make
For å teste resultatene, utsted: make
check.
For å installere ISC Kea DHCP
Server pakken, utsted følgende kommandoer som root
bruker:
make -j1 install
Parameterforklaringer
--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. Ekstra konfigurasjonsfiler kommer fra keactrl
agenten som brukes til å kontrollere servere på en enkel måte.
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 viste et minimum for å få en DHCP
serveren til å kjøre, men den inkluderer allerede konfigurasjon for
DDNS (Dynamisk DNS). Det oppsettet fungerer kanskje for små
nettverk med få klienter og lite trafikk. For større installasjoner
med tusenvis av kunder, ISC Kea
kan konfigureres til å bruke databaser (mariadb eller postgresql)
til å lagre leiekontraktene og bygge en klynge med flere noder. Det
kan være integrert til ISC Stork som er et
administrasjons dashbord til ISC
Kea.
Hvis du vil starte DHCP serveren ved oppstart, installer
kea-dhcpd.service
enheten inkludert i
blfs-systemd-units-20230816 pakken:
make install-kea-dhcpd
Konfigurasjonsfiler
/etc/kea/keactrl.conf
, /etc/kea/kea-ctrl-agent.conf
, /etc/kea/kea-dhcp4.conf
, /etc/kea/kea-dhcp6.conf
og /etc/kea/kea-dhcp-ddns.conf
Kea
kontrollkonfigurasjon
keactrl brukes til
å kontrollere uavhengige servere (IPv4, IPv6, DDNS).
Konfigurasjonsfilen /etc/kea/keactrl.conf
er installert som
standard og inkluderer mange baneinnstillinger som er definert på
grunn av configure
ved byggetiden. Det inkluderer også innstillinger for å
spesifisere hvilken av serverne som skal være startet.
-
Kontrollagent
Kontrollagenten er en nisse som tillater (re)konfigurasjon
av Kea DHCP tjenesten via REST API. Sett ctrl_agent=yes
for å starte kontrollagent
(tjeneste som gir en REST API), sett ctrl_agent=no
i tilfelle kontrollagenten
ikke er nødvendig.
-
IPv4 DHCP server
Denne nissen håndterer forespørsler om IPv4 adresser. Sett
dhcp4=yes
for å starte den,
sett dhcp4=no
i tilfelle DHCP
tjeneste for IPv4 ikke er ønsket.
-
IPv6 DHCP server
Denne nissen håndterer forespørsler om IPv6 adresser. Sett
dhcp6=yes
for å starte den,
sett dhcp6=no
i tilfelle DHCP
tjeneste for IPv6 ikke er ønsket.
-
Dynamic DNS
Denne nissen brukes til å oppdatere en DNS server dynamisk
når Kea tildeler en IP adresse til en enhet. Sett
dhcp_ddns=yes
for å aktivere
det, sett dhcp_ddns=no
i
tilfelle dynamic DNS oppdateringer ikke er ønsket.
Netconf tjenesten er ikke installert fordi nødvendige
avhengigheter dekkes ikke av gjeldende BLFS bok.
Med følgende kommando vil Kea bli konfigurert til å starte dhcp
tjenesten for IPv4 og dynamisk DNS oppdatering, mens
kontrollagenten og dhcp tjenesten for IPv6 forblir nede. Juster
kommandoen til å matche dine behov på startet tjenester og utfør
som root
bruker:
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
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 å bruke følgende
eksempel som root
bruker:
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
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.18 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 å bruke følgende eksempel 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.18.
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
.