Мы — долго запрягаем, быстро ездим, и сильно тормозим.
|
||||||||||||||||||||||||||
www.lissyara.su
—> статьи
—> FreeBSD
|
|
В результате чего в каталоге /etc/namedb/master должны появиться файлы localhost.rev для локальной адресной зоны и localhost-v6.rev для для конфигурации IPv6. Делаем:
|
Всё можно приступать к главному действию!!! Редактировать файл /etc/namedb/named.conf. В показанном примере я оставил только нужное убрав всё лишнее:
|
И так ещё раз пробежимся:
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 в этом нет необходимости.
Двигаемся дальше создаём файлы зон (прямой и обратный) нашего домена:
Прямой:
|
|
Заметьте, что все имена хостов, оканчивающиеся на ''.'', задают полное имя, тогда как все имена без символа ''.'' на конце считаются заданными относительно 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 – доменное имя зоны
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 и т.д.)
|
тут уже сопоставляется имя хоста IP-адресу, замете я тут только прописал свой сервер и всё, остальное пропишет DHCP и будет вносить коррективы при каждом изменении, неправда ли удобно.
Всё переходим к файлу отвечающему за обратную зону:
|
|
Тут практически то же самое только как Вы уже могли заметить вместо записи A (как это было в прямой зоне) стоит запись PTRи выходит что адресу 10.10.10.1 будет соответствовать хост bonh.ds.tomsk.gov.ru. Всё сервер имён настроен «разрешаем» его:
|
|
Разрешаем работу DNS в firewall’е добавляя следующие строки:
|
И запускаем:
|
Затем проверяем как он работает:
|
Если всё нормально двигаемся дальше, если что – то не так читаем handbook.
Следующий этап устанавливаем DHCP одновременно прикручивая его к DNS. Почему то так сложилось, что во FreeBSD DHCP-сервер используется от компании ISC и называется он isc-dhcp3-server. Начнём установку DHCP с… правильно обновления портов, после обновления портов топаем /usr/ports/net/isc-dhcp3-server и говорим:
|
После чего появляется синенькое окошко, ничего там не трогаем пусть устанавливается. Когда всё установится идём в /usr/local/etc/ и делаем примерно следующие:
|
и рихтуем его под себя, хотя нет подождите у нас же не просто DNS и DHCP у нас с Вами DDNS&DHCP, а значит нам нужен секретный ключ, для общения этих двух серверов, а где еговзять?.. Ну… можно самому придумать, хотя все его генерируют, вот и мы с Вами не будим отделятся от стада (не тот это случай) и просто сгенерируем его, следующи образом:
|
Посмотрим что он нам нагенерил:
|
|
Ага что-то есть, ну а вот теперь то можно со спокойной совестью рихтовать конфиг, у меня получилось следующие:
# dhcpd.conf
|
Всё, осталось только внести коррективы в /etc/namedb/named.conf, я его продублирую но уже со внесёнными в него изменениями и про комментирую их.
|
Теперяче дописываем в /etc/rc.conf следующие строки:
|
Перезапускаем DNS:
|
и запускаем DHCP:
|
Если всё нормально маздайки получат нужные параметры, а в директории /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
Комментарии пользователей [49 шт.]