|
Блог > Коментарі до замітки
Настройка DDNS + DHCPDНастройка DDNS + DHCPD
-------------------
Настройка динамичекого обновления DNS.
Для начала необходимо скачать версию dns и dhcpd сервера и установить их. Настройка проводилась на bind версии 9.2.0 и dhcpd версии 3.0, которые можно скачать с сайта www.isc.org
ftp://ftp.isc.org/isc/bind9/9.2.0/bind-9.2.0.tar.gz ftp://ftp.isc.org/isc/dhcp/dhcp-latest.tar.gz
(есть уже более новые версии)
Необходимо определиться с теми сегментами(зонами) что необходимо динамически обновлять. Например есть сегмент с адрессами 192.168.10.x, это наш локальный сегмент в котором необходимо динамически обновлять адресса и соответственно заносить в базу данных dns.
Настройки dhcpd.conf должны выглядить следующим образом
option domain-name "test"; # имя домена, можно придумать любой свой например свой test option domain-name-servers server.test; # доменное имя dns сервера, # т.е dns имя сервера server.test =servername.domainname
ddns-update-style interim; # есть три вида обновление базы dns, я так понял что это более стандартный.
key DHCP_UPDATER { algorithm HMAC-MD5.SIG-ALG.REG.INT; secret mCzPGMAluZkO1LBIqEUQ4w==; } # Для того чтобы обновлять базу днс, необходимо создать секретный ключ, # чтобы затем только наш сервер dhcpd смог бы обновлять. # Если bind 9, то можно его создать командой # dnssec-keygen -a HMAC-MD5 -b 128 -n USER DHCP_UPDATER
zone test. { primary 127.0.0.1; key DHCP_UPDATER; }
zone 10.168.192.IN-ADDR.ARPA. { primary 127.0.0.1; key DHCP_UPDATER; }
# Указываем какая зона в Днс будет обновляться. # Обратите внимание на правильность написания зоны, "10.168.192.IN-ADDR.ARPA." # Если в сети несколько сегментов, то они также могут быть дописанны по аналогии ::::::
Дальнейшее описание сегмента стандартное, и уже описанно во многих статьях.
Вторым этапом настраиваем DNS, файл named.conf Подразумевается что сервер днс уже настроен и работает.
#--------------- Named.conf Добавляем след. строки в файл key DHCP_UPDATER { algorithm HMAC-MD5.SIG-ALG.REG.INT; secret mCzPGMAluZkO1LBIqEUQ4w==; }; # Эти строки полность соответствуют тому что добавили в dhcpd.conf 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; }; }; # Эти строки вставляются для протоколирования работы сервера. Взято из man dhcpd.conf # Предварительно необходимо создать файлы, которые указаны в оции file ":"
zone "10.168.192.in-addr.arpa" IN { type master; file "db.192.168.10"; allow-update { key DHCP_UPDATER; }; };
zone "test" { type master; file "db.test"; allow-update { key DHCP_UPDATER; }; notify no; };
# описание зон стандартное(описана прямая и обратная зона), единственно что # изменилось это key DHCP_UPDATER;, # т.е. этим мы указываем что зона обновляется через соответствующий ключ. Данные # ключ описан в dhcpd.conf и в named.conf ::::::::.. #---------------
После этого запускаем named и dhcpd и смотрим логи. Если все нормально то, в /var/state/dhcp/dhcpd.leases Появяться записи типа lease 192.168.10.141 { starts 1 2002/03/11 05:08:34; ends 4 2002/03/14 05:08:34; tstp 4 2002/03/14 05:08:34; binding state active; next binding state free; hardware ethernet 00:02:b3:3a:07:12; uid "\001\000\002\263:\007\035"; set ddns-rev-name = "141.10.168.192.in-addr.arpa."; set ddns-txt = "319ae94b9598cfef7c734894a5d6e5bbbf"; set ddns-fwd-name = "name.test"; client-hostname "name"; } а в файле описание зоны db.192.168.10 добавится строчка вида 141 PTR name.test. а в файле описание зоны db.test"; name A 192.168.10.141 TXT "319ae94b9598cfef7c734894a5d6e5bbbf"
Вроде все. Статья неполная, но тому кто уже настраивал dns и dhcpd будет легко понять. На самом деле лучше прочитать man dhcpd.conf, так как вся эта информация бралась оттуда.
========================= 2 ===========================
DHCP+DNS по шагам
Конечно, man dhcpd.conf всё покажет.. Но так быстрее ;-))
1. Сгенерировать ключ
[root@server ddns]# dnssec-keygen -a HMAC-MD5 -b 128 -n USER DHCP_UPDATER Kdhcp_updater.+157+46827 Посмотрим что он нам нагенерил:
[root@server ddns]# cat Kdhcp_updater.+157+46827.key DHCP_UPDATER. IN KEY 0 2 157 EgxIOyQglf4KAUF7lgu9yA== 2. Прописать в dhcpd.conf
ddns-update-style interim; authoritative; option netbios-scope ""; key DHCP_UPDATER { algorithm HMAC-MD5.SIG-ALG.REG.INT; secret EgxIOyQglf4KAUF7lgu9yA==; };
zone local.zone. { primary 127.0.0.1; key DHCP_UPDATER; }
zone 0.168.192.in-addr.arpa. { primary 127.0.0.1; key DHCP_UPDATER; } Задать время аренды побольше:
default-lease-time 604800; max-lease-time 1814400; /etc/named.conf
key DHCP_UPDATER { algorithm HMAC-MD5.SIG-ALG.REG.INT; secret EgxIOyQglf4KAUF7lgu9yA==; };
zone "local.zone" IN { type master; file "local.zone.db"; allow-update { key DHCP_UPDATER; }; };
zone "0.168.192.in-addr.arpa" IN { type master; file "192.168.0.db"; allow-update { key DHCP_UPDATER; }; }; Сделаем "рыбу" для прямой и реверсной зоны:
$ORIGIN . $TTL 86400 ; 1 day local.zone IN SOA ns.local.zone. postmaster.domain.org. ( 200216887 ; serial 28800 ; refresh (8 hours) 7200 ; retry (2 hours) 604800 ; expire (1 week) 86400 ; minimum (1 day) ) NS ns. $ORIGIN local.zone. ns A 192.168.0.202
$ORIGIN . $TTL 86400 ; 1 day 0.168.192.in-addr.arpa IN SOA ns.local.zone. postmaster.domain.org. ( 2001105141 ; serial 28800 ; refresh (8 hours) 14400 ; retry (4 hours) 3600000 ; expire (5 weeks 6 days 16 hours) 86400 ; minimum (1 day) ) NS ns. И попробуем динамическое обновление через nsupdate
; nsupdate -d [this file] key DHCP_UPDATER EgxIOyQglf4KAUF7lgu9yA== zone local.zone update add virtual 86400 A 192.168.0.105 send zone 0.168.192.in-addr.arpa update add 254 86400 PTR server.local.zone. send Должны появиться файлики .jnl. Подводные камни При chroot-е обращать внимание на наличие нужных файлов в chroot-ed структуре Обращать внимание на владельца файлов зон Обращать внимание на точки в описании зон named-checkzone - её не зря придумали! ;-)
вівторок, 10.11.2009, zigzak
|
Останні замітки
|
|
||||