Пример настройки master и slave DNS сервера на FreeBSD и Linux
Поднято три DNS сервера named, который входит в состав набора инструментов bind9.
master ns - на FreeBSD
slave ns - два штуки на Ubuntu
Хостим внешнюю зону notessysadmin.com
Как ставил уже не помню, но методы стандартные apt-get для Ubuntu и порты для FreeBSD
Master NS
Для новой зоны необходимо на master ns отредактировать файл /etc/namedb/named.conf, добавив туда строки вида:
zone "notessysadmin.com" {
type master;
file "master/notessysadmin.com";
allow-transfer { x.x.x.x; y.y.y.y; };
allow-query { any; };
notify yes;
};
Где:
zone- название зоныfile- файл настройки зоныtype- тип зоны, в данном случае все зоны masterallow-transfer- от кого разрешено принимать запросы на передачу зоны. Тут указываются slave ns сервера.allow-query- от кого разрешено принимать обычные запросыnotify yes- при изменении зоны все slave ns сервера должны об этом информироваться
Для редактирования самих зон надо править файл /etc/namedb/master/notessysadmin.com:
; SOA Record
$TTL 3600
;
@ IN SOA notessysadmin.com. admin.notessysadmin.com. (
2012080300 ; Serial
3600 ; Refresh [1h]
900 ; Retry [10m]
1209600 ; Expire [14d]
3600 ) ; Minimum TTL [1h]
; A Records
@ IN A x.x.x.x ;IP адрес notessysadmin.com
ns IN A x.x.x.x ;IP адрес ns.notessysadmin.com
ns2 IN A x.x.x.x ;IP адрес ns2.notessysadmin.com
; CNAME Records
cname1 IN CNAME notessysadmin.com.
cname2 IN CNAME notessysadmin.com.
www IN CNAME @
ftp IN CNAME @
; MX Records
@ MX 0 mx.notessysadmin.com.
@ MX 10 mx2.notessysadmin.com
; NS Records
@ IN NS ns.notessysadmin.com.
@ IN NS ns2.notessysadmin.com.
Точки в конце названий доменов должны быть обязательно.
Где:
Serial— Серийный номер. Каждый раз при изменении каких-либо данных его нужно обязательно менять. Когда меняется серийный номер, зона обновляется на всех серверах. Использвать следующий формат: ГГГГММДДнн (год, месяц, день, нн — порядковый номер изменения за день). Если второй раз за день вносятся измения, то указать "нн" равным 01, если третий — 02, и т.д.Refresh— интервал, через который slave сервера должны обращаться к primary серверу и проверять обновление зоны.Retry— если slave серверу не удалось обратится к primary серверу, через это время он должен повторить свой запрос.Expiry— если в течении этого времени slave сервер так и не смог обновить зону с primary сервера, то slave должен прекратить обслуживать эту зону. RFC 1912 рекомендует значение 1209600 - 2419200 секунд (14-28 дней)TTL— время кеширования отрицательных ответов (ответ "домен невозможно разрешить в IP адрес")
A Records - address record или запись адреса связывает имя хоста с адресом IP.
CNAME - canonical name record или каноническая запись имени (псевдоним) используется для перенаправления на другое имя.
MX Records - mail exchange или почтовый обменник указывает сервер(ы) обмена почтой для данного домена.
NS Records - name server указывает на DNS-сервер(а) для данного домена.
После внесения любых изменений необходимо изменить Serial зоны на +1 и выполнить команду:
rndc reload notessysadmin.com
Тогда все slave сервера через час (Refresh=3600) обновят зону. Если надо прямо щас, то еще и:
rndc notify notessysadmin.com
Но в этом случае обновятся только сервера прописанные в allow-transfer на мастере. Обновление же остальных будет происходить согласно их настройкам.
Всем новым файлам назначать права 644 (rw-r--r--) и владельца bind:
FreeBSD: chmod 644 -R /etc/namedb/master/ chown -R bind:bind /etc/namedb/master/ Linux: chmod -R 644 /etc/bind/slave/ chown -R bind:bind /etc/bind/slave/
Slave NS
Slave ns развернуты на Линуксе (Ubuntu 12.04). Файл конфига: /etc/bind/named.conf.zones, чтобы он заработал надо в /etc/bind/named.conf добавить следующую строку:
include "/etc/bind/named.conf.zones";
Часть конфига на примере того же notessysadmin.com:
zone "notessysadmin.com" {
type slave;
file "/etc/bind/slave/notessysadmin.com";
masters { x.x.x.x };
};
master - IPшник держателя мастер зоны
Вообще, если все настроено, то на slave серверах делать ни чего не надо.
Если создается новая зона, то необходимо прописать ее в конфигурационный файл /etc/bind/named.conf.zones, файл зоны создастся автоматически.
Возможные ошибки при создании файла новой зоны.
Фича named для раздачи различных IP адресов разным клиентам.
Очень подробное описание named
В дополнение
Все.