debian-bind.uk.md 40 KB


title: Виключно авторитетний сервер імен у Debian x-toc-enable: true ...

Вступ

Востаннє цей посібник було протестовано на Debian 11.

Авторитетний сервер імен відповідає за обробку зони, яка в цьому контексті була би вашим доменним іменем. Виключно авторитетний означає, що сервер обробляє тільки ваші доменні імена, як визначено, і нічого більше.

Як правило, коли ви замовляєте веб-хостинг у хостингової компанії, вони надають доступ до своїх серверів імен (наприклад, ns1.webhostingcompany.com і ns2.webhostingcompany.com) - багато CDN і реєстраторів доменних імен також надають це клієнтам. Тут налаштовуються ваші домени, вказуючи, де ваші сервери (наприклад, HTTP, електронна пошта) розташовані в інтернеті.

У цьому посібнику ви дізнаєтесь, як зробити це самостійно. Це можна зробити недорого після обіду. Цей посібник не показує вам, як створити відкритий розпізнавач, подібний до того, який ви використовували би для розв'язання будь-якого домену; це можна розглянути пізніше в окремому посібнику.

Давайте розпочнемо!

Вимоги

IP-адреси

Вам потрібні дві адреси IPv4 і дві адреси IPv6 з відкритим портом 53 на них усіх. IP-маршрутизація та фільтрація пакетів виходять за рамки цього керівництва, і передбачається, що ви це вже охопили.

Ви можете перевірити розділ маршрутизатора для наставництва, якщо ви ще не відповідаєте наведеній вище вимозі.

Доменне ім'я

Ви потребуєте доменне ім'я, таке як example.com, і ваш регістратор повинен підтримувати встановлення glue records (включаючи IPv6). Вашому регістратору варто в ідеалі підтримувати DNSSEC, у випадку, якщо ви хочете його використовувати.

Реєстратор gandi.net відмінний, і відповідає цим критеріям. Це солідна компанія, дуже доброзичлива до проектів вільного програмного забезпечення.

Цей список містить посилання на багатьох реєстраторів, включаючи Gandi. У цьому списку ви можете знайти тих, що підтримують IPv6 Glue:

https://www.sixxs.net/faq/dns/?faq=ipv6glue

Не всі оператори зон верхнього рівня підтримують IPv6 glue, незалежно від обраного реєстратора. За посиланням sixxs.net вище наведено список зон верхнього рівня, які, як відомо, підтримують IPv6 glue, такі як org і info можуть це робити. Перевірте список ПЕРЕД реєстрацією доменного імені!

Якщо ваш поточний реєстратор доменних імен не відповідає цим критеріям, вам слід розглянути можливість перенесення доменних імен до іншого реєстратора.

Glue records

Увійдіть у свій обліковий запис реєстратора доменного імені, напр. обліковий запис Gandi, та знайдіть розділ, що стосується вашого доменного імені. У цьому посібнику я буду використовувати своє доменне ім'я shlinux.org в якості приклада, оскільки я володію цим доменом і виконую їх на ньому: ns1.shlinux.org і ns2.shlinux.org - сайт Fedfree використовує ці імена серверів для конфігурації DNS.

Зазвичай, якщо ви проводите аутсорсинг свого DNS-хостингу, ви просто встановлюєте запис NS для свого доменного імені в обліковому записі реєстратора, вказуючи ns1.domain.com та ns2.domain.com, або будь-який інший; тут ви лише вказуєте імена.

Оскільки ви використовуєте власний DNS, ви також повинні вказати IP-адресу, в glue record домену вашого сервера імен. Вам не обов'язково використовувати одне доменне ім'я верхнього рівня для двох серверів імен, але заради простоти ми припустимо, що ви збираєтесь використовувати той самий домен.

Glue record існує, оскільки запис NS все ще встановлено відповідним чином, але він посилається на самого себе. Glue record функціонально еквівалентний запису A/AAAA.

Встановіть glue records для всіх IP-адрес, які ви збираєтеся використовувати. У моєму прикладі я маю такі записи (в обліковому записі Gandi, який я використовую для власних серверів імен):

  • ns1.shlinux.org (IPv4): 81.187.172.130
  • ns1.shlinux.org (IPv6): 2001:8b0:b95:1bb5::2
  • ns2.shlinux.org (IPv4): 81.187.172.131
  • ns2.shlinux.org (IPv6): 2001:8b0:b95:1bb5::3

