[Sysadmins] Маленький dns

Dmitry Lebkov dima на sakhalin.ru
Сб Ноя 3 05:17:12 MSK 2007


Michael Shigorin пишет:
> On Tue, Oct 30, 2007 at 10:21:10AM +1000, Dmitry Lebkov wrote:
>>> С bind9 и dhcpd3 всё далеко не радужно выходит
>> Миш, позволь с тобой не согласиться. ;) Все вполне себе
>> радужно.  Триплеты в живут одном месте - в конфиге
>> dhcp-сервера. Прямые/обратные зоны обновляает опять же dhcp.
>> Всё работает в таком виде уже достаточно давно. %)
> 
> Ну опиши, а то у меня в последний раз от ddns осталось очень
> неприятное послевкусие.  Возможно, вызванное dhcpd, пропатченным
> ходить в openldap, что приводило к феерическим эффектам...
> (добрый eostapets@ в своё время прикручивал, а мне потом довелось
> откручивать взад)

А чего тут описывать? %) Ниже выжимка из работающего конфига:

--- dhcpd.conf ---

ddns-update-style interim;
deny client-updates;
update-static-leases true;
authoritative;

shared-network VLAN0002 {
   deny bootp;
   deny duplicates;
   subnet 192.168.2.0 netmask 255.255.255.0 {
     option domain-name "lan";
     option domain-name-servers 192.168.254.254, 192.168.253.254;
     option routers 192.168.2.254;
     option broadcast-address 192.168.2.255;
     default-lease-time 36000;
     max-lease-time 72000;

     # dynamic updates
     ddns-updates on;
     ddns-domainname "dpt.lan";
     ddns-rev-domainname "in-addr.arpa";
     deny client-updates;

     key ns1.lan { algorithm hmac-md5; secret "<GENERATED-SECRET-KEY>"; };
     zone dpt.lan. { primary 192.168.254.254; key ns1.lan; }
     zone 2.168.192.in-addr.arpa. { primary 192.168.254.254; key ns1.lan; }

     host dpt-002-001 {
      fixed-address 192.168.2.1;
      hardware ethernet 00:60:B0:70:2D:8A;
      ddns-hostname "dpt-host1";
     }

     pool {
       range 192.168.2.100 192.168.2.200;
       allow unknown clients;
       allow known clients;
     }
   }
}
--- dhcpd.conf ---

В конфиге bind9 описаны зоны:

zone "dpt.lan" {
         type master;
         file "dpt.lan";
         allow-query { LAN; };
         allow-transfer { SLAVES_INT; };
         allow-update { key ns1.lan; };
};
zone "2.168.192.in-addr.arpa" {
         type master;
         file "192.168/002";
         allow-query { LAN; };
         allow-transfer { SLAVES_INT; };
         allow-update { key ns1.lan; };
};

ну и присутствует тот же key ns1.lan.

И всё. Для хостов, прописанных в dhcpd.conf, в зоны dpt.lan и
2.168.192.in-addr.arpa dhcpd посылает bind'у апдэйты, содержащие
ddns-hostname. Для win-хостов, получивших адреса из пула, в зоны
заносятся имена, которые сообщает клиент.

>>> а если в качестве попытки решения добавить в эту кашу
>>> OpenLDAP, то можно смело отправляться подыскивать себе верёвку
>>> и мыло. Ну зачем так кардинально-то? ;) Достаточно прикрутить OpenLDAP
>> только к DHCP. :)
> 
> Во-во-во-во-во, и можно отправляться ;)  По крайней мере во
> времена, когда hdb не было, с bdb мы взрывались, а на ldbm --
> не бэкапились толком.

Да ладно тебе... ;) Тогда задача бэкапа ldbm вполне штатно решалась
через использование репликации.

> Буду очень рад узнать, что это всё уже прошло именно по причине
> улучшившейся стабильности openldap.

hdb вполне стабильно себя ведет. По крайней мере, у меня с моим
"зоопарком", пользующим OpenLDAP, никаких проблем не возникало уже
ооочень давно. %)

>> Я даже такое обкатывал на одном нашем подразделении. Вполне
>> прилично работало. Не пошло "в бой" только из-за отсутствия
>> нормального "руля" для данных DHCP в LDAP (некому написать
>> веб-морду %).
> 
> Чем-то универсальным рулили, а вообще sauron.jyu.fi всё думал
> посмотреть.

Универсальным (gq) было очень неудобно. Но к схеме с конфигами
DHCP в LDAP я всерано когда-нить вернусь... %)

-- 
WBR, Dmitry Lebkov



Подробная информация о списке рассылки Sysadmins