Установка bind 9 (named) в centos 7

Install Bind9 to Centos 7

Bind

На основе статьи http://serveradmin.ru/nastroyka-dns-servera-bind-v-centos-7/

Все текущие настроенные конфиги будут вложены сюда, включая BIND, zone, firefall. Ниже если надо ставить снуля и для понимания

Установка компонентов

Файл конфигурации нашего сервера располагается по адресу /etc/named.conf

Настройка Master

Открываем его и приводим к следующему виду:

Правим немного конфигурацию

options { listen-on port 53 { any; }; listen-on-v6 port 53 { none; }; directory       «/var/named»; dump-file       «/var/named/data/cache_dump.db»; statistics-file «/var/named/data/named_stats.txt»; memstatistics-file «/var/named/data/named_mem_stats.txt»;

allow-query     { any; };

/* — If you are building an AUTHORITATIVE DNS server, do NOT enable recursion. — If you are building a RECURSIVE (caching) DNS server, you need to enable recursion.

— If your recursive DNS server has a public IP address, you MUST enable access control to limit queries to your legitimate users. Failing to do so will cause your server to become part of large scale DNS amplification attacks.

Implementing BCP38 within your network would greatly reduce such attack surface */ //оставляем, так как будем еще резолвить другие зоны

recursion yes;

dnssec-enable yes;
dnssec-validation yes;

/* Path to ISC DLV key */
bindkeys-file «/etc/named.iscdlv.key»;

managed-keys-directory «/var/named/dynamic»;

pid-file «/run/named/named.pid»; session-keyfile «/run/named/session.key»;

};

logging { channel default_debug { file «data/named.run»; severity dynamic; };

};

zone «.» IN { type hint; file «named.ca»;

};

include «/etc/named.rfc1912.zones»;
include «/etc/named.root.key»;

Создаем зону

Вносим в конфиг

Создаем папку под логи и выдаем права

Дальше подключаем файл зоны в конфигурационном файле bind — /etc/named.conf

Добавляем зону

Настройка пересылки прямой зоны (https://serverfault.com/questions/99101/conditional-dns-forwarding-with-named-on-linux)

Добавляем пересылку на EXAMPLE.RU

в самом конфиге пишем

Настройка пересылки обратной зоны

Если мы хотим быть владельцем обратной зоны то настраиваем себя как master

Пример самой зоны

Выдаем права

в настройка named.conf добавляем

Включаем логирование в файл, поэтому добавляем логи в конфиг Bind следующее, не забыв закоментировать стандартные настройки логирования

Проверяем корректность конфига

Добавляем BIND в автозапуск

Перечитываем конфигурацию named с помощью rndc:

Перезапускаем bind:

Отключаем поддержку IPv6 в BIND

Перезагружаем сервис

Меняем адрес DNS сетевого интерфейса на 127.0.0.1

В DNS указываем 127.0.0.1

Дополнительные утилиты

Рекомендуется использовать утилиту rndc для всего что она поддерживает, в том числе

Перегрузить зоны и конфигурации  (Reload configuration file and zones)

Перегрузить конкретную зону

# Очистка кэша

# Очистка статус сервера

Reload configuration file and new zones only

Проверить статус Bind

А на slave сотрим предпоследнею строку номера зоны sending notifies (serial 2016040602)

Логи лежат тут

/var/log/named/

##проверка конфига – если ничего не написал, ошибок нет

#Место хранения конфига зоны

Настройка сервера аналогична MASTER, НО отличается конфиг BIND

За основу так же берем конфиг, что был для Master, отличие будет в настройках зоны slave

На master DNS правим настройку зоны на

Настройки slave zone, если будут ошибки в логах проверить что права на /var/named/slaves есть у named

ПОМНИМ, ВНОСЯ ИЗМЕНЕНИЯ В ЗОНУ ОБНОВЛЯЕМ СЕРИЙНЫЙ НОМЕР —

например 2016040602  ;Serial ВАЖНО !!!

Конвертация SLAVE zone в текстовый вид

Первоисточник  https://kb.isc.org/article/AA-00608/0/Converting-Zone-Files-Between-Text-and-Raw-Formats.html
Manual Conversion:  The named-compilezone utility, which is part of the BIND distribution, can be used to convert zones from text to raw and from raw to text.

Бекап

Нужно бекапить файл конфига

Скрипт firewall

Данные из папки на master

Источник: https://denisitpro.wordpress.com/2016/05/07/install-bind9-to-centos-7/

Установка и настройка ДНС сервера BIND с DNSSEC в CentOS

Установка ДНС сервера BIND в CentOS 6 и CentOS 7 особо ничем не отличается, за исключением доступной в «родном» репозитории версии.

В нашем случае мы будем устанавливать BIND в CentOS 6 из репозитория CentALT, потому как только в нём доступна самая свежая на данный момент (bind x86_64 44:9.10.2-1.

el6) версия, которая поддерживает самые новые «фичи» среди которых и автоподписание зон, что избавляет от необходимости выполнять «dnssec-signzone -S -N INCREMENT zone-filename.zone» после каждого изменения файла зоны.

Необходимость в своём ДНС серванте с поддержкой DNSSEC возникает главным образом из-за того, что многие регистраторы доменных имён, а точнее будет сказать большинство из них, не предоставляют возможности юзеру подписывать свой домен на их ДНС серверах, а то и вовсе не дают использовать DNSSEC (т.е. полностью и всецело не поддерживат DNSSEC).

Если наш регистратор не предоставляет ДНС серверов с поддержкой DNSSEC для нашего домена, но в тоже время хотябы поддерживает отправку DS/KSK записи в корневые домены (.com/.org/.ru etc), то в таком случае для реализации DNSSEC для совего домена нам и потребуется свой собственный ДНС сервер BIND с DNSSEC поддержкой.

Установка ДНС сервера BIND с DNSSEC в CentOS

Посмотрим на информацию о пакетах bind и bind-utils:

$ yum info bind

Available Packages
Name        : bind
Arch        : x86_64
Epoch       : 32
Version     : 9.8.2
Release     : 0.37.rc1.el6_7.7
Size        : 4.0 M
Repo        : updates
Summary     : The Berkeley Internet Name Domain (BIND) DNS (Domain Name System)
            : server
URL         : http://www.isc.org/products/BIND/
License     : ISC
Description : BIND (Berkeley Internet Name Domain) is an implementation of the
            : DNS (Domain Name System) protocols. BIND includes a DNS server
            : (named), which resolves host names to IP addresses; a resolver
            : library (routines for applications to use when interfacing with
            : DNS); and tools for verifying that the DNS server is operating
            : properly.
 
 
$ yum info bind-utils

Installed Packages
Name        : bind-utils
Arch        : x86_64
Epoch       : 36
Version     : 9.9.1
Release     : 4.P3.el6
Size        : 439 k
Repo        : installed
From repo   : CentALT
Summary     : Utilities for querying DNS name servers
URL         : http://www.isc.org/products/BIND/
License     : ISC
Description : Bind-utils contains a collection of utilities for querying DNS
            : (Domain Name System) name servers to find out information about
            : Internet hosts. These tools will provide you with the IP addresses
            : for given host names, as well as other information about
            : registered domains and network addresses.
            :
            : You should install bind-utils if you need to get information from
            : DNS name servers.

Видим, что версия bind-utils уже установлена из CentALT репозитория и она выше (9.9.1), чем предлагаемая версия bind из репозитория updates (9.8.2) — это может вызвать проблемы при установке, например:


Error: Package: 32:bind-9.8.2-0.37.rc1.el6_7.7.x86_64 (updates)
           Requires: libdns.so.81()(64bit)
           Available: 32:bind-libs-9.8.2-0.37.rc1.el6.x86_64 (base)
               libdns.so.81()(64bit)
           Available: 32:bind-libs-9.8.2-0.37.rc1.el6_7.1.x86_64 (updates)
               libdns.so.81()(64bit)
           Available: 32:bind-libs-9.8.2-0.37.rc1.el6_7.2.x86_64 (updates)
               libdns.so.81()(64bit)
           Available: 32:bind-libs-9.8.2-0.37.rc1.el6_7.4.x86_64 (updates)
               libdns.so.81()(64bit)
           Available: 32:bind-libs-9.8.2-0.37.rc1.el6_7.5.x86_64 (updates)
               libdns.so.81()(64bit)
           Available: 32:bind-libs-9.8.2-0.37.rc1.el6_7.6.x86_64 (updates)
               libdns.so.81()(64bit)
           Available: 32:bind-libs-9.8.2-0.37.rc1.el6_7.7.x86_64 (updates)
               libdns.so.81()(64bit)
           Installed: 36:bind-libs-9.9.1-4.P3.el6.x86_64 (@CentALT)
               Not found
 You could try using —skip-broken to work around the problem
 You could try running: rpm -Va —nofiles —nodigest

Если это наш случай, то мы можем либо сначала удалить, а потом установить/переустанавить пакет bind из репозитория «updates»:

$ yum remove bind-utils bind-libs
$ yum install bind bind-utils

Dependencies Resolved
 
================================================================================
 Package         Arch        Version                         Repository    Size
================================================================================
Installing:
 bind            x86_64      32:9.8.2-0.37.rc1.el6_7.7       updates      4.0 M
 bind-utils      x86_64      32:9.8.2-0.37.rc1.el6_7.7       updates      186 k
Installing for dependencies:
 bind-libs       x86_64      32:9.8.2-0.37.rc1.el6_7.7       updates      887 k
 
Transaction Summary
================================================================================
Install       3 Package(s)
 
Total download size: 5.0 M
Installed size: 9.9 M
Is this ok [y/N]:
————————————————————————
 
Либо установить пакет bind из репозитория «CentALT» также на всяк случай предварительно удалив bind-utils и bind-libs:
———————————————————————————
$ yum remove bind-utils bind-libs
$ yum —disablerepo=»*» —enablerepo=»CentALT» install bind bind-utils
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror, priorities, versionlock
Setting up Install Process
Loading mirror speeds from cached hostfile
http://centos.alt.ru/repository/centos/6/x86_64/repodata/repomd.xml: [Errno 14] Peer cert cannot be verified or peer cert invalid
Trying other mirror.
Resolving Dependencies
—> Running transaction check
—> Package bind.x86_64 36:9.9.3-4.P2.el6 will be installed
—> Processing Dependency: libisccc.so.90()(64bit) for package: 36:bind-9.9.3-4.P2.el6.x86_64
—> Processing Dependency: liblwres.so.90()(64bit) for package: 36:bind-9.9.3-4.P2.el6.x86_64
—> Processing Dependency: libbind9.so.90()(64bit) for package: 36:bind-9.9.3-4.P2.el6.x86_64
—> Processing Dependency: libdns.so.99()(64bit) for package: 36:bind-9.9.3-4.P2.el6.x86_64
—> Processing Dependency: libisccfg.so.90()(64bit) for package: 36:bind-9.9.3-4.P2.el6.x86_64
—> Processing Dependency: libisc.so.95()(64bit) for package: 36:bind-9.9.3-4.P2.el6.x86_64
—> Package bind-utils.x86_64 36:9.9.3-4.P2.el6 will be installed
—> Running transaction check
—> Package bind-libs.x86_64 36:9.9.3-4.P2.el6 will be installed
—> Finished Dependency Resolution
 
Dependencies Resolved
 
================================================================================
 Package           Arch          Version                   Repository      Size
================================================================================
Installing:
 bind              x86_64        36:9.9.3-4.P2.el6         CentALT        2.5 M
 bind-utils        x86_64        36:9.9.3-4.P2.el6         CentALT        179 k
Installing for dependencies:
 bind-libs         x86_64        36:9.9.3-4.P2.el6         CentALT        953 k
 
Transaction Summary
================================================================================
Install       3 Package(s)
 
Total download size: 3.7 M
Installed size: 9.1 M
Is this ok [y/N]: y
Downloading Packages:
http://centos.alt.ru/repository/centos/6/x86_64/bind-9.9.3-4.P2.el6.x86_64.rpm: [Errno 14] Peer cert cannot be verified or peer cert invalid
Trying other mirror.
http://centos.alt.ru/repository/centos/6/x86_64/bind-libs-9.9.3-4.P2.el6.x86_64.rpm: [Errno 14] Peer cert cannot be verified or peer cert invalid
Trying other mirror.
http://centos.alt.ru/repository/centos/6/x86_64/bind-utils-9.9.3-4.P2.el6.x86_64.rpm: [Errno 14] Peer cert cannot be verified or peer cert invalid
Trying other mirror.
 
Error Downloading Packages:
  36:bind-utils-9.9.3-4.P2.el6.x86_64: failure: bind-utils-9.9.3-4.P2.el6.x86_64.rpm from CentALT: [Errno 256] No more mirrors to try.
  36:bind-9.9.3-4.P2.el6.x86_64: failure: bind-9.9.3-4.P2.el6.x86_64.rpm from CentALT: [Errno 256] No more mirrors to try.
  36:bind-libs-9.9.3-4.P2.el6.x86_64: failure: bind-libs-9.9.3-4.P2.el6.x86_64.rpm from CentALT: [Errno 256] No more mirrors to try.

Установка закончилась ошибкой «Peer cert cannot be verified or peer cert invalid Trying other mirror.

» По ссылке: Why does yum fail with «[Errno 14] Peer cert cannot be verified or peer cert invalid»? — Red Hat Customer Portal — рекомендуется в файле настроек репозитория, в нашем случае это «vi /etc/yum.repos.d/centalt.

repo», изменить mirrorlist= (либо baseurl=) с http:// на https:// — однако в нашем случае это не сработало. Содержимое нашего файла /etc/yum.repos.d/centalt.repo выглядело следующим образом:

[CentALT]
name=CentALT Packages for Enterprise Linux 6 — $basearch
baseurl=https://centos.alt.ru/repository/centos/6/$basearch/
enabled=0
gpgcheck=0
#priority=9

Читайте также:  Перенос виртуальных машин с xenserver на hyper-v

Открыв главную страницу centos.alt.ru на тот момент я обнаружил там совсем не репозиторий, а веб-страницу с заголовком «Welcome to VMware ESXi», что навело на мысль о том, что нужно искать зеркало CentALT репозитория, найдя которое я «допилил» /etc/yum.repos.d/centalt.repo до такой кондиции:

[CentALT]
name=CentALT Packages for Enterprise Linux 6 — $basearch
#baseurl=https://centos.alt.ru/repository/centos/6/$basearch/
baseurl=http://mirror.astpage.ru/centalt/repository/centos/6/$basearch/
enabled=0
gpgcheck=0
#priority=9

И всё отлично заработало и установилось, при этом версия «36:9.9.3-4.P2.el6» сменилась на «44:9.10.2-1.el6», а именно это нам и нужно:

$ yum —disablerepo=»*» —enablerepo=»CentALT» install bind bind-utils
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror, priorities, versionlock
Setting up Install Process
Loading mirror speeds from cached hostfile
CentALT                                                  |  951 B     00:00
CentALT/primary                                          | 104 kB     00:00
CentALT                                                                 319/319
Resolving Dependencies
—> Running transaction check
—> Package bind.x86_64 44:9.10.2-1.el6 will be installed
—> Processing Dependency: bind-libs = 44:9.10.2-1.el6 for package: 44:bind-9.10.2-1.el6.x86_64
—> Processing Dependency: libbind9.so.140()(64bit) for package: 44:bind-9.10.2-1.el6.x86_64
—> Processing Dependency: libisccc.so.140()(64bit) for package: 44:bind-9.10.2-1.el6.x86_64
—> Processing Dependency: liblwres.so.141()(64bit) for package: 44:bind-9.10.2-1.el6.x86_64
—> Processing Dependency: libisccfg.so.140()(64bit) for package: 44:bind-9.10.2-1.el6.x86_64
—> Processing Dependency: libisc.so.148()(64bit) for package: 44:bind-9.10.2-1.el6.x86_64
—> Processing Dependency: libdns.so.160()(64bit) for package: 44:bind-9.10.2-1.el6.x86_64
—> Processing Dependency: libirs.so.141()(64bit) for package: 44:bind-9.10.2-1.el6.x86_64
—> Package bind-utils.x86_64 44:9.10.2-1.el6 will be installed
—> Running transaction check
—> Package bind-libs.x86_64 44:9.10.2-1.el6 will be installed
—> Finished Dependency Resolution
 
Dependencies Resolved
 
================================================================================
 Package           Arch          Version                   Repository      Size
================================================================================
Installing:
 bind              x86_64        44:9.10.2-1.el6           CentALT        2.6 M
 bind-utils        x86_64        44:9.10.2-1.el6           CentALT        123 k
Installing for dependencies:
 bind-libs         x86_64        44:9.10.2-1.el6           CentALT        987 k
 
Transaction Summary
================================================================================
Install       3 Package(s)
 
Total download size: 3.7 M
Installed size: 9.2 M
Is this ok [y/N]: y
Downloading Packages:
(1/3): bind-9.10.2-1.el6.x86_64.rpm                      | 2.6 MB     00:03
(2/3): bind-libs-9.10.2-1.el6.x86_64.rpm                 | 987 kB     00:01
(3/3): bind-utils-9.10.2-1.el6.x86_64.rpm                | 123 kB     00:00
———————————————————————————
Total                                           643 kB/s | 3.7 MB     00:05
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : 44:bind-libs-9.10.2-1.el6.x86_64                             1/3
  Installing : 44:bind-utils-9.10.2-1.el6.x86_64                            2/3
  Installing : 44:bind-9.10.2-1.el6.x86_64                                  3/3
  Verifying  : 44:bind-utils-9.10.2-1.el6.x86_64                            1/3
  Verifying  : 44:bind-libs-9.10.2-1.el6.x86_64                             2/3
  Verifying  : 44:bind-9.10.2-1.el6.x86_64                                  3/3
 
Installed:
  bind.x86_64 44:9.10.2-1.el6         bind-utils.x86_64 44:9.10.2-1.el6
 
Dependency Installed:
  bind-libs.x86_64 44:9.10.2-1.el6
 
Complete!

Проверить версию и «флаги» (опции) с которыми был собран BIND можно с помощью комманд:

$ named -v
BIND 9.10.2
$ named -V
BIND 9.10.2 built by make with '—build=x86_64-redhat-linux-gnu' '—host=x86_64-redhat-linux-gnu' '—target=x86_64-redhat-linux-gnu' '—program-prefix=' '—prefix=/usr' '—exec-prefix=/usr' '—bindir=/usr/bin' '—sbindir=/usr/sbin' '—sysconfdir=/etc' '—datadir=/usr/share' '—includedir=/usr/include' '—libdir=/usr/lib64' '—libexecdir=/usr/libexec' '—sharedstatedir=/var/lib' '—mandir=/usr/share/man' '—infodir=/usr/share/info' '—with-libtool' '—localstatedir=/var' '—enable-threads' '—enable-ipv6' '—with-pic' '—disable-static' '—disable-openssl-version-check' '—with-gssapi=yes' '—disable-isc-spnego' '—with-docbook-xsl=/usr/share/sgml/docbook/xsl-stylesheets' '—enable-fixed-rrset' '—enable-filter-aaaa' '—enable-rrl' 'build_alias=x86_64-redhat-linux-gnu' 'host_alias=x86_64-redhat-linux-gnu' 'target_alias=x86_64-redhat-linux-gnu' 'CFLAGS= -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector —param=ssp-buffer-size=4 -m64 -mtune=generic' 'CPPFLAGS= -DDIG_SIGCHASE'
compiled by GCC 4.4.7 20120313 (Red Hat 4.4.7-11)
compiled with OpenSSL version: OpenSSL 1.0.1e 11 Feb 2013
linked to OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013
compiled with libxml2 version: 2.7.6
linked to libxml2 version: 20706

Наш только-что установленный ДНС сервер ещё не запущен и не добавлен в автозагрузку — проверим состояние и добавим его в автозагрузку:

$ service named status
rndc: neither /etc/rndc.conf nor /etc/rndc.key was found
named is stopped
 
$ chkconfig —list|grep -i named
named           0:off   1:off   2:off    3:off    4:off    5:off    6:off
$ chkconfig named on
named           0:off   1:off   2:on    3:on    4:on    5:on    6:off

Базовая настройка ДНС сервера BIND

В данном примере мы будем настраивать на ДНС сервере BIND зону remoteshaman.com, потому в Вашем случае поменяете remoteshaman.com на своё доменное имя. Подправим /etc/named.conf до нужной кондиции предварительно сохранив его копию:

$ cp /etc/named.conf /etc/named.conf.bak
$ vi /etc/named.conf
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
 
options {
        listen-on port 53 { localhost; 93.170.128.114; };
        #listen-on-v6 port 53 { ::1; };
        directory       «/var/named»;
        dump-file       «/var/named/data/cache_dump.db»;
        statistics-file «/var/named/data/named_stats.txt»;
        memstatistics-file «/var/named/data/named_mem_stats.txt»;
        allow-query     { any; };
        allow-transfer { none; };
        recursion no;
        version «Go away!»;
 
        additional-from-auth no;
        additional-from-cache no;
 
        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;
 
        /* Path to ISC DLV key */
        bindkeys-file «/etc/named.iscdlv.key»;
 
        managed-keys-directory «/var/named/dynamic»;
};
 
logging {
        channel default_debug {
                file «data/named.run»;
                severity dynamic;
        };
};
 
zone «.» IN {
        type hint;
        file «named.ca»;
};
 
include «/etc/named.rfc1912.zones»;
include «/etc/named.root.key»;
 
zone «remoteshaman.com» IN {
    type master;
    file «zone/remoteshaman.com.zone»;
    allow-update { none; };
};

В конце основного файла конфигурации /etc/named.conf мы добавили секцию «zone «remoteshaman.com» IN {…}», в которой указали имя файла содержащего ресурсные ДНС записи о нашей зоне remoteshaman.com.

Обычно файлы зон сваливают прямо в каталог /var/named, что на мой взгляд как не эстетично, так и не практично — для зон мы создадим отдельный каталог /var/named/zone. Файл зоны «remoteshaman.com.zone» BIND будет искать в директории /var/named/zone, в которой мы его сейчас и создадим:

Источник: https://www.remoteshaman.com/server/dns/install-bind-with-dnssec-in-centos

Установка и настройка DNS-сервера BIND на CentOS в chroot-окружении

В статье рассказывается, как настроить DNS-сервер BIND в CentOS. Сервис будет работать в изолированном chroot-окружении, использовать разные зоны для внутренних и внешних клиентов (view).

Исходные данные:

  • зона example.com (обслуживают два сервера)
  • master-сервер: ns1.example.com, внешний ip:62.220.58.71, внутренний ip:172.16.0.1
  • slave-сервер: ns2.example.com, внешний ip:62.220.58.72, внутренний ip:172.16.0.2
  • локальная сеть: 172.16.0.0/22

Вначале установим сам сервис и необходимые утилиты:

# yum install bind-chroot bind-utils

Подготовим chroot-каталог, запустив специальный скрипт:

# /usr/libexec/setup-named-chroot.sh /var/named/chroot on

Укажем параметр для использования chroot

# mcedit /etc/sysconfig/namedOPTIONS=»-4″

Редактируем файл конфигурации /etc/named.conf:

/* Список контроля доступа для внутренний сети */ acl «local-subnet» { 127.0.0.0/8; 172.16.0.0/22; }; options { listen-on port 53 { any; }; listen-on-v6 port 53 { none; }; directory «/var/named»; dump-file «/var/named/data/cache_dump.db»; statistics-file «/var/named/data/named_stats.txt»; memstatistics-file «/var/named/data/named_mem_stats.txt»; allow-query { 127.0.0.0/8; 172.16.0.

0/22; }; allow-update { none; }; allow-transfer { none; }; recursion yes; dnssec-enable no; dnssec-validation no; /* Path to ISC DLV key */ bindkeys-file «/etc/named.iscdlv.key»; managed-keys-directory «/var/named/dynamic»; pid-file «/run/named/named.pid»; session-keyfile «/run/named/session.key»; }; logging { channel default_debug { file «data/named.

run»; severity dynamic; }; }; include «/etc/named.root.key»; view «internal» { match-clients { «local-subnet»; }; include «/etc/named.rfc1912.zones»; include «/etc/named/named.internal.conf»; }; view «external» { match-clients { any; }; recursion no; include «/etc/named/named.external.

conf»; };

Мы описали два «вида» (view) — в internal будут попадать запросы из внутренней сети: match-clients { «local-subnet»; };

и для них будет подгружаться конфиг /etc/named/named.internal.conf, все остальные попадут в external:

match-clients { any; };

для них отключена рекурсия и добавятся зоны из конфига /etc/named/named.external.conf.

Для удобства создадим символьную ссылку:

# ln -s /etc/named.conf /etc/named/named.conf

Дополнительные файлы конфигурации

Файл /etc/named/named.internal.conf:

zone «.» IN { type hint; file «named.ca»; }; zone «example.com» IN { type master; file «internal/example.com.zone»; allow-transfer { 172.16.0.2; }; # slave-серверу можно передавать зону notify yes; };

Файл /etc/named/named.external.conf:

zone «example.com» IN { type master; file «external/example.com.zone»; allow-query { any; }; allow-transfer { 172.16.0.2; }; # slave-серверу можно передавать зону };

Описание зоны example.com на дополнительном (slave) сервере будет таким:

zone «example.com» IN { type slave; masters { 172.16.0.1; }; file «[путь_к_папке]/example.com.zone»; allow-query { any; }; allow-notify { 172.16.0.1;}; masterfile-format text; # храним файлы зон в текстовом виде };

Создаем файлы зон на основном сервере

Для начала подготовим папки для храниения зон:

# mkdir /var/named/external && mkdir /var/named/internal # chown named:named /var/named/internal && chown named:named /var/named/external # chmod 770 /var/named/internal && chmod 770 /var/named/external # ln -s /var/named/internal /etc/named/internal && ln -s /var/named/external /etc/named/external

Внутренняя зона example.com

Зона для локальных клиентов храниться в файле /var/named/internal/example.com.zone:

$ORIGIN . $TTL 3600 example.com IN SOA example.com. hostmaster.example.com. ( 2017011001 ; serial 3600 ; refresh [1h] 600; retry [10m] 1209600 ; expire [14d] 3600 ; min TTL [1h] ) NS ns1.example.com. NS ns2.example.com. MX 10 mail.example.com. A 172.16.0.1 $ORIGIN example.com. ns1 IN A 172.16.0.1 ns2 IN A 172.16.0.2 mail IN A 172.16.0.1

Внешняя зона example.com

Зона example.com для внешних клиентов храниться в файле /var/named/external/example.com.zone:

$ORIGIN . $TTL 3600 example.com IN SOA example.com. hostmaster.example.com. ( 2017011001 ; serial 3600 ; refresh [1h] 600; retry [10m] 1209600 ; expire [14d] 3600 ; min TTL [1h] ) NS ns1.example.com. NS ns2.example.com. MX 10 mail.example.com. A 62.220.58.71 TXT «v=spf1 ip4:62.220.58.71 ip4:62.220.58.72 +a ~all» $ORIGIN example.com. ns1 A 62.220.58.71 ns2 A 62.220.58.72 mail A 62.220.58.71 www CNAME example.com.

TXT-запись в нашем случае имеет тип spf и определяет кто, может посылать письма от зоны example.com. Эта запись очень важна, крупные почтовые сервера типа GMail могут посчитать вашу почту спамом, из-за отсутствия данной записи.

Проверяем зоны на ошибки:

# named-checkzone example.com /var/named/external/example.com.zone # named-checkzone example.com /var/named/internal/example.com.zonezone example.com/IN: loaded serial 2017011001 OK

Добавляем сервер в автозагрузку и запускаем

# chkconfig named on # service named start

Укажем сервер в качестве основного DNS-сервера в сетевых настройках:

# mcedit /etc/sysconfig/network-scripts/ifcfg-[сетевой_интерфейс]DNS1=172.16.0.1

Добавляем правила в iptables

DNS-сервер работает на 53 порту UDP, а для передачи зон использует 53 порт TCP. Отвечать на запросы будет всем, но передавать зону только slave-серверу, по локальной сети.

# iptables -A INPUT -p udp —dport 53 -j ACCEPT -m comment —comment «dns-query» # iptables -A INPUT -s 172.16.0.2 -p tcp —dport 53 -j ACCEPT -m comment —comment «dns-transfer»

Источник: http://itzx.ru/linux/install-named-bind-chroot-on-centos

Настройка BIND DNS-сервера на CentOS 7

Важная часть управления конфигурацией и инфраструктурой сервера включает в себя поддержание простого способа поиска сетевых интерфейсов и IP-адресов по имени путем настройки правильной системы доменных имен (DNS).

Читайте также:  Настройка интернета в загородном доме - mikrotik + usb 4g lte модем + антенна mimo для усиления сигнала + yota

Использование полных доменных имен (FQDN) вместо IP-адресов для определения сетевых адресов облегчает настройку служб и приложений и повышает ремонтопригодность файлов конфигурации.

Настройка собственного DNS для вашей частной сети — отличный способ улучшить управление серверами.

В этом уроке мы рассмотрим, как настроить внутренний DNS-сервер, используя программное обеспечение сервера имен BIND (BIND9) в CentOS 7, которое может использоваться вашими виртуальными частными серверами (VPS) для разрешения имен частных хостов и частного IP-адреса адреса. Это обеспечивает центральный способ управления вашими внутренними именами хостов и частными IP-адресами, что необходимо, когда ваша среда расширяется до нескольких хостов.

Версия Ubuntu этого руководства может быть найдена здесь.

Предпосылки

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

  • Некоторые серверы, работающие в одном и том же центре данных, и поддержка частных сетей
  • Новый VPS для работы в качестве основного DNS-сервера, ns1
  • Необязательно: новый VPS для работы в качестве вторичного DNS-сервера, ns2
  • Корневой доступ ко всем вышеперечисленным (шаги 1-4 здесь)

Если вы не знакомы с понятиями DNS, рекомендуется прочитать, по крайней мере, первые три части нашего Введение в управление DNS.

Примеры хостов

Например, мы будем предполагать следующее:

  • У нас есть два существующих VPS, называемых «host1» и «host2»,
  • Оба VPS существуют в центре обработки nyc3
  • Оба VPS имеют частные сети (и находятся в подсети 10.128.0.0 / 16)
  • Оба VPS каким-то образом связаны с нашим веб-приложением, которое работает на «example.com»

С этими предположениями мы решаем, что имеет смысл использовать схему именования, которая использует «nyc3.example.com» для обозначения нашей частной подсети или зоны. Следовательно, host1Полное полное доменное имя (FQDN) будет «host1.nyc3.example.com». Обратитесь к следующей таблице:

ХозяинРольЧастное полное доменное имяЧастный IP-адрес
host1 Общий хост 1 host1.nyc3.example.com 10.128.100.101
host2 Общий хост 2 host2.nyc3.example.com

Источник: https://websetnet.net/ru/setup-bind-dns-server-on-centos-7/

Свой DNS сервер на Centos 7

DNS — сервис, который позволяет получить адреса сервисов по их доменным именам и наоборот, так же получить информацию о маршрутизации почты и прочее. По простому — DNS связывает IP и доменное имя, что бы человеку не приходилось запоминать сложные IP, а вместо этого использовать удобные доменные имена. Рассмотрим пример реализации такого сервиса и настроим один тестовый домен.

Установим необходимый пакет

# yum -y install bind

Для того что бы BIND слушал и отвечал на всех интерфейсах поправим /etc/named.conf до такого состояния

options { listen-on port 53 { any; }; listen-on-v6 port 53 { ::1; }; # Если планируете использовать IPv6 directory «/var/named»; dump-file «/var/named/data/cache_dump.db»; statistics-file «/var/named/data/named_stats.txt»; memstatistics-file «/var/named/data/named_mem_stats.txt»; allow-query { any; }; …

А в его конец добавим следующие строки

zone «test.com» IN { type master; file «/etc/named/test.com.zone»; allow-update { none; }; };

В конце конфигурационного файла обязательно должна присутствовать пустая строка.
Теперь настраиваем зону.

# vim /etc/named/test.com.zone $TTL 86400 @ IN SOA ns1.test.com. ns2.test.com. ( 2017011301 ;Serial 3600 ;Refresh 1800 ;Retry 604800 ;Expire 86400 ;Minimum TTL ) IN NS ns1.test.com. IN NS ns2.test.com. IN MX 10 mail.test.com. @ IN A 100.200.100.229 ns1 IN A 100.200.100.229 ns2 IN A 100.200.100.229 mail IN A 100.200.100.229 www IN A 100.200.100.229

Можно проверить конфиг на наличие ошибок стандартными средствами

# named-checkconf /etc/named.conf

Если вывод пустой, то значит ошибок нету
Так же можно проверить настройки зоны

# named-checkzone test.com /etc/named/test.com.zone zone test.com/IN: loaded serial 2017012001 OK

Запускаем сервис, предварительно добавив его в автозагрузку

# systemctl enable named # systemctl start named

Теперь нужно проверить работает ли сервис и отдаёт ли он необходимые ответы
Для этого можно с другого Linux хоста дать парочку запросов. Будем использовать утилиту dig

# dig @100.200.100.229 -t A +short www.test.com 100.200.100.229 # dig @100.200.100.229 -t MX +short test.com 10 mail.test.com.

В первом случае мы отправляем запрос на 100.200.100.229 и спрашиваем А-запись для доменного имени www.test.com. Во втором запрашиваем там же MX запись.

Как видим, сервер корректно отвечает на запросы. Теперь можно в качестве основного NS-сервера указать наш IP и полноценно использовать домен.

Источник: https://tradenark.com.ua/centos/own-dns-server-centos-7/

Установка BIND сервера на CentOS

В данной статье мы рассмотрим простой пример установки BIND на CentOS 6-версии. BIND – одна из популярных реализаций DNS-сервера, с открытым исходным кодом. DNS – сервера выполняют преобразование DNS-имени в IP-адрес и наоборот.

Перед началом установки хотелось бы отметить, что рекомендуется иметь хотя бы два сервера в облаке, чтобы обеспечить лучшую работоспособность в случае отказа работы одного из серверов.

В нашем примере мы предполагаем настройку как первичного, так и вторичного сервера DNS.

Обратите внимание, что если вы решили использовать большое количество доменных имен, то конфигурирование настроек подобным образом может оказаться не очень удобным.
Использование своего сервера DNS позволяет иметь более прямой контроль над инфраструктурой вашего хостинга, а так же DNS записями. Пожалуй, можно приступать к установке.

Первое что следует сделать, проверить актуальность системы, и обновить в случае необходимости. Проверить наличие обновлений вы можете посредством команды yum.

# yum update –y

После этого можно приступить в первичной установке BIND на сервер.

Первичная установка BIND на сервер

# yum install bind bind-utils –y

После установки сервера необходимо открыть конфигурационный файл для настройки конфигурации.

# vi -w /etc/named.conf

В конфигурации «options» вместо IP адреса 2.2.2.2 следует прописать адрес вашего второго сервера.

options { #listen-on port 53 { 127.0.0.1; }; listen-on-v6 port 53 { ::1; }; directory «/var/named»; dump-file «/var/named/data/cache_dump.db»; statistics-file «/var/named/data/named_stats.txt»; memstatistics-file «/var/named/data/named_mem_stats.txt»; allow-query { any; }; allow-transfer { localhost; 2.2.2.2; }; recursion no; dnssec-enable yes; dnssec-validation yes; dnssec-lookaside auto; /* Path to ISC DLV key */ bindkeys-file «/etc/named.iscdlv.key»; managed-keys-directory «/var/named/dynamic»; };

Из соображений безопасности мы закомментировали значение директивы «listen-on». Параметр обозначает, что сервер будет принимать обращения со всех доступных интерфейсов.

Так же выставляем директиву в «recursion» в «no», так как это может послужить уязвимостью для DDOS-атак на сервер. В директиве «allow-transfer» указываем сервера, которым мы «доверяем», это наш второй сервер.

Выставляем для директивы «allow-query» значение «any», это позволит получать надлежащий доступ к размещаемым доменным зонам.

Следующим шагом мы добавим запись для первого домена, в файле конфигурации named.conf

zone «mydomain.com» IN { type master; file «mydomain.com.zone»; allow-update { none; }; };

После сохранения файла, мы можем приступить к созданию первого файла доменной зоны. Создаем файл, используя доменное имя использованное выше, т.е. mydomain.com.zone:

# vi /var/named/mydomain.com.zone

Файл мы создаем, поэтому нам в нем следует указать кое-какие параметры. Подобно примеру, показанному ниже, вы должны заменить адреса 1.1.1.1 – это адрес вашего первого сервера (NS1), 2.2.2.2 – это адрес вашего второго сервера (NS2), и 3.3.3.3 – адрес, на котором находится веб-сервер. Дополнительные записи доменных имен вы можете добавлять в том же формате.

$TTL 86400 @ IN SOA ns1.mydomain.com. root.mydomain.com. ( 2013042201 ;Serial 3600 ;Refresh 1800 ;Retry 604800 ;Expire 86400 ;Minimum TTL ) ; указываем пару NS серверов IN NS ns1.mydomain.com. IN NS ns2.mydomain.com. ; замените адреса серверов на свои ns1 IN A 1.1.1.1 ns2 IN A 2.2.2.2 ; указываем имя хостов и IP серверов, которые будут отвечать @ IN A 3.3.3.3 www IN A 3.3.3.3

Теперь мы первично запускаем сервер named. Это может занять некоторое время, пока named сгенерирует файл rndc.key, создаваемый только при первом запуске.

# service named restart

Выключать DNS сервер при работе не рекомендуется, но бывает случаи, когда без этого не обойтись. Поэтому добавляем сервер в автозагрузку.

# chkconfig named on

После предыдущих шагов настроек на данный момент мы уже должны иметь полностью работоспособный первичный DNS сервер. Чтобы проверить, что это дело работает, следует выполнить команду указанную ниже, а так же заменить адрес 1.1.1.1 на адрес вашего первичного сервера.

# dig @1.1.1.1 mydomain.com

Если вы увидите характерную запись, с обозначением полномочий, то ваш сервер имен настроен правильно.

Конфигурация вторичного DNS сервера
После того как первичный сервер был настроен, приступим к настройке вторичного сервера. Как уже мы делали ранее, обновляем систему, до актуальной версии.

# yum update –y

После этого устанавливаем BIND сервер, а так же его компоненты на вторичный сервер, аналогичным образом, как это делали ранее.

yum install bind bind-utils –y

Далее, так же как и на первом сервере имен, создаем файл named.conf и прописываем в нем всё то же, за исключением директивы «allow transfer». Эта директива не нужна, т.к. это вторичный сервер.

# vi /etc/named.conf options { #listen-on port 53 { 127.0.0.1; }; listen-on-v6 port 53 { ::1; }; directory «/var/named»; dump-file «/var/named/data/cache_dump.db»; statistics-file «/var/named/data/named_stats.txt»; memstatistics-file «/var/named/data/named_mem_stats.txt»; allow-query { any; }; recursion no; dnssec-enable yes; dnssec-validation yes; dnssec-lookaside auto; /* путь до ISC DLV ключа */ bindkeys-file «/etc/named.iscdlv.key»; managed-keys-directory «/var/named/dynamic»; };

Добавляем запись зоны, аналогично первичному серверу, за исключением того, что в директиве type нужно указать slave, а так же поменять 1.1.1.1 на адрес первичного сервера.

zone «mydomain.com» IN { type slave; masters { 1.1.1.1; }; file «mydomain.com.zone»; };

После конфигурирования вторичной зоны, следует перезапустить сервер named. Как и говорилось ранее, на этом сервере так же будет создан файл rndc.key, это займет немного времени.

Добавляем файл сервер в автозагрузку:

# chkconfig named on

Проверяем, что всё работает, заменяем 2.2.2.2 на адрес вашего вторичного сервера.

# dig @2.2.2.2 mydomain.com

После внесения изменений, внесенных в файл основной доменной зоны, вам следует поручать BIND серверу перезагружать конфигурацию.

Есть директива serial, значение которой должно увеличиваться вручную, главным образом служит для синхронизации между ведущим и ведомым серверами.

Для перезагрузки файла зон с новой конфигурацией, следует выполнить следующую команду на первичном сервере, затем на вторичном.

Читайте также:  Установка centos 7

# rndc reload

Источник: http://yournet.kz/blog/os/linux/ustanovka-bind-servera-na-centos

How To Configure BIND as a Private Network DNS Server on CentOS 7

An important part of managing server configuration and infrastructure includes maintaining an easy way to look up network interfaces and IP addresses by name, by setting up a proper Domain Name System (DNS).

Using fully qualified domain names (FQDNs), instead of IP addresses, to specify network addresses eases the configuration of services and applications, and increases the maintainability of configuration files.

Setting up your own DNS for your private network is a great way to improve the management of your servers.

In this tutorial, we will go over how to set up an internal DNS server, using the BIND name server software (BIND9) on CentOS 7, that can be used by your Virtual Private Servers (VPS) to resolve private host names and private IP addresses. This provides a central way to manage your internal hostnames and private IP addresses, which is indispensable when your environment expands to more than a few hosts.

The Ubuntu version of this tutorial can be found here.

Prerequisites

To complete this tutorial, you will need the following:

  • Some servers that are running in the same datacenter and have private networking enabled
  • A new VPS to serve as the Primary DNS server, ns1
  • Optional: A new VPS to serve as a Secondary DNS server, ns2
  • Root access to all of the above (steps 1-4 here)

If you are unfamiliar with DNS concepts, it is recommended that you read at least the first three parts of our Introduction to Managing DNS.

Example Hosts

For example purposes, we will assume the following:

  • We have two existing VPS called «host1» and «host2»
  • Both VPS exist in the nyc3 datacenter
  • Both VPS have private networking enabled (and are on the 10.128.0.0/16 subnet)
  • Both VPS are somehow related to our web application that runs on «example.com»

With these assumptions, we decide that it makes sense to use a naming scheme that uses «nyc3.example.com» to refer to our private subnet or zone. Therefore, host1's private Fully-Qualified Domain Name (FQDN) will be «host1.nyc3.example.com». Refer to the following table the relevant details:

HostRolePrivate FQDNPrivate IP Address
host1 Generic Host 1 host1.nyc3.example.com 10.128.100.101
host2 Generic Host 2 host2.nyc3.example.com

Источник: https://www.digitalocean.com/community/tutorials/how-to-configure-bind-as-a-private-network-dns-server-on-centos-7

Обновить BIND на сервере

28го июля 2015г организацией Internet Systems Consortium было опубликовано сообщение о критической уязвимости DNS сервера BIND (по умолчанию он включен во все образы -ispmgr5 FirstVDS) версий с 9.1.

0 по 9.9.7-P1 и 9.10.2-P2.

Уязвимость позволяет удаленному пользователю использование ошибки в обработке запросов типа TKEY и реализацию DoS атаки (отказ в обслуживании), что приводит к остановке DNS сервера BIND.

Внимание: уязвимость проявляется на всех ОС, использующих указанные версии BIND. Если BIND не используется, можно игнорировать это уведомление. Пользователи ОС Windows Server не затронуты.

Исправление уязвимости:

Уязвимость может быть устранена только обновлением ПО указанных версий BIND (9.1.0 по 9.9.7-P1 и 9.10.2-P). Все крупные разработчики Linux систем уже включили исправление в свои репозитории.

Для самостоятельного обновления, подключитесь к виртуальному серверу посредством терминала SSH (например putty) и авторизуйтесь.

Предполагается, что никакое другое системное ПО или зависимости не требуют обновлений.

Операционная система CentOS:

Для CentOS версии 6.6 необходимо подключить репозиторий Continuous Release (CR). В противном случае патч установлен не будет. Начиная с CentOS версии 6.7 патч устанавливается из основного репозитория.
# yum install centos-release-cr
# yum-config-manager —enable cr Обновляем BIND:

# yum update bind

Если доступ к репозиторию более не требуется, его можно отключить:

# yum-config-manager —disable cr

Операционные системы Debian и Ubuntu:

Для обновления ПО необходимо выполнить:
# apt-get install bind9

Операционная система FreeBSD версий 8.х и 9.х:

(дополнительная информация на англ. языке) ВАЖНО: ввиду особенностей ПО, обновления рекомендуется производить только на свежеустановленной ОС. Автоматически обновлять систему с большим количеством пользовательских настроек _крайне_ не рекомендуется. Обновление может быть выполнено при помощи утилиты freebsd-update:

# freebsd-update fetch

# freebsd-update install Службу named необходимо перезапустить после обновления. В случае, если серверное ПО устарело и выполнить автоматическое обновление не получается, вам необходимо вручную перекомпилировать BIND до последней версии. Текущую версию BIND можно узнать командой:

# named -v

Все действия по обновлению необходимо выполнять либо с правами супер-пользователя (root), либо через команду sudo (кроме FreeBSD).

Источник: http://linux24.ru/linux/obnovit-bind-na-servere.html

Выделенный сервер своими руками

Одной из наиболее важных служб в выделенном сервере либо VDS, несомненно, является сервер доменных имен. Одной из реализаций ДНС сервера в linux является пакет bind. Опишу простую установку и настройку пакета bind на CentOS 4.х linux. Хотя практически без изменений эту конфигурацию можно использовать для всех linux дистрибутивов.

Установка bind на сервер очень проста. Заходим в консоль и пишем:

В результате у нас устанавливается ДНС сервер в chroot окружении, и он готов работать в качестве кеширующего сервера. Запуск сервера осуществляется с помощью команды:

Спросите почему named, если пакет называется bind? 🙂 Все верно. Ошибки нет. Просто нужно запомнить:

  • мы устанавливаем ДНС сервер;
  • пакет программ называется BIND;
  • служба на сервере которая устанавливается в результате установки пакета BIND называется named.
  • Далее нам необходимо сделать так, чтобы службы сервера использовали именно наш ДНС сервер. Для этого открываем в любимом редакторе файл /etc/resolv.conf и первой строкой добавляем следующее: nameserver 127.

    0.0.1 Сохраняемся и имеем работающий кеширующий сервер имен, но дырявый. для увеличения безопасности сервера открываем файл /etc/named.

    conf в нашем любимом редакторе и делаем изменения в секции options:

    options {         directory «/var/named»;dump-file «/var/named/data/cache_dump.db»;statistics-file «/var/named/data/named_stats.txt»;version «no version info»;allow-transfer { none; };recursion no;listen-on { 127.0.0.1; 111.222.333.444; };

    };

    Немного подробнее об настройках:

    version «no version info»; — при запросе версии сервера выдавать «no version info». Хотя в кавычки можно написать все что угодно.

    allow-transfer { none; }; — никому не давать разрешения на передачу зоны.
    listen-on port 53 { 127.0.0.1; 111.222.333.444; }; — принимать запросы только с интерфейса обратной петли 127.0.0.1 и с адреса 111.222.333.444 — ip адреса нашего сервера.
    recursion no; — отключить рекурсивные запросы. Это значит что наш ДНС сервер будет выдавать ответы только на те запросы, которые относятся к доменам, описанным в его настройках. То есть. Есть у нас домен ddd.com и в файле зоны нашего ДНС сервера он прописан. Тогда при обращении к нашему ДНС серверу за разрешением имени в ip адрес для записи ddd.com ответ будет положительным. При обращении за разрешением других зон — ответ будет отрицательным. Таким образом мы исключаем всяческих любителей халявы, которым вдруг понравится наш ДНС сервер.

    Сохраняемся и перезапускаем bind:

    После таких настроек безопасность нашего сервера значительно улучшиться. Сразу хочу сказать что описано далеко не все, что можно сделать, например пока не затронут вопрос второго ДНС сервера, и передачи ему зон, создания зон для доменов и многое другое. Приведена базовая настройка. Как всегда — жду замечаний и отзывов.

    Источник: http://dedicatesupport.com/content/prostaya-ustanovka-i-nastroika-bind-9-dns-server

    HOWTO DNS сервер BIND | IT Knowledge Base

    Named – это демон, входящий в состав пакета bind9 и являющийся сервером доменных именДемон named может реализовывать функции серверов любого типа: master, slave, cache.

    На приведенной схеме я постарался максимально прозрачно отобразить основной принцип работы DNS сервера BIND. Бинарник, который выполняет основную работу, расположен в /usr/sbin/named. Он берет настройки из основного конфигурационного файла, который называется named.

    conf и расположен в каталоге /etc/bindВ основном конфиге описывается рабочий каталог асервера, зачастую это каталог /var/cache/bind, в котором лежат файлы описания зон и другие служебные файлы.

     Соответствиеназвания зоны и файла описания зоны задает раздел zone с параметром fileРаздел zoneтак же задает тип ответственности данного сервера за зону (master, slave и др.

    ), а так же определяет особые параметры для текущей зоны (например, на каком интерфейсе обрабатывать запросы для текущей зоны). В файлах описания зон содержатся параметры зон и записи ресурсов (пути, указанные в данном абзаце могут отличаться, это зависит от дистрибутива Linux или параметров сборки сервера из исходников).

    Эта общая схема работы, которая поможет в дальнейшем не запутаться, при рассмотрении конкретных конфигураций.

    Формат файла конфигурации для 4-ой версии программы отличается от того, который применяется в восьмой и девятой версиях BIND. Учитывая, что я рассчитываю на установку нового DNS сервера, а старую версию смысла ставить не вижу, посему буду рассматривать конфиг новой версии.

    Исходные данные

    Для корректной работы DNS нем необходимо иметь настроенную сеть. DNS в текущей статье будет настроен на дистрибутиве FreeBSD, Конфиг сети стенда следующий:

    root@ns1:/usr/local/etc/namedb # cat /etc/rc.conf … hostname=»ns1.disnetern.lan» keymap=»ru.koi8-r.win.kbd» ifconfig_em1=»inet XXX.XXX.XXX.XXX netmask 255.255.255.240″ defaultrouter=»XXX.XXX.XXX.XXX» firewall_enable=»YES» firewall_type=»open» named_enable=»YES» ….

    где XXX.XXX.XXX.XXX – внешний интерфейс (подсеть, выделенная провайдером). Настраиваемая зона будет иметь имя disnetern.lan.

    Установка BIND9

    Для работы DNS сервера необходимо установить пакет bind9 (в некоторых дистрибутивах – bind). Как отмечено на схеме – основным конфигурационным файлом BIND является файл named.conf (данный файл может быть размещен в каталоге /usr/local/etc/named/ ).

    Параметры (синтаксис) named.conf

    Синтаксис файла named.conf придерживается следующих правил:

    IP-адреса – список IP должен быть разделен символом “;” , возможно указывать подсеть в формате 192.168.1.1/24 или 192.168.1.1/255.255.255.0, (для исключения IP перед ним нужно поставить знак !), возможно указывать имена “any”, “none”, “localhost” в двойных кавычках.

    Источник: https://disnetern.ru/howto-dns-server-bind/

    Ссылка на основную публикацию