В то время как управление иерархией DNS может быть довольно сложным процессом, все же существует возможность настроить мини-DNS-сервер на нашей FreeBSD-системе, которая к тому же функционирует в качестве шлюза к Вашему Интернет-провайдеру.
Основываясь на файлах каталога /etc/namedb, который был установлен процессе установки системы FreeBSD, стало возможным создать сервер имен, который будет одновременно и авторитетным для нашей локальной сети, используемой в этом руководстве, и "парадной дверью" в архитектуре DNS сети Интернет.
Для этой минимальной конфигурации DNS, необходимы только три файла:
Файл /etc/namedb/named.root автоматически устанавливается как часть базовой установки системы FreeBSD. Остальные два файла должны быть созданы вручную.
Файл /etc/namedb/named.boot управляет параметрами запуска DNS-сервера и содержит информацию, которую необходимо знать этому серверу имен, а именно:
где искать конфигурационные файлы,
за какие "доменные имена" он отвечает и
где искать другие DNS-сервера.
Используя редактор 'ee', создайте файл /etc/namedb/named.boot содержащий следующее:
; загрузочный файл для мини-сервера имен directory /etc/namedb ; type domain source host/file backup file cache . named.root primary my.domain. mydomain.db
Строки, начинающиеся с символа ";" являются комментарием. Строки, которые несут самую существенную информацию в этом файле приведены ниже:
directory /etc/namedb
Сообщает серверу имен о том, где находятся конфигурационные файлы, на которые имеются ссылки в последних секциях файла '/etc/namedb/named.boot'.
cache . named.root
Сообщает серверу имен о том, что список корневых DNS-серверов Интернет находится в файле 'named.root'. (Этот файл включен в базовую установку FreeBSD и его содержимое не описывается в этом руководстве.)
primary my.domain. mydomain.db
Сообщает серверу имен о том, что он является "авторитетным" для домена "my.domain" и что список имен и IP-адресов систем домена "my.domain" (локальная сеть) находится в файле 'mydomain.db'.
После того, как файл /etc/namedb/named.boot будет создан и сохранен, переходите к следующему разделу для создания файла /etc/namedb/mydomain.db.
Файл /etc/namedb/mydomain.db содержит имена и IP-адреса каждой системы в Вашей локальной сети.
За более подробной информацией по операторам, используемым в этом файле обращайтесь к man-странице справочного руководства по named.
Файл /etc/namedb/mydomain.db для нашего небольшого DNS-сервера содержит следующее:
@ IN SOA my.domain. root.my.domain. ( 961230 ; Serial 3600 ; Refresh 300 ; Retry 3600000 ; Expire 3600 ) ; Minimum IN NS curly.my.domain. curly.my.domain. IN A 192.168.1.1 # The FreeBSD box larry.my.domain. IN A 192.168.1.2 # The Win'95 box moe.my.domain. IN A 192.168.1.3 # The WfW box shemp.my.domain. IN A 192.168.1.4 # The Windows NT box $ORIGIN 1.168.192.IN-ADDR.ARPA IN NS curly.my.domain. 1 IN PTR curly.my.domain. 2 IN PTR larry.my.domain. 3 IN PTR moe.my.domain. 4 IN PTR shemp.my.domain. $ORIGIN 0.0.127.IN-ADDR.ARPA IN NS curly.my.domain. 1 IN PTR localhost.my.domain.
Простыми словами, этот файл объявляет, что локальный DNS-сервер:
имеет полномочия ("SOA") на домен с именем 'my.domain',
является сервером имен ("NS") для домена 'my.domain',
является ответственным за обратное преоразование для всех IP-адресов, которые начинаются с '192.168.1.' и '127.0.0.' ("$ORIGIN ...")
Добавляя информацию о новой рабочей станции в этот файл, Вы должны добавлять две строки для этой системы: одну, в верхнюю секцию, которая отвечает за преобразование имени системы в Интернет-адрес ("IN A"), а другую, которая, наоборот, преобразует адрес в имя узла, в секцию $ORIGIN 1.168.192.IN-ADDR.ARPA.
По умолчанию DNS-сервер ('/usr/sbin/named') не запускается при загрузке системы. Однако, вы можете дать указание системе запускит DNS-сервер, изменив одну единственную строку в файле '/etc/rc.conf':
Используя редактор 'ee', загрузите файл /etc/rc.conf. Опустите курсор примерно на 40 строк вниз и Вы заметите секцию, которая выглядит как показано ниже:
--- named_enable="NO" # Run named, the DNS server (or NO). named_flags="-b /etc/namedb/named.boot" # Flags to named (if enabled). ---
--- named_enable="YES" # Run named, the DNS server (or NO). named_flags="-b /etc/namedb/named.boot" # Flags to named (if enabled). ---
Альтернативный способ: запустите демон сервера имен, введя следующую команду:
Какие бы изменения Вы не производили в любом из файлов каталога /etc/namedb, Вам необходимо прервать выполнение сервера имен, для того, чтобы изменения вступили в силу. Это выполняется с помощью следующей системной команды: