У даній статті ми розглянемо простий приклад установки 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, значення якої повинно збільшуватися вручну, головним чином служить для синхронізації між ведучим і веденим серверами.
Для перезавантаження файлу зон з новою конфігурацією, слід виконати наступну команду на первинному сервері, потім на вторинному.

# reload rndc
Додав: htmaker, 15.12.2016 р.
(Ще не оцінили)

Завантаження…

Діліться з друзями:

См. також:


Оновлення пакетів в CentOS
Рубрика: Linux

Bash: mail: command not found
Рубрика: Linux

Виставляємо тимчасову зону в CentOS 7
Рубрика: Linux

Налаштування SELinux, включення, відключення
Рубрика: Linux, Інф. безпека

Змінюємо пароль root в MySQL 5.7
Рубрика: Linux, MySQL

Установка і настройка mSMTP на Linux
Рубрика: Linux

Установка GIT на CentOS 7
Рубрика: Linux

Як відключити IPv6 в CentOS 7?
Рубрика: Linux

Ротація логів в Linux
Рубрика: Apache, Linux

Коментарі

  • Serega пише:
    15.03.2018 у 20:45

    Чи можна якось обробити запити на невірні/неіснуючі домени?

    Відповісти