Всё что будет написано ниже, 100% работает на Debian 7.3.
Исходные данные
192.168.100.1 — внутренний IP
mydrafts.local — «локальный» домен
server — имя данного сервера
Установим:
[root@server~] # apt-get install bind9 |
Настройки: файл /etc/bind/named.conf.options
[root@server ~] # cat /etc/bind/named.conf.options
acl mydraftsnet {192.168.100.0/24; 127.0.0.1; };
options {
directory "/var/cache/bind";
dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { none; };
allow-query { mydraftsnet; };
};
acl mydraftsnet {192.168.100.0/24; 127.0.0.1; }; — только подсеть 192.168.100.0/24 сможет запрашивать зоны с этого сервера. |
Настройки: файл /etc/bind/named.conf.local
zone "mydrafts.local" {
type master;
file "/etc/bind/db.mydrafts.local";
};
zone "100.168.192.in-addr.arpa" {
type master;
file "/etc/bind/100.168.192.in-addr.arpa.zone";
}; |
Файл /etc/bind/db.mydrafts.local
[root@server1 ~] # cat /etc/bind/db.mydrafts.local
$TTL 30
$ORIGIN mydrafts.local.
@ IN SOA dns.mydrafts.local. admin.mydrafts.local. (
2014012101 ;Serial
1d ;Refresh
1h ;Retry
1w ;Expire
2h ) ;Negative Cache TTL
;
@ IN NS dns.mydrafts.local.
@ IN A 192.168.100.1
dns IN A 192.168.100.1
ics IN A 192.168.100.1
ntp IN CNAME ics
dhcp IN CNAME ics |
Где:
$ORIGIN — оригинальное имя зоны
dns.mydrafts.local. — имя днс-сервера (обязательна точка в конце).
admin.mydrafts.local. — email администратора сервера, только вместо символа @ используется точка.
Serial — серийный номер зоны в формате ГГГГММДД и номер текущего изменения за этот день. (Важно, при каждом изменении, нужно редактировать этот номер увеличивая его в большую сторону) Пример: 2014012101.
Refresh — период времени с которым вторичный сервер днс обращается к основному.
Retry — период с которым вторичный сервер будет повторять попытки при неудачном обновлении.
Expire — максимальное время использования данных на вторичном сервере, после которого делается обязательное обновление.
Negative Cache TTL — время актуальности данных в кэше запросов.
Далее идут записи имён хостов с ip-адресами или псевдонимами.
В конце этого файла нужно обязательно оставить пустую строку!
Настройки: файл зоны обратного просмотра /etc/bind/100.168.192.in-addr.arpa.zone
[root@server1 ~] # cat /etc/bind/100.168.192.in-addr.arpa.zone
$TTL 30
$ORIGIN 100.168.192.in-addr.arpa.
@ IN SOA dns.mydrafts.local. admin.mydrafts.local. (
2014012101 ;Serial
1d ;Refresh
1h ;Retry
1w ;Expire
2h) ;Negative Cache TTL
;
NS dns.mydrafts.local.
1 PTR dns.mydrafts.local.
1 PTR ics.mydrafts.local. |
В этом файле должны быть только записи типа PTR, никаких IN тут быть не должно. И в конце этого файла так же должна быть пустая строка.
Перегружаем DNS-сервер:
[root@server1 ~] # rndc reload server reload successful |
Проверим файлы зон на наличие ошибок:
[root@server1 ~] # named-checkconf -z zone mydrafts.local/IN: loaded serial 2014012101 zone 100.168.192.in-addr.arpa/IN: loaded serial 2014012101 zone localhost/IN: loaded serial 2 zone 127.in-addr.arpa/IN: loaded serial 1 zone 0.in-addr.arpa/IN: loaded serial 1 zone 255.in-addr.arpa/IN: loaded serial 1 |
Настройки «сам с себя»
[root@server1 ~] # nano /etc/resolv.conf search mydrafts.local domain mydrafts.local nameserver 127.0.0.1 |
Тестирование. Зона прямого просмотра:
[root@server1 ~] # nslookup ics.mydrafts.local Server: 127.0.0.1 Address: 127.0.0.1#53 Name: ics.mydrafts.local Address: 192.168.100.1 |
Тестирование. Зона обратного просмотра:
[root@server1 ~] # nslookup 192.168.100.1 Server: 127.0.0.1 Address: 127.0.0.1#53 1.100.168.192.in-addr.arpa name = ics.mydrafts.local. 1.100.168.192.in-addr.arpa name = dns.mydrafts.local. |
Если ошибок нет, значит установка и настройка завершены удачно.

