в общем-то с биндом я уже кувыркался
попробуем более системно, планово и под нормальную дебиан а не под криворукую бубунту
1 что это за хрень?
нормальные люди привыкли запоминать сайты по именам. Для компов эти буквы пофиг, они больше как-то с цифрами, а конкретно — ip адресами. Вот для того чтоб переводить одно в другое и существует служба DNS. В локальной сети можно еще кешировать обращения к инет-DNS что может не слишком много, но таки увеличивает скорость инета и экономит траффик.
В локальной сети можно применять для того чтоб опознавать локальные компы по имени а не как бородатой сисодмин по апишникам.
2 установка
все банально
$ sudo apt-get install bind9
3 Базовая настройка
сразу после установки делаем как-то так:
$ sudo nano /etc/bind/named.conf.options
в нем прописываем самые-самые базовые настройки
options { directory "/var/cache/bind"; forwarders { 10.0.35.1; 10.0.17.1; 10.0.1.2; }; listen-on { 192.168.16.180; 127.0.0.1; }; auth-nxdomain no; # conform to RFC1035 };
что понаписано:
directory — папка, куда bind будет сваливать свои временные файлы.
forwarders — на какие внешние DNS отправлять запросы, если наш неасилит
listen-on — указывает какие айпишники будет слушать DNS — сервер
перезапускаем:
$ sudo service bind9 restart
проверяем:
%# netstat -lnp | grep :53 tcp 0 0 192.168.16.180:53 0.0.0.0:* LISTEN 31290/named tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 31290/named udp 0 0 192.168.16.180:53 0.0.0.0:* 31290/named udp 0 0 127.0.0.1:53 0.0.0.0:* 31290/named
в общем-то после этих настроек мы уже должны получить кэширующий DNS, если конечно в forwardes прописали правильно. Остается только на компах прописать адрес нашего сервачка чтоб они на него за айпишниками лазили.
настраиваем резольвер DNS
вот как-то так в файле (/etc/resolv.conf)
%# nano /etc/resolv.conf search radioru nameserver 192.168.16.180
Это в Дебиан. В бубунте оно по-новомодному настраивается хрен знает зачем:
$ sudo nano /etc/resolvconf/resolv.conf.d/tail
прописываем туда наши неймсервера:
search radioru nameserver 192.168.16.10
в винде его можно аналогично прописать в свойствах сетевого подключения. На всякий случай понтовые DNS все равно надо будет туда вписать вторым и прочим номером.
Настройка сервера DNS для локальной сети
это как раз для того чтоб не просто кэшировать DNS запросы а опознавать компы в сетке по нормальным человеческим именам.
что нам по сути надо сделать:
- создать прямую зону DNS
- прописать в файле зоны соответствия имен компов их айпишникам.
- создать обратную зону DNS — чтобы можно было провести обратный процесс — на основании IP адреса выяснить имя компа.
- соответственно заполнить файл обратной зоны.
так как я как все нормальные люди ленив до безобразия — для настройки bind будем юзать webmin
Будем считать что Bind и модуль webmin под него у нас установлен.
Создаем мастер-зону.
Мастер-зона — это такая зона, для которой ваш DNS сервер является надежным источником информации о ней(зоне). Одну зону могут обслуживать несколько серверов, но только один из них будет основным(master server), а все остальные – дополнительными.
делаем так:
- выдумать имя зоны. Например, example.com или internal. Если эта зона будет являтся зоной в Интернет и соответственно видима для всех в мире, то имя этой зоны не должно быть зарегистрировано кем-нибудь ещё. Другими словами, если зона будет доступна из Интернет, то имя её должно быть уникально. Однако, вы не можете зарегистрировать это имя самостоятельно.
- на главной странице модуля жамкаем ссылку «создать новую зону Master».
заполняем поля в открывшемся окошке:
так как в данный момент мы создаем зону Master — в верхней части окна выбираем пимпочку прямая (forward)
в поле «имя домена» пишем как зовут наш новый домен
в поле «адрес e-mail» — адрес ответственного товарища, который рулит этим доменом.
поле «файл записей» — указывает место для хранения файла записей зоны. По умолчанию это что-то типа /var/named, но лично мне больше нравиться когда все записи лежат в одном месте, так же где и конфиг бинда — /etc/bind/. Место по умолчанию можно установить в настройках модуля bind webmin.
время обновления — определяет как часто дополнительные сервера сверяются с главным для обновления зоны.
время обновления — пауза которую держит дополнительный сервер после неудачной попытки чтоб снова попробовать.
время окончания — определяет, сколько дополнительный DNS сервер должен кешировать записи, прежде чем запросить обновления с основного сервера.
жмем «создать», если нигде не накосячили — создастся зона, вебмин откроет окно добавления новых записей в зону.
Для нашего примера в конфигах происходит следующее:
1 в файле /etc/bind/named.conf.local добавляется запись зоны:
zone "test" { type master; file "/etc/bind/test.hosts"; };
2 создается файл зоны (у меня он создан как /etc/bind/test.hosts)
$ttl 38400 test. IN SOA radioru-office. sysadmin.test.org. ( 1490855011 10800 3600 604800 38400 ) test. IN NS radioru-office.
создаем обратную зону
Аналогично прямой зоне — выбираем создать новую зону master, только при создании вверху окошка выбираем тип зоны — обратная
записываем в имя домена/сеть нашу подсетку(без последнего октета)
нажимаем «создать»
при этом в файле /etc/bind/named.conf.local добавляется запись:
zone "16.168.192.in-addr.arpa" { type master; file "/etc/bind/192.168.16.rev"; };
и создается файл обратной зоны /etc/bind/192.168.16.rev с таким содержимым:
$ttl 38400 16.168.192.in-addr.arpa. IN SOA radioru-office. sysadmin.test.org. ( 1490857552 10800 3600 604800 38400 ) 16.168.192.in-addr.arpa. IN NS radioru-office.
вроде пока все нормально, почти как в учебнике.
добавляем записи в зону
1 на главной странице модуля выбираем нашу свежесозданную зону test
Жамкаем на иконку того типа записи, который надо добавить.
чаще всего это «Адрес»
выбираем имя компа который у нас в сетку входит
прописываем его IP
нажимаем создать.
в результате в файле /etc/bind/test.hosts у нас появляется запись
win.test. IN A 192.168.16.6
а в файле /etc/bind/192.168.16.rev
добавляется обратная запись:
6.16.168.192.in-addr.arpa. IN PTR win.test.
по такому же принципу заносим остальные компы.
ПРИМЕЧАНИЕ
В ubuntu все не так как у людей. По дефолту установлен локальный кэширующий DNS — dnsmasq. Разбираться как и что было откровенно лень, тем более что серв у меня все-таки на Дебиан
дополнительно:
http://www.code-inside.com/prostaya-nastroyka-dns-servera-bind9-na-debian-7-wheezy/#.WNjPyeSkJhE
http://break-people.ru/cmsmade/index.php?page=unix_webmin_howto_dns_creating_a_new_master_zone