On Sun, Jan 05, 2003 at 10:35:31AM +0700, Sav EM wrote: > День добрый. > > > > Настраивать динамические апдейты в винде и named. > > > > On Sat, Jan 04, 2003 at 08:43:03PM +0600, +Kenobi wrote: > > > > > > > А что делать, если IP адреса клиентам раздает dhcp, то есть ip адреса > > > непостоянны, что тогда и где прописывать? > >
[...] Можно я немного попридираюсь? :) > в конфиге для dhcpd добавил: > ....... > ddns-updates on; > use-host-decl-names on; > ....... > ddns-update-style interim; > update-static-leases on; ^^^^^^^^^^^^^ Это необязательно. Статические назначения, IMO, лучше и проще нарисовать руками. > > zone XXX.XX.XXX. { > primary 127.0.0.1; #у меня ddns и dhcpd на одной машине > }; > zone xx.xx.xxx.in-addr.arpa { > primary 127.0.0.1; > }; > authoritative; > ............ > далее как обычно в dhcpd.conf > Эти декларации также необязательны. > для named.conf (у меня 9.хх - не помню уже точно какой) > в описании зоны, где твой ddns сервер - master надо сказать > allow-update {127.0.0.1;}; А также для обратной зоны. > это чтоб твой ddns разрешил твоему dhcpd править файл этой зоны > да ключей безопасности, которые поддерживают ddns и dhcpd, разграничение > доступа я не генерил, все идет по разграничению IP > > в итоге получаем, как только любая машина включается в сеть и получет IP от > dhcpd, то она прописывается в ddns, за этим следит сам dhcpd. > Подобная связка живет у меня уже года 3-4. Меняю только релизы с выходом > новых. > Добавлю еще немного: При апдейтах named переписывает файлы зон, теряя комментарии, форматирование и проч., и редактировать их становится очень неудобно. Я препочитаю иметь отдельные зоны для динамических клиентов, отводя для этого домены вида dyna.local, например. То же самое с обратной зоной. Тут все насколько сложнее, если для динамаческих клиентов выделен диапазон, скажем, 10.0.0.128-10.0.0.254, при этом в диапазоне 10.0.0.1-10.0.0.127 живут хосты со статически назначенными адресами. Тут можно воспользоваться идеей из RFC2317. Т.е. в зоне 0.0.10.in-addr.arpa. сформировать записи вида xxx CNAME xxx.0.0.10.dyna-rev.local. и заставить dhcpd регистрировать обратные адресные соответствия в зоне dyna-rev.local вместо in-addr.arpa. Вот пример конфигурации. named.conf: zone "dyna-rev.local" { type master; allow-update { 127.0.0.1; }; file "db/dyna-rev.local"; }; zone "dyna.local" { type master; allow-update { 127.0.0.1; }; file "db/dyna.local"; }; db/0.0.10.in-addr.arpa: @ IN SOA myns.local root.myns.local. ( 2003010601 3600 90 3600000 3600 ) IN NS myns.local. 1 IN PTR myns.local. 2 IN PTR static1.local. 3 IN PTR static2.local. ; 10.0.0.128-254 - range for DHCP configured hosts $GENERATE 128-254 $ CNAME $.0.0.10.dyna-rev.local. ^^^^^^^^ Вот это вот умеет 9-ый bind и последние версии 8-го, если Ваш 8-й named этого не умеет, то его стоит проапгрейдить. Не из-за замечательной фичи GENEGATE, а из-за того, что давно пора ;) Файл db/dyna.local совершенно ничем не примечателен, поэтому я его не привожу. dhcpd.conf: subnet 10.0.0.0 netmask 255.255.255.0 { range 10.0.0.128 10.0.0.254; ddns-hostname = pick (option fqdn.hostname, option host-name,concat ("dhcp-",binary-to-ascii (10, 8, "-", leased-address))); ^^^^^ По поводу этого безобразия см. ниже. option host-name = config-option server.ddns-hostname; ddns-domainname "dyna.local"; ddns-rev-domainname "dyna-rev.local"; ^^^^^^ Вот это заставит dhcpd регистрировать обратные имена xx.xx.xx.xx.dyna-rev.local вместо xx.xx.xx.xx.in-addr.arpa. # тут всякие разные опции. добавить по вкусу. } Для чего там эта странная конструкция? Однажды я с удивлением обнаружил, что некоторые хосты не отдают своего hostname в dhcp диалоге. Если dhcpd не будет знать имени хоста, то не станет формировать ddns апдейта. Этим, например, страдает dhcp-client из woody (pump ведет себя более человечно). Безусловно, dhcp-client можно научить сообщать hostname, вписав send host-name "myhostname"; в /etc/dhclient.conf, но за всеми не уследишь. Вот та самая конструкция формирует некоторое имя по-умолчанию. Например, если хост получивший адрес 10.0.0.128 не сообщил своего имени, то он будет зарегистрирован под именем dhcp-10-0-0-128. -- dg