Konfiguracja BIND9 z dynamiczną rejestracją hosta
Kategoria: Systemy Linux | Autor: P S
Opublikowano: 11.12.2025 09:12 | Ostatnia modyfikacja: 11.12.2025 09:12
Zakładając, że korzystasz z dystrybucji opartej na Debianie lub Ubuntu, możesz zainstalować całe potrzebne oprogramowanie za pomocą:
apt update apt upgrade apt install isc-dhcp-server bind9 bind9utils
Domyślny adres IP bramy: 192.168.101.1
ISP / Zewnętrzne serwery DNS: 62.21.99.94
Wewnętrzna nazwa DNS: INFOMATRIX.LOCAL
Generowanie bezpiecznego klucza do komunikacji między usługami BIND9 i ISC-DHCP-SERVER
rndc-confgen -a
Plik rndc.key zostanie zapisany w lokalizacji: /etc/bind/rndc.key
chmod 660 /etc/bind/rndc.key chown root:bind /etc/bind/rndc.key
Teraz zmień uprawnienia do pliku, aby tylko root i bind mogli go odczytać. Dodatkowo kopiujemy ten plik do lokalizacji: /etc/dhcp/ddns-keys
Konfiguracja protokołu DHCP
Modyfikujemy plik konfiguracyjny: /etc/dhcp/dhcpd.conf
authoritative;
default-lease-time 14400;
max-lease-time 18000;
log-facility local7;
ddns-domainname "infomatrix.local.";
ddns-rev-domainname "in-addr.arpa.";
ddns-update-style standard;
allow unknown-clients;
update-static-leases on;
use-host-decl-names on;
option domain-name "infomatrix.local.";
include "/etc/dhcp/rndc.key";
update-optimization off;
update-conflict-detection off;
zone infomatrix.local. {
primary 192.168.101.1;
key rndc-key;
}
zone 101.168.192.in-addr.arpa. {
primary 192.168.101.1;
key rndc-key;
}
subnet 192.168.101.0 netmask 255.255.255.0 {
range 192.168.101.20 192.168.101.200;
option subnet-mask 255.255.255.0;
option routers 192.168.101.1;
option domain-name-servers 192.168.101.1;
}
Do sprawdzenia poprawności konfiguracji wykonaj polecenie:
dhcpd -t
Jeżeli nie zobaczymy żadnych ostrzeżeń i błędów, konfiguracja serwera dhcp powinna być poprawna.
Konfiguracja BIND9 z dynamicznym DNS
Pliki konfiguracyjne programu BIND są podzielone na wiele różnych, mniejszych plików. Przyjrzymy się każdemu plikowi, pojedynczo:
/etc/bind/named.conf.local
zone "infomatrix.local" {
type master;
file "/var/lib/bind/db.infomatrix.local";
allow-update { key rndc-key; };
};
zone "101.168.192.in-addr.arpa" {
type master;
notify no;
file "/var/lib/bind/db.101.168.192";
allow-update { key rndc-key; };
};
/etc/bind/named.conf.options
include "/etc/bind/rndc.key";
acl internals {
127.0.0.1;
192.168.101.0/24;
};
options {
directory "/var/cache/bind";
forwarders {
62.21.99.94;
62.21.99.95;
};
allow-query {
internals;
};
allow-query-cache {
internals;
};
recursion yes;
allow-recursion {
internals;
};
allow-transfer {
internals;
};
listen-on-v6 { any; };
auth-nxdomain no;
};
Aby sprawdzić konfigurację, uruchom następujące polecenie:
named-checkconf
Tworzymy pliki ze strefami.
db.infomatrix.local
;
; BIND reverse data file for broadcast zone
;
$TTL 604800
@ IN SOA ns.infomatrix.local. root.infomatrix.local. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.ti.local.
@ IN A 192.168.101.1
ns IN A 192.168.101.1
srv1 IN A 192.168.101.1
vm1 IN A 192.168.101.27
srv2 IN A 192.168.101.2
db.101.168.192
;
; BIND reverse data file for broadcast zone
;
$TTL 604800
@ IN SOA ns.infomatrix.local. root.infomatrix.local. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.
1 IN PTR srv1.infomatrix.local.
27 IN PTR vm1.infomatrix.local.
2 IN PTR srv2.infomatrix.local.
Aby sprawdzić strefy, musimy uruchomić polecenie dla każdej strefy:
named-checkzone infomatrix.local /var/lib/bind/db.infomatrix.local
named-checkzone 101.168.192.in-addr.arpa /var/lib/bind/db.101.168.192
Na koniec możemy zrestartować usługi bind9 i isc-dhcp-server. W przypadku problemów należy sprawdzić logi systemowe -> /var/log/syslog