Настройка сервера имен (DNS-сервер) на сервере без ISPmanager
Иногда для каких-либо проектов необходимо обеспечить работу серверов имен на своем VDS используя минимальный вариант операционной системы. В этой статье рассказано как настроить эту конфигурацию. При установке использовались шаблоны ПО на VDS с шаблонами -minimal.
Для работы серверов имен требуется два IP-адреса (это требование регистраторов доменов) и, следовательно, необходимо заказать второй адрес в биллинге для вашего сервера. Заказ выполняется в разделе Виртуальные серверы кнопка IP-адреса.
Настройка DNS в системе Debian 6.0
В шаблоне debian-6.0-i386-minimal его следует установить пакет bind
# apt-get install bind9
Отредактируйте файл /etc/bind/named.conf добавив в него описание вашей зоны (предположим, что домен называется example.com)
zone "example.com" { type master; file "/etc/bind/example.com"; };
Отредактируйте файл /etc/bind/example.com добавив в него строки
$TTL 3600 @ IN SOA ns1.example.com. root.example.com. (2012000001 10800 3600 604800 86400) @ IN NS ns1 @ IN NS ns2 ns1 IN A 10.10.10.10 ns2 IN A 192.168.1.1 @ IN A 10.10.10.10 www IN A 10.10.10.10
После чего можно перечитать конфигурацию DNS-сервера
# rndc reload
После приведенной настройки можно указывать сервера имен ns1.example.com/10.10.10.10 и ns2.example.com/192.168.1.1 у регистратора. В биллинге BILLmanager следует указывать записи через символ /, у регистраторов может быть меню Child Nameservers где указывается данное соответствие
Настройка DNS в системе Ubuntu 10.04
Пакет bind9 уже установлен в шаблоне ubuntu-10.04-i386-minimal, его необходимо запустить и добавить в автозапуск
# /etc/init.d/bind9 start # update-rc.d bind9 start 15 2 3 4 5 . stop 70 0 1 6 .
Дальнейшая настройка выполняется точно также как в случае настройки на Debian 6.0
Настройка DNS в системе CentOS 6.0
DNS сервер уже предустановлен в шаблоне ПО centos-6-i386-minimal. Его следует настроить и запустить.
Отредактируйте /etc/named.conf и удалите или закоментируйте символами // строки
listen-on port 53 { 127.0.0.1; }; allow-query { localhost; };
Следующий шаг (создание и настройка использование rndc.key) можно пропустить если не будете пользоваться командой rndc - в таком случае перезапускайте DNS-сервер командой /etc/init.d/named restart
Создайте ключ /etc/rndc.key командой
# rndc-confgen -a
Добавьте в /etc/named.conf
key "rndc-key" { algorithm hmac-md5; secret "sUUony71pdPDHSZjNrkDFQ=="; }; controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndc-key"; }; };
Строку secret
secret "sUUony71pdPDHSZjNrkDFQ==";
следует брать из файла /etc/rndc.key
Запустите named и добавьте его в автозапуск
/etc/init.d/named start # chkconfig named --level 2345 on
Настройка зоны производится аналогично настройке на Debian / Ubuntu со следующими отличиями:
Файл конфигурации DNS-сервера /etc/named.conf
Зоны расположены в каталоге /var/named/
Настройка DNS в системе FreeBSD 8.2/9.0
Настройка DNS на дисковом шаблоне FreeBSD-8-minimal и FreeBSD-9-minimal производится аналогично настройке на Debian со следующими отличиями:
Системный DNS-сервер запускается добавлением файла в /etc/rc.conf
named_enable="YES" named_chrootdir=""
И далее запускается командой
# /etc/rc.d/named start
Файлы конфигурации named - /etc/namedb/named.conf
Файлы зон располагаются как правило в каталоге /etc/namedb/master/
Настройка DNS в Windows 2008
Зайдите в Server manager - Roles и добавьте там (Add roles) DNS-сервер.
Далее в Start - Administrative Tools - DNS Manager - Forward Lookup Zones добавьте зону и в мастере создания зоны выберите Primary zone - Do not allow dynamic updates
После чего в том же приложении настраивается зона - создаются записи NS (вначале добавляется в форме IP-адрес, затем запись) и создаются записи типа A ns1 и ns2 на соответствующие IP-адреса
Проверка работоспособности DNS-сервера
Проверить работоспособность полученной конфигурации можно используя команду dig. Во FreeBSD эта команда входит в базовую систему, в Debian/Ubuntu устанавливается через apt-get пакет dnsutils
# apt-get install dnsutils
В CentOS Linux установка dig производится через менеджер пакетов yum - пакет bind-utils
# yum install bind-utils
# dig @10.10.10.10 example.com ; <<>> DiG 9.7.3 <<>> @10.10.10.10 example.com ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60489 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2 ;; WARNING: recursion requested but not available ;; QUESTION SECTION: ;example.com. IN A ;; ANSWER SECTION: example.com. 3600 IN A 10.10.10.10 ;; AUTHORITY SECTION: example.com. 3600 IN NS ns2.example.com. example.com. 3600 IN NS ns1.example.com. ;; ADDITIONAL SECTION: ns1.example.com. 3600 IN A 10.10.10.10 ns2.example.com. 3600 IN A 192.168.1.1 ;; Query time: 2 msec ;; SERVER: 10.10.10.10#53(10.10.10.10) ;; WHEN: Sat May 19 16:08:05 2012 ;; MSG SIZE rcvd: 113
Данной утилитой проверяется ответ сервера, то что ему известно про существование зоны и записи в ней.