- Статья подходит для установки и настройки bind 9.12
- Настройка серверная, а потому наш named, как и положено на защищенном сервере, будет резвиться в песочнице и отдавать только свои зоны.
- Использованные версии ПО:
# uname -sr FreeBSD 10.3-RELEASE
# pkg info | grep bind bind910-9.10.4P5_1 BIND DNS suite with updated DNSSEC and DNS64 # pkg info | grep bind bind912-9.12.0_3 BIND DNS suite with updated DNSSEC and DNS64
- Установка
# cd /usr/ports/dns/bin910 # make install clean
Конфиг:[ ] DOCS Build and/or install documentation [ ] FETCHLIMIT Enable the query quotas for resolvers [ ] FILTER_AAAA Enable filtering of AAAA records [ ] FIXED_RRSET Enable fixed rrset ordering [ ] GEOIP Allow geographically based ACL. [x] IDN International Domain Names support [x] IPV6 IPv6 protocol support [ ] JSON JSON file/format/parser support [x] LARGE_FILE 64-bit file support [ ] MINCACHE Use the mincachettl patch [ ] PORTREVISION Show PORTREVISION in the version string [ ] PYTHON Build with Python utilities [ ] QUERYTRACE Enable the very verbose query tracelogging [ ] RPZ_NSDNAME Enable RPZ NSDNAME policy records [ ] RPZ_NSIP Enable RPZ NSIP trigger rules [x] SIGCHASE dig/host/nslookup will do DNSSEC validation [ ] START_LATE Start BIND late in the boot process [x] THREADS Threading support ──────────────────────── Dynamically Loadable Zones ────────────────────── [ ] DLZ_POSTGRESQL DLZ Postgres driver [ ] DLZ_MYSQL DLZ MySQL driver (no threading) [ ] DLZ_BDB DLZ BDB driver [ ] DLZ_LDAP DLZ LDAP driver [ ] DLZ_FILESYSTEM DLZ filesystem driver [ ] DLZ_STUB DLZ stub driver ─────────────────────── GSSAPI Security API support ────────────────────── ( ) GSSAPI_BASE Using Heimdal in base ( ) GSSAPI_HEIMDAL Using security/heimdal ( ) GSSAPI_MIT Using security/krb5 (*) GSSAPI_NONE Disable ──────────────────── Choose which crypto engine to use ─────────────────── (*) SSL Build with OpenSSL (Required for DNSSEC) ( ) NATIVE_PKCS11 Use PKCS#11 native API (**READ HELP**) ─────────── Enable GOST ciphers, needs SSL (see help on 8 and 9) ───────── ( ) GOST GOST raw keys (new default) ( ) GOST_ASN1 GOST using ASN.1
- Настройка
/etc/rc.conf:named_enable="YES" named_chrootdir="/var/named"
/var/named - это и есть наша песочница, где будет жить named
Делаем песочницу. Перед этим обязательно останавливаем named, если он вдруг был запущен!# делаем директорию песочницы в /var # mkdir -p /var/named/usr/local/etc/ # переносим в песочницу конфиг из /usr/local/etc # mv /usr/local/etc/namedb /var/named/usr/local/etc/ # делаем ссылку на namedb из /var/named/usr/local/etc в /usr/local/etc # cd /usr/local/etc # ln -s /var/named/usr/local/etc/namedb
- Черновик
/usr/local/etc/namedb/named.conf
acl localnet { 192.168.0.0/22; 127.0.0.1;};. acl all { any; }; options { // Запрет отдавать номер версии сервера. version none; // Запрет отдавать имя хоста, на котором работает BIND hostname none; // запрет отдавать запросы об идентификаторе server-id none; // Разрешаем по-умолчанию днс запросы только от доверенных сетей allow-query { localnet; }; // Разрешать ли рекурсивные запросы, или отдавать только те зоны, которые держит сам сервак. recursion yes; // Посылка рекурсивных запросов // разрешена только клиентам подсети allow-recursion { localnet; }; // Игнорировать запросы blackhole // DNS-сервер не посылает запросы к DNS-серверам из этого списка // и не отвечает на запросы, получаемые от этих серверов. blackhole { 0.0.0.0/8; 10.0.0.0/8; 169.254.0.0/16; 172.16.0.0/12; 192.0.2.0/24; 192.168.0.0/16; 224.0.0.0/4; 240.0.0.0/4; }; };
allow-query: указывает список хостов, которым разрешено запрашивать все зоны name-сервера или конкретную зону внутри name-сервера.
allow-recursion: указывает список хостов, которым разрешено создавать рекурсивные запросы к name-серверу для всех зон или для конкретной зоны, обслуживаемой name-сервером.
allow-transfer: указывает список хостов, которым разрешено инициировать запросы зонной пересылки к name-серверу для всех зон или для конкретной зоны внутри name-сервера. Данное утверждение обязательно требуется в конфигурации первичного name-сервера.
allow-update: указывает список хостов, которым разрешено инициировать запросы динамического обновления.
allow-update-forwarding: указывает список хостов, которым разрешено перенаправление запросов динамического обновления (независимо от того, кто является источником запроса).
allow-notify: указывает список хостов, с которых можно принимать сообщения DNS NOTIFY, говорящих об изменениях в зонном файле. Данный список относится только к конфигурации вторичного name-сервера.
blackhole: указывает список хостов, которые входят в черный список (запрещен доступ) для инициализации любых транзакций с данным name-сервером.
- Запускаем
# /usr/local/etc/rc.d/named start