Подробное руководство по PPP
Пред. |  | След.

# Глава 6. Упражнения для интересующихся студентов

# 6.1. Создание простого DNS-сервера

В то время как управление иерархией DNS может быть довольно сложным процессом, все же существует возможность настроить мини-DNS-сервер на нашей FreeBSD-системе, которая к тому же функционирует в качестве шлюза к Вашему Интернет-провайдеру.

Основываясь на файлах каталога `/etc/namedb`, который был установлен процессе установки системы FreeBSD, стало возможным создать сервер имен, который будет одновременно и авторитетным для нашей локальной сети, используемой в этом руководстве, и "парадной дверью" в архитектуре DNS сети Интернет.

Для этой минимальной конфигурации DNS, необходимы только три файла:

    /etc/namedb/named.boot
    /etc/namedb/named.root
    /etc/namedb/mydomain.db

Файл `/etc/namedb/named.root` автоматически устанавливается как часть базовой установки системы FreeBSD. Остальные два файла должны быть созданы вручную.

## 6.1.1. Файл `/etc/namedb/named.boot`

Файл `/etc/namedb/named.boot` управляет параметрами запуска DNS-сервера и содержит информацию, которую необходимо знать этому серверу имен, а именно:

1. где искать конфигурационные файлы,

2. за какие "доменные имена" он отвечает и

3. где искать другие 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`.

## 6.1.2. Файл `/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`.

## 6.1.3. Запуск DNS-сервера

По умолчанию 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).
    ---

Сохраните файл и перезагрузите систему.

Альтернативный способ: запустите демон сервера имен, введя следующую команду:

    # named -b /etc/namedb/named.boot

Какие бы изменения Вы не производили в любом из файлов каталога `/etc/namedb`, Вам необходимо прервать выполнение сервера имен, для того, чтобы изменения вступили в силу. Это выполняется с помощью следующей системной команды:

    # kill -HUP `cat /var/run/named.pid`

Пред. | Начало | След.
Тестирование локальной Ethernet-сети | ═ | Использование PPP-фильтров

Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите <doc@FreeBSD.org>.
По вопросам, связанным с русским переводом документации, пишите в рассылку <frdp@FreeBSD.org.ua>.
Информация по подписке на эту рассылку находится на сайте проекта перевода.