Насправді ви можете вказати більше, ніж це, але ми припустимо, що у вас є дві адреси IPv4 і дві адреси IPv6, що є мінімальною вимогою для серверів імен з подвійним стеком.

Ви повинні також досі встановлювати звичайні записи NS. Я встановила свої сервери імен для shlinux.org на ns1.shlinux.org і ns2.shlinux.org, і це працює за допомогою glue record.

Сам сервер імен також має оголошувати записи імені NS, і A/AAAA записи, таким чином: ns1, ns2 (правильно для наведеного вище прикладу, але вам слід відповідним чином адаптувати). Про це пізніше.

Встановлення програмного забезпечення

Встановіть Debian, на цільовій машині. Ви повинні налаштувати його так, щоб він мав 2 загальнодоступні IPv4 та 2 загальнодоступні IPv6 адреси, на всі з яких можна зробити ping із інтернета, з портом 53 відкритим на кожному із них.

Якщо вам потрібне тунельне з'єднання для маршрутизації статичних IP-адрес до вашого комп'ютера, ви можете переглянути посібники в розділі маршрутизатора.

Чудово! Тепер встановіть bind9 на машину. Ми налаштуємо bind9 від ISC. Встановіть його за допомогою менеджера пакетів:

apt-get install bind9

Конфігураційні файли Bind9

У цьому посібнику ми не будемо налаштовувати підлеглий сервер імен; це буде розглянуто пізніше як продовження цього. В цьому посібнику ми припустимо, що головний і підлеглий bind9 працюють на одному хості, з 2 загальнодоступними IPv4 і 2 загальнодоступними IPv6 виділеними адресами. Технічно це означає, що підлеглого немає, але він працює, якщо у вас є 2 адреси IPv4 і (якщо використовується IPv6) 2 IPv6 адреси, призначені до вашого хоста, усі публічно маршрутизовані з відкритим портом 53.

Задля вашої зручності Fedfree включив довідкові конфігураційні файли для використання вами, на веб-сайті Fedfree. Ви можете просто завантажити його та встановити:

Завантажте цей файл: debian-bind-no-slave.tar.xz

ПРИМІТКА: Зразки конфігураційних файлів не передбачають DNSSEC, і DNSSEC не буде налаштовано в цьому посібнику; це буде розглянуто в наступному посібнику.

Розпакуйте його:

tar -xf debian-bind-no-slave.tar.xz

Ви повинні мати каталог під назвою bind. Це серія зразків конфігураційних файлів, але вони фактично використовуються в реальному світі, для мого хостингу (принаймні в грудні 2022 року). Я не включила всі файли зон в нього для всіх доменів, оскільки це було б надмірно для цілей цього керівництва.

НЕ використовуйте ці конфігураційні файли просто як є, звісно. Вони не будуть працювати для вас, оскільки містять конфігурацію для моїх IP-адрес і доменів. У наступних розділах ми розглянемо все.

Налаштування

Встановіть зразки конфігураційних файлів

По-перше, коли bind9 уже встановлено, видаліть /etc/bind таким чином (від імені root):

rm -Rf /etc/bind

Ви заміните каталог bind в /etc на каталог bind, який ви щойно розпакували, із debian-bind-no-slave.tar.xz

Подібним чином (від імені root):

cp -R bind /etc/bind

У наступних розділах, ми розглянемо різні файли, пояснюючи, що вони собою являють, і де потрібні зміни, що потрібно змінити.

/etc/bind/bind.keys (не змінювати)

Цей файл надається Консорціумом систем Інтернету, і його не можна змінювати безпосередньо. Він містить ключі, які замінюють вбудовані ключі, з якими bind9 постачається. Вони використовуються для 13 існуючих кореневих серверів імен, що існують (a.root-servers.net, b.root-servers.net... аж до m.root-servers.net), які обробляють домени верхнього рівня. DNS є централізованим, але NS/Glue records встановлюються вверх за течією, які делегують авторитетному серверу імен для вашої зони, напр. example.com.

Знову ж таки, ніколи не змінюйте цей файл безпосередньо. Однак ви повинні перевіряти принаймні раз на місяць на наявність нової версії. Він не часто змінюється, але ви можете знайти новіші версії цього файлу тут:

https://www.isc.org/bind-keys

Версія, надана Fedfree, ідентична версії, взятій з ISC, була актуальною станом на 25 грудня 2022 року.

/etc/bind/db.root (не змінювати)

Цей файл визначає кореневі сервери імен. В Інтернеті їх 13, починаючи від a.root-servers.net, до b.root-servers.net... аж до m.root-servers.net.

Цей файл не можна змінювати безпосередньо. Його надає InterNIC, і ви повинні перевіряти наявність оновлень принаймні раз на місяць (він змінюється не дуже часто, але одного разу на місяць більше ніж достатньо ретельно).

Оновлені версії можна знайти на ftp.internic.net (протокол FTP) в директорії /domain/, ім'я файлу named.cache.

Версія, надана Fedfree, ідентична версії, отриманій від InterNIC, була актуальною станом на 25 грудня 2022 року.

/etc/bind/db.127 (не змінювати)

Файл зони для IP-адреси (зони) 127.0.0.1, яка розв'язується до localhost.

/etc/bind/db.empty (не змінювати)

Файл зони для порожньої зони RFC 1918.

/etc/bind/name.conf.default-zones (не змінювати)

Прямі та зворотні зони localhost. (Відповідність RFC 1912)

/etc/bind/named.conf.options (не змінювати)

Цей файл не потребує змін. Пояснення деяких налаштувань у ньому:

allow-transfer { none; };

Рядок allow-transfer стосується головного та підлеглого. Оскільки ми не налаштовуємо підлеглого, ми можемо проігнорувати це повністю.

recursion no;

Якщо recursion ввімкнено, це стане розпізнавачем, таким, який ви б налаштували для розпізнавання будь-якого доменного імені в інтернеті. Ми хочемо, щоб це був лише авторитетний сервер доменних імен, для наших доменів, тому для цього параметра встановленно значення ні.

dnssec-validation auto;

Це стосується DNSSEC, коли ми розпізнаємо імена з інших серверів імен. Цей параметр абсолютно не має значення для цілей керівництва. Ми можемо залишити це (але будь ласка, залиште це там).

auth-nxdomain no;

Якщо для параметра auth-nxdomain встановлено значення так, наш сервер відповідатиме авторитетно навіть для зон, які поза нашого контролю. Ми хочемо, щоб він був авторитетним лише для наших зон, тому ми встановили для цього значення ні.

listen-on-v6 { any; };

Це має пояснювати само за себе. Це дозволяє BIND прослуховувати IPv6 адреси. Ми хочемо працювати з подвійним стеком IPv4 та IPv6, тому параметр any дає змогу працювати відповідно.

/etc/bind/db.0 (не змінювати)

Зворотні правила для широкомовної зони (нульові адреси). Залиште це як є.

/etc/bind/db.255 (не змінювати)

Так само.

/etc/bind/db.local (не змінювати)

Правила пересилання для локальних петлевих адрес, напр. 127.0.0.1 або ::1, які розв'язуються на localhost.

/etc/bind/named.conf

Це основний конфігураційний файл для bind9. У нашому випадку, використовуючи файли зразків, це просто посилання на файли підконфігурації, такі як named.conf.options, як описано вище.

Вміст файлу для довідки:

include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";

/etc/bind/named.conf.local

Цей файл важливий. Тут ми визначаємо зони, напр. shlinux.org. Для кожної зазначеної зони визначається шлях до файлу зони.

Будь ласка, зверніть пильну увагу.

Вміст файлу в наших довідкових конфігураціях:

zone "libreboot.org" {
	type master;
	file "/etc/bind/zones/db.libreboot.org";
};
zone "shlinux.org" {
	type master;
	file "/etc/bind/zones/db.shlinux.org";
};
zone "fedfree.org" {
	type master;
	file "/etc/bind/zones/db.fedfree.org";
};
zone "130.172.187.81.in-addr.arpa" {
	type master;
	file "/etc/bind/zones/db.ipv4ns1";
};
zone "2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.5.b.b.1.5.9.b.0.0.b.8.0.1.0.0.2.ip6.arpa" {
	type master;
	file "/etc/bind/zones/db.ipv6ns1";
};

Видаліть записи libreboot/shlinux/fedfree і додайте туди свої власні, для ваших доменних імен. У цьому посібнику ми будемо вважати, що ви розміщуєте власні файли зон в директорії /etc/bind/zones. Файли зони повинні містити в собі всі записи DNS, такі як AAAA/A, NS, TXT, CAA тощо. Інформацію про те, що міститься в цих файлах, буде розглянуто пізніше в посібнику.

У наведених вище записах ви бачите, що останні два виглядають справді дуже дивно!

Це зворотні зони для IP-адрес. Вони взяті (25 грудня 2022 року) для сервера імен ns1.shlinux.org. У той день він мав такі IP-адреси:

  • 81.187.172.130 (IPv4 ns1.shlinux.org)
  • 81.187.172.131 (IPv4 ns2.shlinux.org)
  • 2001:8b0:b95:1bb5::2 (IPv6 ns1.shlinux.org)
  • 2001:8b0:b95:1bb5::3 (IPv6 ns2.shlinux.org)

Ми спочатку розглянемо ці файли зон, коли дійдемо до файлів зон. Наразі вам слід змінити файл named.conf.local таким чином:

Ваша ns1 IPv4-адреса спочатку: виконайте цю команду:

host IPv4-адреса

Ви отримаєте адресу in-addr.arpa, схожу на наведену вище. Для запису, що стосується db.ipv4ns1, встановіть назву зони відповідно. Наприклад, IP-адреса 1.2.3.4 стане 4.3.2.1.in-addr.arpa.

Запис IPv6-адреси 2001:8b0:b95:1bb4:4, для частини, що стосується db.ipv6ns1, був би: 4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.4.b.b.1.5.9.b.0.0.b.8.0.1.0.0.2.ip6.arpa

Ви помітите, що IP-адреси вказані в зворотному порядку, в наведених вище прикладах. Це вбудовані записи зворотного DNS для ваших IP-адрес. Усі IPv4 та IPv6 адреси мають їх.

Взявши два вигадані приклади, як зазначено вище, ми б змінили ці записи таким чином:

zone "4.3.2.1.in-addr.arpa" {
	type master;
	file "/etc/bind/zones/db.ipv4ns1";
};
zone "4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.4.b.b.1.5.9.b.0.0.b.8.0.1.0.0.2.ip6.arpa" {
	type master;
	file "/etc/bind/zones/db.ipv6ns1";
};

У прикладі IPv6 це в зворотному порядку, і кожна цифра шістнадцяткової групи з 4 розділена крапками. Так, наприклад, 2001: на початку IPv6-адреси (як у прикладі вище) є 1.0.0.2.ip6.arpa в кінці рядка.

Слід зазначити: у цьому посібнику для IPv6 ми використовуємо застарілий ip6.arpa формат, разом із адресами AAAA, на відміну від нових записів A6/DNAME; на практиці старий спосіб працює чудово, і він простіший. Це ніколи не працюватиме. Більше інформації про це доступно тут:

https://docstore.mik.ua/orelly/networking_2ndEd/dns/ch10_16.htm

Записи A6 можуть бути охоплені пізніше, але вони (наразі) не розглядаються в цьому посібнику.

/etc/bind/zones.rfc1918

Вони не використовуються в нашому прикладі конфігурації, але вони стосуються RFC 1918

Увімкніть це або не вмикайте. Вам вирішувати. Розкоментуйте його рядок під named.conf.local.

Конфігурація файлу зони

Давайте поговоримо серйозно.

Перш за все, ПЕРЕД налаштуванням доменних імен, ми повинні подбати про файли db.ipv4ns1 та db.ipv6ns1. Ми розглянемо їх спочатку, а потім розглянемо доменне ім'я, яке використовується для роботи ваших серверів імен (знову ж таки, ми припускаємо, що ви використовуєте ns1 та ns2 на одному доменному імені).

/etc/bind/zones/db.ipv4ns1

Ім'я файлу містить "ns1" в собі, але цей файл має містити записи PTR і NS, що стосуються як ns1, так і ns2. У наданих зразках файлів ви побачите:

$TTL	604800
@	IN	SOA	shlinux.org. leah.libreboot.org. (
			 20221226	; Порядковий
			 604800		; Оновити
			  86400		; Повторіть спробу
			2419200		; Закінчується
			 604800 )	; Негативний кеш TTL

