Мы — долго запрягаем, быстро ездим, и сильно тормозим.
www.lissyara.su —> статьи —> FreeBSD —> программы —> DDNS+DHCP

DDNS+DHCP

Автор: bonh.


    Статья по установке и настройки DNS+DHCP (на сомом деле это называется так DminamicDNS+DHC).
Начнем с того что я опишу свою сеть:

  • Первый интерфейс смотрящий во внутрь – rl0 {10.10.10.1};
  • Второй интерфейс смотрящий наружу – rl1 {10.10.1.184};
  • DNS-сервера провайдера – {10.0.0.10; 10.0.0.1; 10.10.1.100;};
  • Доменное имя    -    bonh.ds.tomsk.gov.ru;
        И так первым делом нам нужно установить ДНС точнее не установить а настроить и «разрешить» так как данный демон включён по умолчанию  во FreeBSD называется он named а сама программа демона называется bind в моём случае это bind 9 (да кстати забыл сказать FreeBSD версии 5.5) перед тем как начать работу с DNS несколько общих определений из handbook’a  которые нам пригодятся:
  • Прямой запрос к DNS (forward DNS) - Преобразование имён хостов в адреса IP
  • Ориджин (origin) - Обозначает домен, покрываемый конкретным файлом зоны
  • named, bind, сервер имён - Общеупотребительные названия для обозначения пакета BIND, обеспечивающего работу сервера имён во FreeBSD.
  • Резолвер - Системный процесс, посредством которого машина обращается к серверу имён для получения информации о зоне
  • Обратный DNS (reverse DNS) - Операция, обратная прямому запросу к DNS; преобразование адресов IP в имена хостов
  • Корневая зона - Начало иерархии зон Интернет. Все зоны находятся под корневой зоной, подобно тому, как все файлы располагаются ниже корневого каталога.
  • Зона - Отдельный домен, поддомен или часть DNS, управляемая одним сервером.
       Ну и до кучи описание зон идущих по умолчанию в /etc/namedb/named.conf (тоже взятые из handbook’a) :
  • . - является корневой зоной
  • org. - домен верхнего уровня (TLD) в корневой зоне.
  • example.org. - является зоной в домене верхнего уровня (TLD) org..
  • - 1.168.192.in-addr.arpa является зоной, в которую включены все IP-адреса,   формирующие пространство адресов 192.168.1.*.
       Ну что думаю можно приступать. Файлы с которыми мы будем работать:  /etc/namedb/named.conf (главный файл демона named), /etc/namedb/bonh.ds.tomsk.gov.ru (файл в котором будет описана прямая зона моей, соответствие имя – IP-адрес ), /etc/namedb/10.10.10.rev (файв котором будет описан обратная зона моей сети, соответствие IP-адрес –имя хоста), /etc/namedb/localhost.rev (обратная зона локаль хоста), что бы до конца раскрыть тему в каталоге /etc/namedb также присутствует файл named.root который содержит адреса главных DNS (адреса не меняются годами) к которым наш DNS обращается что бы узнать какой либо адрес ,  но этот файл мы трогать не буди.
    Всё план действий известен можно начинать. Топаем в /etc/namedb и говорим:
    # sh make-localhost
    

       В результате чего в каталоге /etc/namedb/master должны появиться файлы localhost.rev для локальной адресной зоны и localhost-v6.rev для для конфигурации IPv6. Делаем:
    #mv –f /etc/namedb/master/*  /etc/namedb
    

       Всё можно приступать к главному действию!!! Редактировать файл /etc/namedb/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"; //указывается стандартное
    				//месторасположение служебных файлов/директорий
    	
    	version         "Вроде бы Windows WP home edition, а вообще х.з. :)";
    			//что демон будет отвечать на запрос о версии
            forwarders {
     	               10.0.0.10;
    			10.0.0.1;
    			10.10.1.100;
    }; //В данном разделе указываются авторитетные DNS-сервера на которые
    // наш сервер будет отправлять свои запросы. Я тут указал DNS’ы провайдера,
    // если вам провайдер не дал оных адресов, значит этого раздела не должно быть.
    
            query-source address * port 53; // нужен в случае наличия Firewall’а
    //Для того что бы DNS ходил по определённому порту по умолчанию это порт 53
    
    
    zone "." {
    	type hint;
    	file "named.root";
    }; //Прописан файл в котором указаны адреса главных DNS. Взято из default’a
    
    zone "0.0.127.IN-ADDR.ARPA" {
    	type master;
    	file "localhost.rev";
    }; //файл содержащий описания обратной зоны локаль хоста. Взят из default’a
      //немного подкорректирована последняя строчка 
    
    zone "bonh.ds.tomsk.gov.ru" {
    	type master;
    	file "bonh.ds.tomsk.gov.ru";
    }; // Добрались до вкусненького, файл в котором будет описана моя прямая зона
    
    zone "10.10.10.in-addr.arpa" {
    	type master;
    	file "10.10.10.rev";
    }; // А тут моя обратная зона.
    

    И так ещё раз пробежимся:
    forwarders
    Это должен быть разделенный точкой с запятой (не забудьте поставить
    последнюю точку с запятой) список серверов dns. Если ваш сервер dns не
    знает ответа, он будет запрашивать эти серверы dns.

    query-source address
    При помощи этой опции вы можете заставить сервер DNS использовать
    определенный порт, это очень полезно при использовании файрволла.

    zone "."
    Это зона для доменов верхнего уровня, файл 'named.root' содержит все
    корневые серверы (адреса не меняются годами, так что вы можете не
    редактировать этот фыйл).

    zone "bonh.ds.tomsk.gov.ru"
    Это определяет файл, в котором сервер DNS может найти информацию о
    домене 'bonh.ds.tomsk.gov.ru'

    zone "10.10.10.in-addr.arpa"
       Эта зона используется для обратных поисков (lookup) DNS. Как вы могли обратить внимание, адрес ip яаляется обратным и в нем пропущен последний номер. Это решение для проблемы 'яйца и курицы'. Откуда сервер DNS знает на каком сервере он может найти информацию, которую он ищет? Он разрешает адрес ip и опрашивает ответственный за это сервер, но как он опрашивает сервер? путем разрешения имени хоста. Вы видите, это небольшая проблема. Вот почему выбран этот метод. Я не стану углубляться в подробности, поскольку для установки сервера DNS в этом нет необходимости.
       Двигаемся дальше создаём файлы зон (прямой и обратный) нашего домена:
    Прямой:
    /etc/namedb > ee bonh.ds.tomsk.gov.ru
    

    $TTL 86400
     
    bonh.ds.tomsk.gov.ru. IN  SOA ns.bonh.ds.tomsk.gov.ru. admin.bonh.ds.tomsk.gov.ru. (
                    2006240801      ; Serial (YYYYDDMM plus 2 digit serial)
                    86400           ; refresh (1 day)
                    7200            ; retry (2 hours)
                    8640000         ; expire (100 days)
                    86400)          ; minimum (1 day)
    
                    IN      NS         ns.bonh.ds.tomsk.gov.ru.
                    IN      MX      10 mx.bonh.ds.tomsk.gov.ru.
    
    Localhost	 IN	 A	  127.0.0.1
    ns              IN      A       10.10.10.1
    mx              IN      A       10.10.10.1
    

       Заметьте, что все имена хостов, оканчивающиеся на ''.'', задают полное имя, тогда как все имена без символа ''.'' на конце считаются заданными относительно origin. Например, ns преобразуется в ns.bonh.ds.tomsk.gov.ru. В нашем воображаемом файле ориджином является bonh.ds.tomsk.gov.ru. (написано в самом начале).
       Записи в DNS: SOA - начало зоны ответственности, NS - авторитативный сервер имен, A - адрес хоста, MX – почта, PTR - указатель на доменное имя (используется в обратных зонах DNS). И так что же там все-таки написано:
    bonh.ds.tomsk.gov.ru. IN  SOA ns.bonh.ds.tomsk.gov.ru. admin.bonh.ds.tomsk.gov.ru. (
     2006082401      ; Serial (YYYYDDMM plus 2 digit serial)
      86400           ; refresh (1 day)
      7200            ; retry (2 hours)
      8640000         ; expire (100 days)
      86400)    
    

     
    bonh.ds.tomsk.gov.ru – доменное имя зоны
    ns.bonh.ds.tomsk.gov.ru. – авторитетный сервер имён в данной зоне
    admin.bonh.ds.tomsk.gov.ru. - человек, отвечающий за эту зону, адрес электронной почты с символом ''@'' замененным на точку. (<admin@bonh.ds.tomsk.gov.ru > становится admin.bonh.ds.tomsk.gov.ru)
    2006082401 -  последовательный номер файла. При каждом изменении файла зоны это число должно увеличиваться. В настоящее время для нумерации многие администраторы предпочитают формат ггггммддвв. 2006082401 будет означать, что файл последний раз изменялся 24.08.2006, а последнее число 01 означает, что это была первая модификация файла за день. Последовательный номер важен, так как он служит для того, чтобы вторичные серверы узнавали об обновлении зоны.
    IN      NS         ns.bonh.ds.tomsk.gov.ru.
    Это NS-запись. Такие записи должны иметься для всех серверов имён, которые будут отвечать за зону.
    IN      MX      10  mx.bonh.ds.tomsk.gov.ru.Это майл сервер в данной зоне число 10 означает его приоритет (например когда не один майл сервер, 10 наивысший приоритет затем идёт 20 и т.д.)
    
    Localhost	 IN	 A	  127.0.0.1
    ns              IN      A       10.10.10.1
    mx              IN      A       10.10.10.1
    

    тут уже сопоставляется имя хоста IP-адресу, замете я тут только прописал свой сервер и всё, остальное пропишет DHCP и будет вносить коррективы при каждом изменении, неправда ли удобно.
    Всё переходим к файлу отвечающему за обратную зону:
    /etc/namedb > ee 10.10.10.rev[/b]
    

    $TTL 86400
    
    @       IN      SOA     ns bonh.ds.tomsk.gov.ru. admin. bonh.ds.tomsk.gov.ru. (
                            2001220200      ; Serial (date, 2 digits version)
                            86400           ; refresh (1 day)
                            7200            ; retry (2 hours)
                            8640000         ; expire (100 days)
                            86400)          ; minimum (1 day)
            IN      NS      ns. bonh.ds.tomsk.gov.ru.
    
    1     IN      PTR     bonh.ds.tomsk.gov.ru.
    

       Тут практически то же самое только как Вы уже могли заметить вместо записи A (как это было в прямой зоне) стоит запись PTRи выходит что адресу 10.10.10.1 будет соответствовать хост bonh.ds.tomsk.gov.ru. Всё сервер имён настроен «разрешаем» его:
    #echo `named_enable=”YES”` >> /etc/rc.conf
    

    #echo `named_flage=”-u bind -g bind”` >> /etc/rc.conf
    

    Разрешаем работу  DNS в firewall’е добавляя следующие строки:
    ${fwcmd} add pass udp from any to any 53
    ${fwcmd} add pass udp from any 53 to any 
    

    И запускаем:
    #/usr/sbin/named –u bind
    

       Затем проверяем как он работает:
    #ping www.ru
    

       Если всё нормально двигаемся дальше, если что – то не так читаем handbook.
       Следующий этап устанавливаем DHCP одновременно прикручивая его к DNS. Почему то так сложилось, что во FreeBSD DHCP-сервер используется от компании ISC и называется он isc-dhcp3-server. Начнём установку DHCP с… правильно обновления портов, после обновления портов топаем /usr/ports/net/isc-dhcp3-server и говорим:
    #make install clean
    

       После чего появляется синенькое окошко, ничего там не трогаем пусть устанавливается. Когда всё установится идём в /usr/local/etc/ и делаем примерно следующие:
    cp ./dhcpd.conf.sample ./dhcpd.conf
    

    и рихтуем его под себя, хотя нет подождите у нас же не просто DNS и DHCP у нас с Вами DDNS&DHCP, а значит нам нужен секретный ключ, для общения этих двух серверов, а где еговзять?.. Ну… можно самому придумать, хотя все его генерируют, вот и мы с Вами не будим отделятся от стада (не тот это случай) и просто сгенерируем его, следующи образом:
    # dnssec-keygen -a HMAC-MD5 -b 128 -n USER DHCP_UPDATER
    

    Посмотрим что он нам нагенерил:
    # cat Kdhcp_updater.+157+46827.key
    

        DHCP_UPDATER. IN KEY 0 2 157 key==
    

    Ага что-то есть, ну а вот теперь то можно со спокойной совестью рихтовать конфиг, у меня получилось следующие:
    # dhcpd.conf
    //Глобальные параметры
    option domain-name "bonh.ds.tomsk.gov.ru"; // доменное имя
    option domain-name-servers  ns.bonh.ds.tomsk.gov.ru; // ДНС
    default-lease-time 720000; //Поумолчанию на сколько
    		// выдаётся IP (я поставил // по больше&#61514;)
    max-lease-time 720000; //Максимально на сколько выдаётся IP, после чего мы 
    		// его сами забираем
    min-lease-time 720000;    //Минимально на сколько выдаётся IP
    authoritative;            //Говорим что мы самые авторитетные &#61514;
    ddns-update-style ad-hoc; // Тут мы говорим что мы ещё и DNS таблицу будем 
    // обновлять 
    
    key DHCP_UPDATER {
            algorithm hmac-md5;
            secret "key==";
    }; //Тута мы вписываем вместо key== наш ключь.
    
    zone bonh.ds.tomsk.gov.ru.{
    	primary 127.0.0.1;
    	key DHCP_UPDATER;
    } //Зоны которые мы будем обновлять всё оставляем так же как и у меня, меняем
    	// лишь название зоны
    
    zone 10.10.10.in-addr.arpa.{
    	primary 127.0.0.1;
    	key DHCP_UPDATER;
    } //Соответствует предыдущему
    	
    log-facility local7; // логии &#61514;
    
    // А вот и локальные параметры т.е. наша с вами, точнее моя, зона
    
    subnet 10.10.10.0 netmask 255.255.255.0 { //сеть и её маска
      	range  10.10.10.2 10.10.10.250; //Диапазон адресов
      	option routers 10.10.10.1;   //роутер
    	option subnet-mask 255.255.255.0; // Маска сети
    	option netbios-name-servers 10.10.10.1; //
    	option netbios-dd-server 10.10.10.1; //
    	option netbios-node-type 8; // Эти 3 параметра нужны при наличии самбы
    	option broadcast-address 10.10.10.255; // широковещательный адрес
    	option ntp-servers 10.0.0.10; //сервер точного времени
    }
    

    Всё, осталось только внести коррективы в /etc/namedb/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";
    	version         "Вроде бы Windows WP home edition, а вообще х.з. :)";
            forwarders {
     	               10.0.0.10;
    			10.0.0.1;
    			10.10.1.100;
    }; //При включении этого раздела сервер будет автоматически опрашивать
    // серверы имён которые здесь указаны, используя преимущества его кэша.
    // наличия нужной информации. Если соответствующий сервер имён провайдера
    //работает быстро и имеет хороший канал связи, то в результате такой настройки
    //вы можете получить хороший результат.
    
            query-source address * port 53; // нужен в случае наличия Firewall’а
    
    key DHCP_UPDATER {
            algorithm hmac-md5;
            secret "key==";
    }; // Тот самый key 
    
    
    zone "." {
    	type hint;
    	file "named.root";
    };
    
    zone "0.0.127.IN-ADDR.ARPA" {
    	type master;
    	file "localhost.rev";
    };
    
    
    zone "bonh.ds.tomsk.gov.ru" {
    	type master;
    	file "bonh.ds.tomsk.gov.ru";
    	allow-update { key DHCP_UPDATER; };
    	notify no;
    };
    zone "10.10.10.in-addr.arpa" {
    	type master;
    	file "10.10.10.rev";
    	allow-update { key DHCP_UPDATER; }; 
    };
    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 ":"
    
    include "/etc/namedb/rndc.key";
    

    Теперяче дописываем в /etc/rc.conf следующие строки:
    dhcpd_enable=”YES”
    dhcpd_conf=”/usr/local/etc/dhcpd.conf”
    dhcpd_ifaces=”rl0” # на каком интерфейсе крутится DHCP
    

    Перезапускаем DNS:
    killall -1 named
    

    и запускаем DHCP:
    /usr/local/etc/rc.d/isc-dhcd -start
    

    Если всё нормально маздайки получат нужные параметры, а в директории /etc/namedb в ближайшем будущем появятся два новых файла bonh.ds.tomsk.gov.ru.jnl и 10.10.10.rev.jnl, а сами файлы bonh.ds.tomsk.gov.ru и 10.10.10.rev будут изменены.
    Вот и всё.
    Литература:
    http://opennet.ru
    http://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/network-dns.html
    http://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/network-dhcp.html
    http://forum.lissyara.su/viewtopic.php?t=753
    http://www.lissyara.su/?id=1138
    И прочие изыскания :)))



    размещено: 2006-08-24,
    последнее обновление: 2006-08-25,
    автор: bonh


    Pavle, 2006-08-25 в 9:15:58

    Классная статья, жизненно необходимая. Только орфографических ошибок много. Но для гуру это не важно :-)

    bonh, 2006-08-25 в 9:22:19

    Блин Паша... Ты чё какой я Гуру, я Лузер который незнает русский язык :)

    Abigor, 2006-08-25 в 10:38:04

    не знаю как во FreeBSD 5.5 а вот в 6.1 нет ключа -g
    # named -h
    usage: named [-4|-6] [-c conffile] [-d debuglevel] [-f|-g] [-n number_of_cpus]
                [-p port] [-s] [-t chrootdir] [-u username]
                [-m {usage|trace|record}]
    named: unknown option '-h'
    но, правда на старенькой 5.1 он есть

    lissyara, 2006-10-26 в 15:42:43

    Наткнулся сегодня - сетевуха intel - определяется как fxp0, при включении поллинга перестаёт работать DHCP :)

    Dimrix, 2006-11-01 в 12:41:32

    Вот сделал всё как в с татье (кстати в конфиге есть мАААленькая ошибочка, пропущены "};" после "query-source address * port 53;").

    Но не нашёл в чём причина следующего (выдержка из лога /var/log/messages):
    Nov  1 09:26:32 sotik dhcpdс: unable to add reverse map from 8.0.168.192.in-addr.arpa. to lerker.chifteck.sotick.ua: timed out
    Nov  1 09:26:33 sotik dhcpd: unable to add reverse map from 5.0.168.192.in-addr.arpa. to mSotik.chifteck.sotick.ua: timed out
    Nov  1 09:26:47 sotik dhcpd: unable to add reverse map from 6.0.168.192.in-addr.arpa. to VIM.chifteck.sotick.ua: timed out
    Nov  1 09:26:50 sotik dhcpd: unable to add reverse map from 8.0.168.192.in-addr.arpa. to lerker.chifteck.sotick.ua: timed out
    Nov  1 09:30:34 sotik dhcpd: unable to add reverse map from 9.0.168.192.in-addr.arpa. to telefon4.chifteck.sotick.ua: timed out

    Плюс в статье писалось что
    ...в директории /etc/namedb в ближайшем будущем появятся два новых файла bonh.ds.tomsk.gov.ru.jnl и 10.10.10.rev.jnl, а сами файлы bonh.ds.tomsk.gov.ru и 10.10.10.rev будут изменены.
    Судя повсему это единая проблема? подскажите плиз как её решить?

    Roman, 2006-12-05 в 6:33:27

    Точно такая-же хрень получается. Отдельно работают DNS и DHCP, почему-то dhcp не хочет обновлять зоны dns, а в логах пишет одно и то-же unable to add revers map

    alcohollica, 2007-03-28 в 19:24:41

    Во-первых, огромное спасибо за сайт!
    А во-сторых за статью. Обязательно поробую настроить - а то пока максимум дошел до того, что прописывать в днс статические имена и соответственно им в dhcp назначать статические айпишнки клиентам.

    f0b0s, 2007-08-20 в 5:54:39

    найдена ошибка
    2006082401      ; Serial (YYYYDDMM plus 2 digit serial)
    формат не верен. Нада YYYYMMDDТТ
    ибо
    2007300101 > 2007280201 то есть если в такой форме играет роль число, а не месяц. А если числоменьше это отнюдь не значит, что сериал не увеличился.
    слейвы не обновятся,
    поэтому то правильней
    YYYYMMDDNN тогда таких ошибок не возникнет

    torki, 2007-09-21 в 23:17:33

    Всем привет!!!
    А как эту траблу победить
    Sep 21 21:44:23 gw named[3392]: master/db.mydom.loc.jnl: create: permission denied
    Sep 21 21:44:23 gw dhcpd: if test.mydom.loc IN A rrset doesn't exist add test.mydom.loc 21600 IN A 192.168.1.5: timed out.
    Sep 21 21:44:25 gw named[3392]: master/db.mydom.loc.jnl: create: permission denied
    Sep 21 21:44:25 gw dhcpd: if test.mydom.loc IN A rrset doesn't exist add test.mydom.loc 21600 IN A 192.168.1.5: timed out.

    Dakarius, 2007-12-30 в 18:33:51

    Dimrix, решилась проблема?

    torki, 2007-12-30 в 22:46:56

    Рабочие конфиги я на форуме выложил.

    xan, 2008-04-28 в 12:35:55

    Господа, те у кого не обновляется зона... поглядите права то на папки и файлы зон. и поглядите от кого у вас намед запускается

    avgreen, 2008-05-03 в 3:34:24

    2 torki
    по поводу Permission denied - тоже столкнулся с этой проблемой. Решение нашел на opennet.ru (url уже не помню)
    Смысл в том что даже если сделать
    chown bind /etc/namedb/master
    при перезапуске named все снова возвращается взад. Чтобы этого не случалось нужно поправить файлик
    /etc/mtree/BIND.chroot.dist
    А именно - нужно в строке где "master" добавить "uname=bind"

    Т.е. должно получиться

    dynamic uname=bind
    ..
    master  uname=bind
    ..
    slave   uname=bind
    ..

    2 xan - а намед запускается от того от кого и нужно, т.е. от bind :)

    avia21, 2008-05-23 в 15:54:57

    а зачем такой велосипед изобретать, всё гораздо проще. Кому надо обращайтесь,помогу.

    yura, 2008-05-27 в 21:38:56

    Прочитал все, сделал по своему.
    Есть пару наблюдений (так как я люблю минимализм и точность):
    1. при настройке dhcp если надо добавить в зону днс все клиенты делайте как выше указано.
    2. если надо просто dhcp то вот конфиг
    # dhcpd.conf
    default-lease-time 600;
    max-lease-time 7200;
    authoritative;
    ddns-update-style interim;
    log-facility local7;

    subnet 192.168.1.0 netmask 255.255.255.0 {
     range 192.168.1.2 192.168.1.254;
     option routers 192.168.1.1;
     option domain-name-servers 192.168.1.1;
    }

    правдо все просто и красиво без всяких dns-ах, кстати ДНС у меня тоже красиво урезаный.

    ПС: немножко отошел от темы, но всетаки может кто-то нашел для себя коечто интересное.

    roygbiv, 2008-05-31 в 19:53:00

    Для генерации ключей средствами rndc (bind):
    # rndc-confgen -a -k названиеключа -c названиеключа.key
    -> создается файл /var/named/etc/namedb/названиеключа.key

    Часть конфига для Internet Systems Consortium DHCP Server V3.0.5 с небольшими изменениями от статьи:

    ddns-update-style interim;
    #interim; #none For NO DNS / interim with DNS server / ad-hoc = ?
    ddns-ttl 14400;
    # dynamic DNS updates
    ddns-updates on;
    ddns-domainname "bonh.ds.tomsk.gov.ru";
    ddns-rev-domainname "in-addr.arpa.";
    # don't let clients modify their own A records
    ignore client-updates;

    key "названиеключа" {
           algorithm hmac-md5;
           secret
           "ключ==";
    };
    zone bonh.ds.tomsk.gov.ru {
           primary 127.0.0.1;
           key "названиеключа";
    }
    zone 10.10.10.in-addr.arpa {
           primary 127.0.0.1;
           key "названиеключа";
    }

    aheles, 2008-06-05 в 18:19:48

    в семерке нет скрипта make-localhost?? че делать

    avia21, 2008-06-06 в 9:27:47

    я ставил 6.3 тоже не было, скрипта make-localhost, пересобирал мир, всё заново. нефига. потом взял просто скопировал с 6.2

    yura, 2008-06-06 в 14:54:44

    А самому ручками создавать слабо????!!!!

    Alchemist, 2008-07-29 в 11:54:16

    The ad-hoc Dynamic DNS update scheme is now  deprecated and does not work. In future releases of the ISC DHCP server, this scheme will not likely be available.
    Не знаю как афтар запустил вышеописанный механизм, я юзал interim.

    kosh, 2008-08-06 в 9:33:08

    точно, с ad-hoc не работает, делал с interim

    fx, 2008-08-14 в 11:46:01

    статье сто лет в обед - а она так и называется коряво: DminamicDNS+DHC вместо вменяемого Dynamic DNS + DHCP :)))

    lissyara, 2008-08-14 в 12:36:38

    Главное содержание, а не название =)

    karpekin, 2010-01-06 в 14:53:24

    Была ошибка - jnl: create: permission denied
    Я перенес файлы прямой и обратной зоны в паку master(не забыв при этом подправить файл named.conf). Да и rndc.key туда же. Не пробовал, но думаю что можно и файлы localhost и localhost.rev туда же впихнуть. Проверил чтобы ключ был одинаковым в 3-х файлах:rndc.key, named.conf и dhcpd.conf. Всем файлам в папке master дал права bind:wheel. В rc.conf указал named_flage=
    -u bind -g wheel. Хотя, наверное можно было и оставить named_flage=-u bind -g bind. Но тогда нужно было на папку master установить права bind:bind. Собственно почему так? Просто я заметил что после перезагрузки происходит смена прав в папке /etc/namedb/ на дефолтные и предположил, что в папке master смена не произойдет и она будет доступна bind для внесения изменений. До кучи добавил еще одну зону которой нет в статье - localhost. Вот пример:

    $TTL 1D
    localhost.  IN  SOA  ns.mydns.net. root.ns.mydns.net. (
                2007042001  ;serial number
                86400       ;refresh
                3600        ;retry
                3888000     ;expire
                3600        ;minimum
                )
    localhost.   IN  NS   ns.mydns.net.
    localhost.   IN  A    127.0.0.1
    Вывод: Если делать по статье - запаситесь временем если у вас нет опыта :)

    karpekin, 2010-01-06 в 14:57:44

    Товарищщи! Мне помогла статья http://sysadm.ucoz.ua/forum/12-48-1

    karpekin, 2010-01-06 в 15:19:25

    Товарищщи! До кучи:
    1)http://live.daemony.org/info/domain-name-system-dns-howto.html
    2)http://live.daemony.org/freebsd/bind-aka-named-full-configuration-manual.html

    karpekin, 2010-01-06 в 23:07:18

    Товарищщи! Был неправ! Если у вас в каталоге /etc/namedb/ присутствует каталог dynamic, то наши динамически обновляемые зоны нужно валить туды. Файлы localhost-forward.db и  localhost-reverse.db остаются в каталоге master и мы их не редактируем.  И еще формируем в каталоге dynamic файлы командами:
    # dnssec-keygen -a HMAC-MD5 -b 128 -n USER DHCP_UPDATER
    проверим
    # cat /etc/namedb/dynamic.Kdhcp_updater.+157+32150.key
    DHCP_UPDATER. IN KEY 0 3 157 eFwhghkFfhN2AnafCe2521==
    и rndc.key
    # rndc-confgen -a -k rndc -c rndc.key

    Ключ eFwhghkFfhN2AnafCe2521== мы добавляем только в файлы named.conf и dhcpd.conf.
    Все это пишу для FreeBSD 6.3

    karpekin, 2010-01-06 в 23:07:56

    Товарищщи! Был неправ! Если у вас в каталоге /etc/namedb/ присутствует каталог dynamic, то наши динамически обновляемые зоны нужно валить туды. Файлы localhost-forward.db и  localhost-reverse.db остаются в каталоге master и мы их не редактируем.  И еще формируем в каталоге dynamic файлы командами:
    # dnssec-keygen -a HMAC-MD5 -b 128 -n USER DHCP_UPDATER
    проверим
    # cat /etc/namedb/dynamic.Kdhcp_updater.+157+32150.key
    DHCP_UPDATER. IN KEY 0 3 157 eFwhghkFfhN2AnafCe2521==
    и rndc.key
    # rndc-confgen -a -k rndc -c rndc.key

    Ключ eFwhghkFfhN2AnafCe2521== мы добавляем только в файлы named.conf и dhcpd.conf.
    Все это пишу для FreeBSD 6.3

    karpekin, 2010-01-06 в 23:11:52

    Товарищщи! Еще не забудьте сделать chown bind:wheel /etc/namedb/dynamic/*  и в /etc/rc.conf добавить named_flage="-u bind -g wheel"

    karpekin, 2010-01-06 в 23:12:14

    Товарищщи! Еще не забудьте сделать chown bind:wheel /etc/namedb/dynamic/*  и в /etc/rc.conf добавить named_flage="-u bind -g wheel"

    karpekin, 2010-01-10 в 0:51:54

    Товарищщи! Поправлюсь. Не важно в каком каталоге мы генерим ключ командой  dnssec-keygen -a HMAC-MD5 -b 128 -n USER DHCP_UPDATER. Что касается rndc.key ключ у меня там такой же как и в named.conf и dhcpd.conf. Если в named.conf указали include "/etc/namedb/rndc.key" то по указанному пути его и размещаем. И еще делаем chmod 644 для своих файлов зон и *.jnl

    karpekin, 2010-01-10 в 0:56:06

    Точнее 664 :)

    Anonymous, 2010-01-22 в 17:37:11

    Предыдущий оратор - клоун :)

    Gurov, 2010-01-23 в 12:17:10

    Спасибо за статью, делал на Freebsd 8.0
    bind 9.6
    не смотря на некоторые несотвествия с нынешними изменениями суть статьи осталась актуальной по сей день.Все работает.

    KES, 2010-03-08 в 2:25:42

    man dhcpd.conf

    THE AD-HOC DNS UPDATE SCHEME
          The  ad-hoc  Dynamic  DNS  update scheme is now deprecated and does not work.

    fantomas, 2010-03-11 в 21:10:33

    Не работает на 8.0 бьюсь уж который день

    Boomberbun, 2010-05-07 в 22:48:06

    Файлы журналов *.jnl ,не появляются если нет клиентов, одного мало)))

    german, 2010-06-05 в 17:23:16

    Товарищщи! Назначил список адресов:
    subnet 192.168.15.0 netmask 255.255.255.0 {
     range 192.168.15.2 192.168.15.254;
     option routers 192.168.15.1;

    но в сети более 500 машин. как задать больше адресов ?
    192.168.15.2-192.168.15.254 и 192.168.16.1-192.168.16.254 например ?
    спосибо

    german, 2010-06-05 в 17:25:22

    [root]# uname -a
    FreeBSD aero 8.0-RELEASE FreeBSD 8.0-RELEASE #0: Mon May 17 14:41:58 EEST 2010     aero/usr/obj/usr/src/sys/kernell.2010-17-05  i386

    kostet-ptz, 2010-07-08 в 23:06:49

    Опечатка:
    #echo `named_flage=
    -u bind -g bind` >> /etc/rc.conf
    надо так:
    #echo `named_flags=
    -u bind -g bind` >> /etc/rc.conf

    aledin, 2010-07-30 в 9:29:23

    2 german
    subnet 192.168.16.0 netmask 255.255.254.0 {
    range 192.168.16.2 192.168.17.254;
    option routers 192.168.16.1;
    option subnet-mask 255.255.254.0;
    option broadcast-address 192.168.17.255;
    }

    Итого получится 512 хостов.

    german, 2010-08-02 в 20:42:12

    subnet 192.168.0.0 netmask 255.255.0.0 {
    range 192.168.0.2 192.168.17.254;
    option routers 192.168.0.1;
    option subnet-mask 255.255.0.0;
    option broadcast-address 192.168.1.255;
    option broadcast-address 192.168.2.255; и так до 254
    }
    так тож рулит ?

    just-a-reader, 2010-12-25 в 12:07:34

    Подскажите, плиз, откуда взяты

    option netbios-*

    для dhcpd.conf?

    [Чисто для чистоты и понимания]
    К статье:
    option broadcast-address
    option subnet-mask

    нужны очень редко только в особых случаях.

    В остальных случаях они уже указаны (маска явно в типе блока, броадкаст - неявно из пары сеть+маска) и указывать их повторно смысла нету.

    --

    2 german:
    subnet 192.168.0.0 netmask 255.255.0.0
    дает (один) броадкаст: 192.168.255.255

    Petro, 2011-02-27 в 12:41:57

    Статья ГАВНО ничего не понятно =(((

    kyzmi4, 2011-03-28 в 21:40:42

    Статья шикарная, для вникания хватит, а дальше подключаются маны на инглише, которые легче разбирать с таким мануалом.

    ttys, 2012-03-09 в 20:24:45

    Мможет я не понял главного?, но всёже - зачем эта связка, что оно даёт?

    nops, 2013-01-28 в 15:50:05

    А я запарился, у меня в логах:
    Jan 28 17:46:31 gate dhcpd: Unable to add reverse map from 152.0.168.192.in-addr.arpa to WS013.delta-plan.loc: tsig verify failure
    Jan 28 17:46:31 gate dhcpd: Unable to add reverse map from 152.0.168.192.in-addr.arpa to WS013.delta-plan.loc: tsig verify failure

    и создался только один .jnl файл, прямой зоны, а дял обратной нет.
    Помогите пожалуйста как с этим быть, никак не могу собразить

    phantom, 2014-03-06 в 11:48:52

    Статейка актуальна по сей день. Стоило бы обновить. Большинство утверждений справедливо и для 10.0. Только теперь BIND не ставится вместе с системой, а из портов dns/bind99 и ставится уже в /usr/local/, что в общем-то разумно: далеко не всегда нужен DNS-сервер.

    PickNick, 2014-12-31 в 23:10:50

    В файле обратной зоны исправьте ошибоку:
    В первой строчке поставьте точку без пробелов между ns1 и bonh... и уберите пробел между admin. и bonh...

    А то копипастерам приходится лишний раз мозг напрягать ))



  •  

      Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
      Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

    © lissyara 2006-10-24 08:47 MSK

    Время генерации страницы 0.0864 секунд
    Из них PHP: 43%; SQL: 57%; Число SQL-запросов: 86 шт.
    Исходный размер: 86747; Сжатая: 19057