24.11. Создание общедоступного сервера DNS с использованием tinydns

Проблема

Под вашим управлением находятся серверы, которые должны быть доступны для внешнего мира (почта, веб, FTP). Чтобы пользователи могли использовать доменные имена, такие как www.piter.com, вместо IP-адресов, вам требуется настроить собственный сервер DNS. Сервер BIND кажется слишком сложным, и у него есть известные проблемы с безопасностью, поэтому вы выбрали djbdns для обеспечения надёжной и безопасной работы. Как настроить такой сервер?

Решение

Для начала выполните подготовительные действия, описанные в разделе 24.6, а затем следуйте дальнейшим инструкциям для установки и настройки tinydns, авторитетного сервера DNS из пакета djbdns. Если вы также используете сервер dnscache, убедитесь, что его IP-адрес отличается от IP-адреса tinydns, чтобы избежать конфликта при одновременной работе обоих сервисов.

Установите djbdns так, как указано в разделе 24.7. Затем создайте двух системных пользователей для служб tinydns и dnslog:

# useradd -d /dev/null -s /bin/false tinydns
# useradd -d /dev/null -s /bin/false dnslog

Для создания каталога сервиса и задания IP-адреса используйте команду tinydns-conf, указав пользователей в соответствующем порядке:

# tinydns-conf tinydns dnslog /etc/tinydns 208.201.239.36

Затем создайте символическую ссылку для запуска службы:

# ln -s /etc/tinydns /service

Подождите несколько секунд, затем проверьте статус сервера командой svstat:

# svstat /service/tinydns
/service/tinydns: up (pid 6811) 14 seconds

Если tinydns не запускается, проверьте журнал в /etc/tinydns/log/main/current для диагностики.

Создание записей DNS

Теперь можно переходить к созданию записей для домена. Допустим, вы зарегистрировали домен pixels.net и хотите настроить записи для нескольких серверов. Ниже представлены настройки, необходимые для домена pixels.net, который будет содержать три хоста, указанные в таблице:

АдресИмяРольПсевдоним
208.201.239.36parsleyDNS, почта-
208.201.239.37sageFTPftp
208.201.239.38rosemaryВеб-серверwww

Команды для создания этих записей:

# cd /service/tinydns/root
# ./add-ns pixels.net 208.201.239.36
# ./add-ns .239.201.208.in-addr.arpa 208.201.239.36
# ./add-host parsley.pixels.net 208.201.239.36
# ./add-host sage.pixels.net 208.201.239.37
# ./add-host rosemary.pixels.net 208.201.239.38
# ./add-alias ftp.pixels.net 208.201.239.37
# ./add-alias www.pixels.net 208.201.239.38
# make

Примечание

Для управления записями в djbdns используются конфигурационные сценарии, а не прямое редактирование файла /etc/tinydns/root/data. Основные сценарии, включённые в пакет:

Советы по использованию djbdns и tinydns

djbdns и tinydns обеспечивают безопасную и быструю работу сервера DNS, однако при настройке нужно учитывать следующие рекомендации:

См. также

Создание сервера DNS