MAD » 11 ноя 2009, 23:22
То, что меня интересовало, выглядит так (может, пригодится кому-нибудь ещё):
Настраиваем DNS и DHCP:
Редактируем файл named.conf (в примере я оставил только нужное, убрав всё лишнее):
options {
directory "/etc/namedb";
pid-file "/var/run/named/pid";
dump-file "/var/dump/named_dump.db";
statistics-file "/var/stats/named.stats";
listen-on { 192.168.0.1; };
};
zone "." { type hint; file "named.root"; };
zone "home.local" {
type master;
file "master/home.local";
};
zone "0.168.192.in-addr.arpa" {
type master;
file "master/home.local.rev";
};
создаём файлы зон (прямой и обратный) домена
Редактируем файл dhcpd.conf:
option domain-name "home.local";
option domain-name-servers 192.168.0.1;
default-lease-time 3600;
max-lease-time 7200;
authoritative;
ddns-update-style none;
log-facility local7;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.2 192.168.0.100;
option routers 192.168.0.1;
}
Для настройки DNS+DHCP генерируем ключ
# dnssec-keygen -a HMAC-MD5 -b 128 -n USER DHCP_UPDATER
Полученный ключ добавляем в конфиг
Правим named.conf :
options {
directory "/etc/namedb";
pid-file "/var/run/named/pid";
dump-file "/var/dump/named_dump.db";
statistics-file "/var/stats/named.stats";
listen-on { 192.168.0.1; };
};
key DHCP_UPDATER {
algorithm hmac-md5;
secret "sqROqb9q0/NiAim/qVvJEA==";
};
zone "." { type hint; file "named.root"; };
zone "home.local" {
type master;
allow-update { key DHCP_UPDATER; };
file "master/home.local";
};
zone "0.168.192.in-addr.arpa" {
type master;
allow-update { key DHCP_UPDATER; };
file "master/home.local.rev";
};
Правим dhcpd.conf:
option domain-name "home.local";
option domain-name-servers 192.168.0.1;
default-lease-time 3600;
max-lease-time 7200;
authoritative;
ddns-update-style interim;
log-facility local7;
key DHCP_UPDATER {
algorithm hmac-md5;
secret "sqROqb9q0/NiAim/qVvJEA==";
}
zone home.local. {
primary 192.168.0.1;
key DHCP_UPDATER;
}
zone 0.168.192.in-addr.arpa. {
primary 192.168.0.1;
key DHCP_UPDATER;
}
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.2 192.168.0.100;
option routers 192.168.0.1;
}
Это все можно найти в man. Проблема состояла в том, что после этого DNS все равно не обновлялась. Владелец /var/named был root, а DNS запускается под учетной записью bind. Сменил владельца, но после перезагрузки владельцем снова становился root. Решением проблемы было редактирования файла /etc/mtree/BIND.chroot.dist
/set type=dir uname=root gname=wheel mode=0755
root сменил на bind, после этого DNS стал обновляться.