настройка bind для локальной сети

в общем-то с биндом я уже кувыркался

попробуем более системно, планово и под нормальную дебиан а не под криворукую бубунту

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 запросы а опознавать компы в сетке по нормальным человеческим именам.

что нам по сути надо сделать:

  1. создать прямую зону DNS
  2. прописать в файле зоны соответствия имен компов их айпишникам.
  3. создать обратную зону DNS — чтобы можно было провести обратный процесс — на основании IP адреса выяснить имя компа.
  4. соответственно заполнить файл обратной зоны.

так как я как все нормальные люди ленив до безобразия — для настройки bind будем юзать webmin

Будем считать что Bind и модуль webmin под него у нас установлен.

Создаем мастер-зону.

Мастер-зона — это такая зона, для которой ваш DNS сервер является надежным источником информации о ней(зоне). Одну зону могут обслуживать несколько серверов, но только один из них будет основным(master server), а все остальные – дополнительными.

делаем так:

  1. выдумать имя зоны. Например, example.com или internal. Если эта зона будет являтся зоной в Интернет и соответственно видима для всех в мире, то имя этой зоны не должно быть зарегистрировано кем-нибудь ещё. Другими словами, если зона будет доступна из Интернет, то имя её должно быть уникально. Однако, вы не можете зарегистрировать это имя самостоятельно.
  2. на главной странице модуля жамкаем ссылку «создать новую зону 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://breys.ru/1501.html

http://www.code-inside.com/prostaya-nastroyka-dns-servera-bind9-na-debian-7-wheezy/#.WNjPyeSkJhE

http://xgu.ru/wiki/%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_DNS-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0_BIND

http://help.ubuntu.ru/wiki/%D1%80%D1%83%D0%BA%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE_%D0%BF%D0%BE_ubuntu_server/%D1%81%D0%BB%D1%83%D0%B6%D0%B1%D0%B0_%D0%B4%D0%BE%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D1%85_%D0%B8%D0%BC%D0%B5%D0%BD/configuration

 

http://break-people.ru/cmsmade/index.php?page=unix_webmin_howto_dns_creating_a_new_master_zone

еще крайне полезная статья

Добавить комментарий