DNS сервер Bind9 на FreeBSD

Crystal_128_yast_dnsСегодня поднимем свой сервер имен, для того чтобы связать доменные имена с ip-адресами. Для этого нам понадобится минимум один выделенный сервер с установленной FreeBSD.

Установка Bind9

Перед установкой не забудьте обновить порты.

# cd /usr/ports/dns/bind9
# make install clean
# rehash

Теперь добавим автозагрузку бинда в /etc/rc.conf

named_enable="YES"
named_uid="bind"
named_chrootdir=""
named_flags="-s"

И перезагрузим сервак

# reboot

Настройка Bind9

Откройте для редактирования файл named.conf

# ee /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 "adw0rd dns";

        // Добавляем локальные "ip-адреса dns-серверов" вашего провайдера
        // их можно посмотреть в /etc/resolv.conf (директива "nameserver") или через утилиту nslookup
        forwarders {
                82.146.59.250;
        };

}

Рестартим bind:

Утилита rndc

Перейдите в каталог named:

# cd /etc/namedb/

И посмотрите, есть ли у вас файл «rndc.key», если есть, то можете пропустить этот шаг, а если нет, то вам надо его сгененировать:

# rndc-confgen

И он выдаст примерно следующее:

# Start of rndc.conf
key "rndc-key" {
        algorithm hmac-md5;
        secret "NrDcqVcbML1XI0ZLmRrmaQ==";
};

options {
        default-key "rndc-key";
        default-server 127.0.0.1;
        default-port 953;
};

Для того чтобы сразу сохранить ключ в файл, не копируя его содерджимое, запустите с флагом

rndc-confgen -a

Создайте файл «/etc/namedb/rndc.key» и вставьте туда эти данные:

key "rndc-key" {
        algorithm hmac-md5;
        secret "NrDcqVcbML1XI0ZLmRrmaQ==";
};

Теперь пришла очередь добавлять наш первый домен, который будет играть роль «мастер нс-сервера», для того, чтобы потом другие домена использовать именно его.

Поднимаем свой master-сервер (ns1)

Для начала необходимо добавить запись о домене в named.conf, добавляйте в конец файла:

zone "adw0rd.ru" {
        type master;
        file "master/adw0rd.ru";
};

Теперь, с помощью утилиты «make-localhost» создайте первый свой master-файл, далее можно будет просто копировать любой master-файл и изменять его для других доменов.

Иногда нет этого файла в стандартной поставке, можете его скачать тут.
Вот еще могут пригодится PROTO.localhost.rev и PROTO.localhost-v6.rev.

Запускаем make-localhost, но не забудьте установить для него права на запуск!

# cd /etc/namedb/
# chmod u+x make-localhost
# ./make-localhost

Теперь скопируем localhost.rev и создадим с помощью него свой master-файл:

# cd /etc/namedb/master/
# cp localhost.rev adw0rd.ru

И доведем до следующего вида:

Незабываем про «serial number», его надо править при каждом изменении, например, если вы редактируете 26 августа 2009 года, то надо 2009082601, если вы в день много раз редактируете, то увеличивайте две крайние цифры в серийнике на единицу (2009082602, 2009082617 и т.д. до 99). А если редактируете 27 августа 2009, то 2009082701 и т.д.

Теперь, проверим правильность конфига при помощи утилиты named-checkconf, если все в порядке она ничего не ответит, иначе выведет лог ошибок.

После запустите «rndc reload»:

Перезагружаем bind:

Поднимаем slave-сервер (ns2)

Для того чтобы использовать свои сервера доменных имен надо минимум два нс-сервера, поэтому надо создать и второй, однако где нам достать еще один сервак? Но это не обязательно, достаточно воспользоваться бесплатными сервисами, вот короткий список сервисов, предостовляющие подобные услуги:

Разберем пример на «ns2.trifle.net», заходим по адресу http://ns2.trifle.net, далее регистрируемся, и авторизовываемся.

Теперь, добавляем нашу домен «adw0rd.ru» и свяжем его с ip-адресом 82.146.63.195

ns2_trifle_net

Все, готово!

Проверяем работоспособность

Сначала узнаем, отдает ли нам ns1 данные по домену:

Если выдало примерно следующее:

то все плохо, думайте над своим мастер-файлом, где то вы накосячили… либо не ребутнули неймед-сервак.

А если такое, то все в порядке:

Теперь вы можете вписать у регистратора — свои DNS сервера, примерно так:

Адрес «82.146.63.195» необходим тут, для того чтобы домен делегировался корректно, так как сейчас ваш домен еще не связан… 😉

Для других доменов, например «blgo.ru» достаточно

Как узнать версию программного обеспечения DNS сервера?

Помните, я в конфиге «named.conf» установил директиву «version» и сказал что позже объясню зачем… А нужно это для того, чтобы кулхацкеры не узнали версию бинда, потом они могут сделать очень забавные вещи, погуглите на эту тему и все узнаете.

Выполните команду

и вы увидите версию бинда…


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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

Unlix © Все права защищены 2019

Копирование материалов с сайта Unlix.ru без указания полной ссылки на источник ЗАПРЕЩЕНО!