Как провести начальную установку и настройку BIND под FreeBSD можно прочитать тут>>>.
В данной статье – примеры создания и настройки различных субдоменов.
Для примера взят реально существующий (по крайней мере – на сегодняшний день :-)) файл зоны домена setevoy.org.ua:
$TTL 3600
@ IN SOA ns1.setevoy.org.ua. root.setevoy.org.ua. (
2012080420 ; Serial
3600 ; Refresh
900 ; Retry
3600 ; Expire
3600 ; Minimum
)
@ IN NS ns1.setevoy.org.ua.
@ IN NS ns2.setevoy.org.ua.
@ MX 10 mx.setevoy.org.ua.
@ IN A 77.120.106.40
www IN CNAME @
mx IN A 77.120.106.40
ns1 IN A 77.120.106.40
ns2 IN A 82.144.220.21
postfixadmin IN A 77.120.106.40
google IN A 173.194.39.100
host IN NS alpha.freehost.com.ua.
dc IN CNAME dc.volia.com.
admin IN CNAME freehost.com.ua.
ВАЖНО:
1. файл зоны ВСЕГДА должен заканчиваться пустой строкой;
2. домены/субдомены, указанные в параметрах записей – всегда должны заканчиваться точкой, например:
dc IN CNAME dc.volia.com.
если не поставить в конце точку – к адресу dc.volia.com будет добавлен адрес настраиваемого домена, и получится такое – dc.volia.com.setevoy.org.ua;
3. всегда обновляйте Serial номер файла зоны, приплюсовывая единицу – иначе secondary NS не обновит запись о домене у себя;
4. всегда выполняйте проверку файла зоны перед применением изменений, например:
# named-checkzone master /var/named/zones/master/setevoy.org.ua
zone master/IN: loaded serial 2012080410
OK
Типы записей субдоменов.
Для субдоменов доступны несколько вариантов записей:
IN A
CNAME
IN NS
Проверить все субдомены домена можно командой DIG. К примеру – узнаем у NS-сервера ns1.setevoy.org.ua какие субдомены есть у домена setevoy.kiev.ua:
$ dig @ns1.setevoy.org.ua website.co.ua axfr
И получим такой вывод (лишнее удалено):
…
setevoy.org.ua. 3600 IN SOA ns1.setevoy.org.ua. root.setevoy.org.ua. 2012080420 3600 900 3600 3600
setevoy.org.ua. 3600 IN NS ns1.setevoy.org.ua.
setevoy.org.ua. 3600 IN NS ns2.setevoy.org.ua.
setevoy.org.ua. 3600 IN MX 10 mx.setevoy.org.ua.
setevoy.org.ua. 3600 IN A 77.120.106.40
admin.setevoy.org.ua. 3600 IN CNAME freehost.com.ua.
dc.setevoy.org.ua. 3600 IN CNAME dc.volia.com.
google.setevoy.org.ua. 3600 IN A 173.194.39.100
host.setevoy.org.ua. 3600 IN NS alpha.freehost.com.ua.
mx.setevoy.org.ua. 3600 IN A 77.120.106.40
ns1.setevoy.org.ua. 3600 IN A 77.120.106.40
ns2.setevoy.org.ua. 3600 IN A 82.144.220.21
postfixadmin.setevoy.org.ua. 3600 IN A 77.120.106.40
www.setevoy.org.ua. 3600 IN CNAME setevoy.org.ua.
…
Самый распространенный из них – IN A.
К примеру, строка:
postfixadmin IN A 77.120.106.40
Означает, что при запросе адреса postfixadmin.setevoy.org.ua будет идти обращение к серверу 77.120.106.40 и, например, открываться страница веб-сервера с содержанием каталога, определенного настройками Apache (про виртуалхосты можно почитать тут>>>).
Таким образом, с помощью записи IN A субдомен можно перенаправить на любой сервер – хоть на google.com, к примеру:
google IN A 173.194.39.100
При запросе субдомена google.setevoy.org.ua будет открываться страница Google.
Имейте ввиду, что указывать запись IN A можно только в виде IP-адреса.
Иногда в записях можно встретить знак @ – он используется вместо полного имени настраиваемого домена.
К примеру, запись в файле зоны /var/named/zones/master/setevoy.org.ua:
www IN CNAME @
Аналогична записи:
www IN CNAME setevoy.org.ua.
Что такое запись типа CNAME?
CNAME (Canonical Name record) служит для создания субдоменов с настройками, аналогичными указанному домену.
В приведенном выше примере субдомен www указывается синонимом основного домена setevoy.org.ua, в результате по адресу www.setevoy.org.ua и просто setevoy.org.ua откроется один и тот же сайт.
Но можно субдомен сделать синонимом другого субдомена или домена, например:
dc IN CNAME dc.volia.com.
При переходе по адресу dc.setevoy.org.ua попадем на сайт dc.volia.com. Интересная и полезная особенность такого варианта создания синонима – в адресной строке браузера пользователя не будет изменяться адрес домена. Однако, это сработает на всех серверах.
Так же можно добавить и www-субдомен к домену:
www.dc IN CNAME dc.volia.com.
И последний тип записей для субдоменов – IN NS.
IN NS указывает, что данный субдомен обслуживается другим Name Server.
К примеру, запись:
host IN NS alpha.freehost.com.ua.
Посмотрим, как это выглядит при запросе к нашему серверу:
$ dig @ns1.setevoy.org.ua host.setevoy.org.ua
…
;; QUESTION SECTION:
;host.setevoy.org.ua. IN A
;; AUTHORITY SECTION:
host.setevoy.org.ua. 3600 IN NS alpha.freehost.com.ua.
…
А теперь обратимся к alpha.freehost.com.ua:
$ dig @alpha.freehost.com.ua setevoy.org.ua
…
;; QUESTION SECTION:
;setevoy.org.ua. IN A
;; ANSWER SECTION:
setevoy.org.ua. 600 IN A 91.206.31.137
…
Таким образом можно разделить управление доменом и его субдоменами.
Кроме уже указанных IN A, CNAME и IN NS типов записей, существуют ещё две – SRV и TXT записи. Однако, их рассмотрение выходит за рамки простой настройки субдомена, потому их рассмотрение будет в отдельной статье попозже.
Полезных ссылок по теме как-то много не нашлось, но пару все-же посоветую:
http://wiki.russianfedora.ru
Удобная веб-форма проверки записей о домене: