Як саме я повинен налаштувати DNS для делегування повноважень для субдоменів?


15

У мене розміщені сервери хостинг-провайдера, і вони також розміщують записи DNS для моїх доменних імен. Тепер я хочу додати піддомени, які вирішені моєю власною службою DNS. Так, наприклад:

  • сервер імен хостинг-провайдера знає IP-адресу для econemon.com
  • один з моїх серверів знає IP-адресу для ftp.econemon.com

Також,

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

Тепер я читав статті Вікіпедії про DNS, щоб очистити свої знання, але частина, яка мене бентежить, полягає в тому, як клієнт знає, для якого сервера запитати IP-адресу ftp.econemon.com? Чи отримує цю інформацію від хостера? Якщо так, чи потрібно мені зареєструвати піддомен там (і для чого мені тоді знадобиться сервер імен)?

Відповіді:


14

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

Коли рекурсивний DNS-сервер запитує адресу для ftp.econemon.com, він повинен пройти кілька кроків. По-перше, він запитає одного з кореневих серверів, який відповість із серверами імен для домену .com (цей крок, ймовірно, буде кешований і робиться лише нечасто). Потім він запитає сервери .com, і вони відповідуть серверами імен для домену econemon.com. Нарешті, він попросить у цих серверів запису адреси для ftp.econemon.com.

Теоретично ви можете просто додати ftp.econemon.com як запис NS у батьківській зоні

наприклад:

послуги NS ns1.econemon.com.
ns1 A 192.0.2.1

А потім створіть ftp.econemon.com як зону на вашому сервері імен. Але якщо ви зробите це так, вам доведеться створити нову зону на кожному сервері. Напевно, ви хочете зробити, це попросити свого постачальника додати делегований субдомен.

наприклад:

послуги NS ns1.services.econemon.com.
послуги NS ns2.services.econemon.com.
ns1.сервіси A 192.0.2.1
ns2.сервіси A 192.0.2.2

Потім ви можете додати services.econemon.com як зону на своїх серверах імен і просто додати нові записи, коли вони вам потрібні в цій одній зоні.

Якщо вам теж потрібні короткі імена, це не повинно створювати особливих проблем, щоб додати записи CNAME таким чином, що ftp.econemon.com має канонічне ім'я ftp.services.econemon.com, що дозволяє вам змінювати IP-адресу щоразу ви хочете і дозволяє користувачам використовувати коротке ім’я.

ftp.econemon.com. CNAME ftp.services.econemon.com.

Отже, чи правильно тоді запис "econemon.com. IN NS ns.provider-domain.com". насправді означає "для домену econemon.com та всіх піддоменів, перейдіть, запитайте ns.provider-domain.com"? Я думаю, що саме це я, можливо, неправильно зрозумів.
Hanno Fietz

Це правильно, хоча для пошуку в реальному світі переважна більшість рішень щодо пошуку буде прийнята на основі записів у батьківській зоні (тобто .com зона в даному випадку). Записи NS на найвищому рівні домену насправді в основному косметичні та підтримують узгодженість (тобто, щоб переконатися, що коли ns.provider-domain.com та a.gtld-servers.net запитують про записи NS для econemon. com, вони обидва дають однакову відповідь)
Рассел Хейлінг

Я тут трохи розгублений. Чи не повинно бути це ftp NS ns1.econemon.com.в першому прикладі?
Хольгер Бьонке

2

Вам потрібно додати запис NS для ftp.econemon.com, що вказує на ваш власний DNS-сервер. Коли клієнт захоче вирішити щось.ftp.econemon.com, він запитає у вашого провайдера DNS, який відповість, що це можна вирішити на вашому власному сервері. прикладом може бути:

ftp.econemon.com. В НС myownns.econemon.com.

myownns.econemon.com. В YOUR_DNS_SERVER_IP

Щоб мати що-небудь для .econemon.com. для роботи ви можете використовувати запис підстановки (*)


1

Але для чогось типу ftp.econemon.com вам може не потрібно нічого делегувати. Щось на зразок ftp.econemon.com зазвичай є ім'ям хоста, а не субдоменом. Якщо це так, просто додайте для нього запис A.

ftp.econemon.com. IN A 192.168.1.1

Ви також можете додати записи A з крапками, наприклад:

ftp.something.econemon.com. IN A 192.168.1.3

Якщо DNS прив'язується, ви можете використовувати підстановку, наприклад:

*.something.econemon.com. IN A 192.168.1.3

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.