====== DNS + DHCP ======
Генерируем ключ:
# dnssec-keygen -a HMAC_MD5 -b 128 -n USER DHCP_UPDATER
# ll K*
-rw------- 1 root wheel 54B 5 дек 16:07 Kdhcp_updater.+157+28324.key
-rw------- 1 root wheel 165B 5 дек 16:07 Kdhcp_updater.+157+28324.private
# cat Kdhcp_updater.+157+28324.key
DHCP_UPDATER. IN KEY 0 3 157 TkFlLh/62W/JXFhrdJknzA==
# cat Kdhcp_updater.+157+28324.private
Private-key-format: v1.3
Algorithm: 157 (HMAC_MD5)
Key: TkFlLh/62W/JXFhrdJknzA==
Bits: AAA=
Created: 20131205050716
Publish: 20131205050716
Activate: 20131205050716
Что то сгенерировалось.
Теперь правим dhcpd.conf
# dhcpd.conf
#
# Sample configuration file for ISC dhcpd
#
# option definitions common to all supported networks...
option domain-name "pu51.alx";
option domain-name-servers 192.168.0.254;
option routers 192.168.0.254;
option broadcast-address 192.168.0.255;
option netbios-name-servers 192.168.0.254;
option netbios-node-type 8;
option ntp-servers 192.168.0.254;
option local-pac-server code 252 = text;
option local-pac-server "http://wpad.pu51.alx/wpad.dat";
default-lease-time 432000;
max-lease-time 432000;
ddns-updates on;
update-static-leases on;
ddns-domainname "pu51.alx";
# Use this to enble / disable dynamic dns updates globally.
#ddns-update-style none;
ddns-update-style interim;
# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
authoritative;
# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
log-facility local7;
# Наш ключ
key DHCP_UPDATER {
algorithm hmac-md5;
secret "TkFlLh/62W/JXFhrdJknzA==";
};
zone pu51.alx. {
primary 127.0.0.1;
key DHCP_UPDATER;
}
zone 0.168.192.in-addr.arpa. {
primary 127.0.0.1;
key DHCP_UPDATER;
}
###
### do windows-style proxy autoconfig:
### option local-proxy-config code 252 = text;
### ...
### subnet 192.168.0.0 netmask 255.255.255.0 {
### range 192.168.0.20 192.168.0.30;
### ...
### option local-proxy-config "http://www.example.org/proxy.pac";
### }
###
subnet 192.168.0.0 netmask 255.255.255.0 {
# range 192.168.0.200 192.168.0.210;
}
###################
#
# SERVER
#
host p92 {
hardware ethernet 60:a4:4c:cd:45:ec;
fixed-address 192.168.0.1;
}
Тепрь named.conf Начало конфига пропущу :) оно не интересно и стандартно. Обратите внимание, где лежат зоны динамического обновления... Они лежат там, где надо: в каталоге **dynamic** Именно в этот каталог демон **named** имеет разрешение на запись.
# Наш ключ
key "DHCP_UPDATER" {
algorithm hmac-md5;
secret "TkFlLh/62W/JXFhrdJknzA==";
};
zone "pu51.alx" {
type master;
file "../dynamic/pu51.alx";
allow-update { key "DHCP_UPDATER"; };
notify no;
};
zone "0.168.192.in-addr.arpa" {
type master;
file "../dynamic/pu51.alx.rev";
allow-update { key "DHCP_UPDATER"; };
notify no;
};
key "rndc-key" {
algorithm hmac-md5;
secret "9TrwQ0RDBGuEUgyU1vFtAQ==";
};
controls {
inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndc-key"; };
};
logging {
channel update_debug {
file "/var/log/named-update.log";
severity debug 3;
print-category yes;
print-severity yes;
print-time yes;
};
channel security_info {
file "/var/log/named-auth.log";
severity info;
print-category yes;
print-severity yes;
print-time yes;
};
category update { update_debug; };
category security { security_info; };
};
Заглянем в каталог **dynamic**:
# ll dynamic/
total 24
-rw-r--r-- 1 bind wheel 2,0k 19 дек 12:09 pu51.alx
-rw-r--r-- 1 bind wheel 6,4k 19 дек 11:55 pu51.alx.jnl
-rw-r--r-- 1 bind wheel 1k 20 дек 10:04 pu51.alx.rev
-rw-r--r-- 1 bind wheel 7k 20 дек 09:51 pu51.alx.rev.jnl
Видим, что в каталоге появились файлы журнала: **.jnl** - у нас все работает. Кроме того, если мы заглянем в файлик **pu51.alx** то увидим там динамически добавленные записи.