Руководство FreeBSD
Пред. | Глава 23. Сетевые серверы | След.

# 23.7. BIND9 и FreeBSD

Автор: Tom Rhodes. Перевод на русский язык: Dmitry Morozovsky.

FreeBSD начиная с версии 5.3 содержит в базовой поставке сервер DNS BIND9. Среди прочих нововведений стоит отметить новые возможности, связанные с безопасностью, новую организацию файлов конфигурации и автоматическое использование опции chroot(8). Первая часть этой главы посвящена обсуждению новых возможностей и их использования, вторая описывает процесс обновления сервера DNS при переходе на FreeBSD 5.3. Мы будем ссылаться на сервер BIND как named(8). Мы подразумеваем, что читатель знаком с терминологией, описываемой в предыдущей главе.

Файлы конфигурации для `named` в настоящее время располагаются в каталоге `/var/named/etc/namedb/` и требуют модификации перед началом использования сервера. Большая часть работы по конфигурации сервера DNS происходит именно в этом каталоге.

## 23.7.1. Конфигурация основной (Master) зоны

Для создания основной зоны перейдите в каталог `/var/named/etc/namedb/` и выполните команду

    # sh make-localhost

При удачном стечении обстоятельств в каталоге `master` появится два новых файла: `localhost.rev` для локального домена и `localhost-v6.rev` для локальной зоны IPv6. В поставляемом стандартном файле конфигурации `named.conf` уже есть ссылки на оба файла зон.

## 23.7.2. Конфигурация зависимой (Slave) Зоны

Дополнительные домены и поддомены могут быть добавлены как зависимые зоны. В большинстве случаев достаточно просто скопировать файл `master/localhost.rev` в каталог `slave` и изменить копию. После изменения файлов зон нужно добавить ссылки на них в основной файл конфигурации `named.conf`, например, так:

    zone "example.com" {
        type slave;
        file "slave/example.com";
        masters {
            10.0.0.1;
        };
    };

    zone "0.168.192.in-addr.arpa" {
        type slave;
        file "slave/0.168.192.in-addr.arpa";
        masters {
            10.0.0.1;
        };
    };

Отметим, что использованный в этом примере IP адрес является адресом, с которого будут копироваться файлы зон; этот адрес не обязательно является публичным сервером DNS.

## 23.7.3. Стартовая конфигурация системы

Для автоматического запуска даемона `named` при загрузке системы добавьте в файл стартовой конфигурации `rc.conf` строку

    named_enable="YES"

Есть и другие параметры конфигурации, но эта строка -- минимально необходима. Список параметров можно найти на странице справочника rc.conf(5). Если запуск `named` не разрешен в `rc.conf`, сервер можно запустить вручную командой

    # /etc/rc.d/named start

## 23.7.4. BIND9: вопросы безопасности

FreeBSD автоматически запускает `named` в ограниченном пространстве chroot(8); кроме того, существует еще несколько средств, помогающих защитить сервис DNS от возможных атак.

### 23.7.4.1. Списки ограничения доступа

Для ограничения доступа к зонам могут применяться списки доступа. Для этого опишите для домена список IP адресов, которым разрешены запросы к содержимому доменной зоны, и используйте имя этого списка в конфигурации зоны. Вот пример описания списка ограничения доступа:

    acl "example.com" {
        192.168.0.0/24;
    };

    zone "example.com" {
        type slave;
        file "slave/example.com";
        masters {
            10.0.0.1;
        };
        allow-query { example.com; };
    };

    zone "0.168.192.in-addr.arpa" {
        type slave;
        file "slave/0.168.192.in-addr.arpa";
        masters {
            10.0.0.1;
        };
        allow-query { example.com; };
    };

### 23.7.4.2. Версия сервера

Разрешать всем запросы о версии вашего DNS сервера может быть не самой лучшей идеей: возможный злоумышленник может воспользоваться ей для выяснения известных ошибок и уязвимостей и применить их вашего сервера. Для предотвращения этого в раздел options файла конфигурации `named.conf` можно вписать строку, скрывающую версию сервера:

    options {
        directory       "/etc/namedb";
        pid-file    "/var/run/named/pid";
        dump-file       "/var/dump/named_dump.db";
        statistics-file "/var/stats/named.stats";
        version     "None of your business";

Пред. | Начало | След.
Domain Name System (DNS) | Уровень выше | Apache HTTP сервер

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

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