; Сервери імен
		IN	  NS	  ns1.shlinux.org.
		IN	  NS	  ns2.shlinux.org.

;ptr записи
130	 IN	  PTR	  ns1.shlinux.org.
131	IN	  PTR	  ns2.shlinux.org.
;

По-перше, зверніть увагу на ці рядки:

		IN	  NS	  ns1.shlinux.org.
		IN	  NS	  ns2.shlinux.org.

Змініть їх на будь-які ваші власні зони сервера імен. Наприклад, ns1.boobworld.com і ns2.boobworld.com.

Тепер зверніть увагу на ці рядки:

130	 IN	  PTR	  ns1.shlinux.org.
131	IN	  PTR	  ns2.shlinux.org.

У наших зразках конфігураційних файлів ми налаштовуємо ns1.shlinux.org і ns2.shlinux.org, які, відповідно, відповідають 81.187.172.130 і 81.187.172.131. Ці IP-адреси мають розмір підмережі /28 (32 віднять 4 дорівнює 28; 2 в ступіні 4 це 16, тоді ви берете адресу підмережі+широкомовну адресу та адресу маршрутизатора в підмережі, що дасть 13 доступних IP-адрес).

Пам'ятайте, що адреса IPv4 81.187.172.130 відповідає 130.172.187.81.in-addr.arpa; у цьому випадку, оскільки це /28, але оскільки це в межах 130 октету, ви можете думати про 130 як про субдомен 172.187.81.in-addr.arpa (це не технічно коректна, але корисна аналогія).

Таким чином, "ім'я хоста" 130 у зоні має мати запис PTR, який відповідає ns1.shlinux.org. Запис PTR іноді називають "зворотним DNS".

Так само для запису 131.

Зверніть також увагу на:

			 20221226	; Порядковий

Послідовний рядок потрібно змінювати щоразу, коли ви змінюєте файл зони. Рекомендується використовувати дату ISO (РРРРММДД), але ви можете вказати майже будь-що туди.

Ви повинні змінити цей файл, відповідно до ваших IP-адрес і назви зони.

/etc/bind/zones/db.ipv6ns1

Цей файл виконує те саме, що й db.ipv4ns1, але для IPv6.

У наших зразках файлів ми бачимо:

$TTL	604800
@	IN	SOA	shlinux.org. leah.libreboot.org. (
			 20221226	; Порядковий
			 604800		; Оновити
			  86400		; Повторіть спробу
			2419200		; Закінчується
			 604800 )	; Негативний кеш TTL

; Сервери імен
	   IN	  NS	  ns1.shlinux.org.
		IN	  NS	  ns2.shlinux.org.

;ptr записи
2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0	 IN	  PTR	  ns1.shlinux.org.
3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0	 IN	  PTR	  ns2.shlinux.org.

Більшість з цих записів в точності те ж саме. Насправді, всі вони, але правила для IPv6 інші:

Візьміть рядок, який каже 2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0, наприклад:

Цей рядок відповідає 2001:8b0:b95:1bb5::2. :: є скороченням, але повна адреса була би: 2001:08b0:0b95:1bb5:0000:0000:0000:0002. Видаліть символи : та відокремте цифри крапками, ми би отримали: 2.0.0.1.0.8.b.0.0.b.9.5.1.b.b.5.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.

Розташуйте цифри в зворотньому порядку, і ми би отримали: 2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.5.b.b.1.5.9.b.0.0.b.8.0.1.0.0.2

Ця IPv6 адреса має префікс розміром /64, та адреси IPv6 128 біт розміром, тобто по суті ми обрізаємо половину:

  • 2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 має відповідати через PTR запис ns1.shlinux.org

Те саме для ns2, використовуючи той самий метод по адресі IPv6 2001:8b0:b95:1bb5::3.

Ви мусите відредагувати цей файл, відповідно до своїх власних адрес IPv6 та імені зони.

Більше інформації про це доступно тут:

https://docstore.mik.ua/orelly/networking_2ndEd/dns/ch10_16.htm

/etc/bind/zones/db.shlinux.org

