В сети очень много статей на тему установки и настройки DNS-сервера Bind9. Они разные. Некоторые написаны просто и доступно, но нет пояснений зачем и почему. В других материал подан очень подробно, но новичкам такой материал осилить сложно. Я же попытаюсь совместить достоинства способов подачи материала, нащупать ту золотую середину, которая подойден большинству. Но опять таки, я не претендую на истину в последней инстанции и готов принять конструктивную критику.
Итак, вступление закончено, приступим к самой статье. Я как приверженнец Debian, буду описывать процесс установки и настройки именно на этой ОС. Дано Debian 8 «Jessie» установленный вот с такими параметрами (Ну разве кроме пункта web server, он пригодится тем, кто в дальнейшем будет работать с веб-сервером Apache):
Настройки сети:
1 2 3 |
|
Для решения данной задачи настроим сервер таким образом, чтобы при обращении по доменному имени внутри сети он отвечал по локальному адресу. Все комманды выполняются от имени суперпользователя (root).
Сначала установим необходимые пакеты:
1
|
|
Теперь необходимо настроить файл конфигурации Bind9:
1
|
|
Приведём его к следующему виду:
1 2 3 4 5 6 7 8 |
|
Расшифровка:
acl
- создает ACL (Access control list) - так называемый список контроля доступа, с помощью которого мы ограничиваем диапазон адресов которые могут запрашивать зоны с нашего сервера. В данном примере это разрешено подсети 192.168.1.0/24
. и локальному хосту.
allow-query { mynetwork; };
- список тех, кто имеет право запрашивать информацию. Можно ограничить с помошью acl либо установить allow-query { any; };
- что будет означать, что запросы разрешенмы всем.
forwarders {192.168.1.1; 8.8.8.8; };
- это DNS провайдера, или любые другие, у которых можно получить информацию о доменах неизвестных вашему серверу.
listen-on-v6 { none; }
- запрещает работать с IPv6.
Настройка зон
Для начала покорректируем файл локальной конфигурации Bind9:
1
|
|
Этот файл содержит локальную конфигурацию DNS-сервера, в нем объявляются зоны, связанные с доменами этого сервера. Добавляем в него файлы наших зон (зону прямого просмотра и зону обратного просмотра):
1 2 3 4 5 6 7 8 9 10 |
|
Зона прямого просмотра
Зона в DNS — это часть пространства имён DNS, управляемая конкретным сервером или группой серверов DNS. Зона прямого просмотра - это тип зоны в которой доменное имя преобразуется в IP-адрес. Создадим файл для зоны прямого просмотра:
1
|
|
Со следующим содержимым:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
В конце этого файла нужно обязательно оставить пустую строку!
Расшифровка:
$ORIGIN
- оригинальное имя зоны
ns1.nixway.loc.
- Наш DNS-сервер (точка в конце обязательна).
admin.nixway.loc.
- email администратора сервера, где вместо символа @ используется точка.
Serial
- серийный номер зоны в формате ГГГГММДД и номер текущего изменения за этот день. (Важно, при каждом изменении, нужно редактировать этот номер увеличивая его в большую сторону) Пример: 2015020301.
Refresh
- период времени с которым вторичный сервер днс обращается к основному.
Retry
- период с которым вторичный сервер будет повторять попытки при неудачном обновлении.
Expire
- максимальное время использования данных на вторичном сервере, после которого делается обязательное обновление.
Negative Cache TTL
- время актуальности данных в кэше запросов.
Далее идут записи имён хостов с ip-адресами или псевдонимами.
ns.provider.org.
- вместо этой записи можете указать NS вашего регистратора либо Free DNS сервиса.
Зона обратного просмотра
Зона обратного просмотра, выполняет преобразование IP-адреса в доменное имя. Создадим файл для зоны обратного просмотра:
1
|
|
И запишем туда следующее:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
В этом файле должны быть только записи типа PTR
. В конце этого файла так же должна быть пустая строка. Число 10
- это последний октет в IP адресе нашего сервера.
Например, можно добавить в файл зоны прямого просмотра строку:
1
|
|
А в файл зоны обратного просмотра строку:
1
|
|
Тогда по адресу router.nixway.loc
в браузере будет открываться web-интерфейс роутера (эквивалентно 192.168.1.1), но только внутри локальной сети.
Проверка
Проверим файлы зон на наличие ошибок командой:
1
|
|
Если ошибок нет, обновим информацию о зонах:
1
|
|
Теперь необходимо отредактировать resolv.conf:
1
|
|
Приводим его в следующий вид:
1 2 3 4 |
|
Проверку можно сделать двумя командами:
1 2 |
|
Которые должны выдать cледующий результат:
1 2 |
|
Последние штрихи
Если DHCP у вас раздает роутер, не забудьте установить выдаваемые по умолчанию DNS сервера 192.168.1.10 и 192.168.1.1 Проверьте корректность работы, введя в консоли Windows-машины
1
|
|
Если маршрут пошел сразу на адрес 192.168.1.10, значит все работает корректно. Если нет, пропробуйте очистить кэш DNS и посторить еще раз:
1
|
|
Не забудьте пробросить необходимые порты на роутере, если это необходимо конечно.
Обсуждение статьи на форуме.