Re: Fw: DNS

2003-01-06 Пенетрантность Daniel Ginsburg
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 360 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



Fw: DNS

2003-01-04 Пенетрантность Sav EM
День добрый.

 Настраивать динамические апдейты в винде и named.

 On Sat, Jan 04, 2003 at 08:43:03PM +0600, +Kenobi wrote:
  
  А что делать, если IP адреса клиентам раздает dhcp, то есть ip адреса
  непостоянны, что тогда и где прописывать?

Не уверен собраны ли named и dhcpd в woody с поддержкой DDNS.
если да, то исходники не нужны.
Я собираю из исходников при сборке смотрел
./configure --help на предмет --enable-ddns , это, если не ошибаюсь для
dhcpd нужно, чтоб он зону сам править мог.

в конфиге для dhcpd добавил:
...
ddns-updates on;
use-host-decl-names on;
...
ddns-update-style interim;
update-static-leases on;

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. Меняю только релизы с выходом
новых.

Удачи.