Цей файл зони для shlinux.org, в якому файли для приклада також налаштовують ns1.shlinux.org та ns2.shlinux.org. Ви маєте вказати свій власний файл для доменного імені, яке використовуєте, замінюючи db.shlinux.org.

В файлі для приклада (який справді використовується у виробництві 26 грудня 2022 року, для shlinux.org), ви маєте побачити:

$TTL	604800
@	IN	SOA	ns1.shlinux.org. leah.libreboot.org. (
			   20221230		; Порядковий
			 604800		; Оновити
			  86400		; Повторіть спробу
			2419200		; Закінчується
			 604800 )	; Негативний кеш TTL
;
shlinux.org.	IN	NS	ns1.shlinux.org.
shlinux.org.  IN	  NS	  ns2.shlinux.org.
shlinux.org.	IN	CAA	0 issue "letsencrypt.org"
shlinux.org.	IN	CAA	0 iodef "mailto:leah@libreboot.org"
ns1		IN	A	81.187.172.130
ns1		IN	AAAA	2001:8b0:b95:1bb5::2
ns2		IN	A	81.187.172.131
ns2		IN	AAAA	2001:8b0:b95:1bb5::3
shlinux.org.	IN	A	81.187.172.132
shlinux.org.  IN	  AAAA	2001:8b0:b95:1bb5::4
www		IN	A	81.187.172.132
www		IN	AAAA	2001:8b0:b95:1bb5::4
aimbot		IN	A	81.187.172.129
aimbot		IN	AAAA 2001:8b0:b95:1bb5::1

Як завжди, пам'ятайте про зміну рядка Порядковий, коли редагуєте файл зони.

Рядок leah.libreboot.org в секції SOA в дійсності адреса електронної пошти (leah@libreboot.org). Будь ласка, змініть це на щось інше, тому що я не хочу отримувати звіти про ваше доменне ім'я. Дякую!

В наведенному вище прикладі, ми бачимо ці записи:

shlinux.org.	IN	NS	ns1.shlinux.org.
shlinux.org.  IN	  NS	  ns2.shlinux.org.
ns1		IN	A	81.187.172.130
ns1		IN	AAAA	2001:8b0:b95:1bb5::2
ns2		IN	A	81.187.172.131
ns2		IN	AAAA	2001:8b0:b95:1bb5::3

Зверніть увагу на те, як shlinux.org. звертається до самого себе для двох записів NS. Це самопосилання доменного імені, і ми налаштували IP в попередніх секціях цього керівництва.

Через те, що це самопосилання, наш файл зони вказує звичайні записи A і AAAA, які вказують на IP для цих імен. У випадку shlinux.org, щонайменш станом на 25 грудня 2022 року, ці IP використані:

  • ns1.shlinux.org (IPv4): 81.187.172.130
  • ns1.shlinux.org (IPv6): 2001:8b0:b95:1bb5::2
  • ns2.shlinux.org (IPv4): 81.187.172.131
  • ns2.shlinux.org (IPv6): 2001:8b0:b95:1bb5::3

З метою DNS, тільки ns1/ns2 A/AAAA та shlinux.org. NS записи мають значення. Це ідеально прийнятно для зони, яка виконує сервери імен також зазначати звичайні веб-речі наприклад (www A та AAAA записи), як вище, і вона навіть може виконувати email (пов'язані з email DNS записи не присутні, в наведеному вище прикладі).

Щоб підвести підсумки, ми маємо:

  • Вказані IPv4 та IPv6 glue, в обліковому записі реєстратора
  • Також вказали NS записи, на стороні реєстратора
  • Вказали PTR/зворотні зони для IP, в bind9
  • Вказали NS та PTR записи в файлі зони доменного імені

Таким чином, усе необхідне з'єднання має бути на місці, і ви можете просто використовувати свій сервер імен!

В моєму випадку, я вказую NS записи для доменів ns1.shlinux.org та ns2.shlinux.org; потім я створюю відповідні файли зон, і пишу будь-які записи, які хочу щоб були там, для кожного доменного імені. Я розміщую багато доменів, на сервері імен shlinux. Дуже багато. Мої доменні імена, на цей момент, як персонажі Де Уоллі, але я ніколи не вичерпаю свій хостинг DNS.

Підходимо до висновків

Коли ви будете впевнені, що BIND правильно налаштовано, ви можете розпочати BIND:

systemctl start bind9

Ви можете зупинити його подібними чином:

systemctl stop bind9

Ви можете перезапустити його подібним чином:

systemctl restart bind9

Додавання доменних імен

Як можна дізнатися з наведених вище розділів, відредагуйте файл /etc/bind/named.conf.options і вкажіть домен, із шляхом до файлу зони.

Ви створите потім той файл зони.

Для отримання більш загальних вказівок щодо файлів зон без самопосилання, прошу звернутися до zonefile-bind.md

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

Випробування

У своїй основі, ці програми можуть бути використані різними способами, щоб випробувати домени, які налаштовано на сервері імен:

  • dig
  • host
  • ping

Перевірьте керівництво, для цих програм. Вони будуть доступні на будь-якій системі Unix, яку ви маєте, такій як Linux або BSD.

Зворотній DNS, сторона інтернет-провайдера

МИ також маємо налаштований зворотній DNS, але ваш інтернет-провайдер це той, хто призначає адреси IP, незалежно чи це жорсткої лінії, чи тунельний провайдер.

Ви можете захотіти встановити PTR/rDNS записи, задля розваги.

Зробіть це:

host 81.187.172.130
host 81.187.172.131
host 2001:8b0:b95:1bb5::2
host 2001:8b0:b95:1bb5::3

Ви з'ясуєте, що ці насправді відповідають ns1.shlinux.org та ns2.shlinux.org, публічно. Мій сервер імен працює перед тунельним маршрутизатором L2TP через Andrews & Arnold Ltd (AAISP), використовуючи те саме налаштування, яке описано в router/debian-l2tp-aaisp.html - і A&A дозволяє вам встановлювати rDNS для IP. Я зробила так, для всіх IP, що використовую.

rDNS в особливості важливий для розміщення електронної пошти, що ви імовірно захочете налаштувати, якщо ви досить спритні, щоб прослідувати цьому керівництву DNS.

Перевірьте IPv6

Пізніше, коли ви закінчите налаштовувати все, ви можете перевірити IPv6 статус з використанням цього чудового сервіса перевірки:

https://www.mythic-beasts.com/ipv6/health-check

Найбільш важливо, сервіс перевірки, на який наведено посилання вище, перевіряє наявність з'єднання в налаштуваннях лише для IPv6, щоб ви знали, чи можуть користувачі інтернету лише IPv6 отримати доступ до ваших сервісів. Тримайте це посилання під рукою! Mythic Beasts також чудовий провайдер хостинга VPS, про який я цілком можу розповісти в майбутньому посібнику про те, як запустити ваш власний тунельний сервер OpenVPN або WireGuard, на якому потім запустити локальний тунельний маршрутизатор для розміщення домашнього сервера.

Налагодження

Про будь-які проблемні питання з BIND буде повідомлено в /var/log/syslog.

Сумнівна згадка: RNDC

BIND поставляється з демоном під назвою RNDC, який можна використовувати для віддаленого керування сервером імен, за допомогою секретного ключа.

Це слід вважати загрозою безпеки для більшості виробничих цілей, якщо не налаштовано правильно та не використовується належним чином (ця остання частина, де більшість людей лажать). Неправильно налаштований демон RNDC дозволить будь-якій особі в інтернеті возитися з вашим сервером імен.

Це не описано та не включено ні в цьому посібнику, ні в наданих зразках конфігурацій.

Якщо у вас є файли зони, для набору доменів, редагування цих файлів зони не вимагає перезапуску bind9. Допоки порядковий запис оновлюється відповідно, все має бути добре, і ви могли би редагувати файли зони в SFTP сесії під chroot через OpenSSH.

Демон RNDC може бути корисним, і може бути розглянутий в майбутньому послідовному керівництві.

Посилання

Ви можете знайти документацію bind вище за течією корисною. BIND підтримується Консорціумом Інтернет-систем, і ви можете знайти веб-сайт тут:

https://www.isc.org/bind/

Репозіторій Git вище за течією, щонайменш на 25 грудня 2022 року, може бути знайдено тут:

https://gitlab.isc.org/isc-projects/bind9

Документація доступна тут:

https://gitlab.isc.org/isc-projects/bind9/-/tree/main/doc

Більше нічого сказати. Весело провести час!