Създаване на собствени неймсървъри с glue dns запис
Съдържание
Почти сигурно всеки потребител, който по една или друга причина се интересува от темата за DNS, е срещал термина glue запис във връзка с възможността да регистрира неймсървъри, използвайки собствени поддомейни, вместо неймсървърите на хостинг компанията.
Какво представлява glue записa и защо е нужен?
Ще си помогнем с един елементарен пример. В зоновия файл на домейна example.com
като първичен (primary или master) неймсървър е посочен поддомейна ns1.example.com
в SOA записа:
$ORIGIN example.com.
@ . IN SOA ns1.example.com. hostmaster.example.com. (
2018012704 ; serial
10800 ; refresh (3 hours)
3600 ; retry (1 hour)
1814400 ; expire (3 weeks)
3600 ; minimum (1 hour)
)
; main domain name servers
IN NS ns1.example.com.
IN NS ns2.example.com.
Когато потребител реши да зареди сайта example.com
и въведе URL адреса в браузер, DNS резолвера стартира серия от протоколни запитвания за да открие IP адреса на example.com
.
Първо изпраща рекурсивно запитване към root сървърите и някой от тях връща IP адреса на TLD неймсървъра, който отговаря за .com
зоната.
Запитването се изпраща към TLD (.com) неймсървъра, който знае хост името на първичния неймсървър ns1.example.com
(тъй като го е получил от домейн регистрара), но не знае IP адреса тъй като няма А запис за него в зоната на домейна example.com
.
Отговора, преведен на разбираем език, е нещо като: относно example.com питай ns1.example.com.
По този начин заявката влиза в безкраен неразрешим цикъл :
- за да открием IP адреса на
example.com
трябва да открием IP адреса наns1.example.com
. - за да открием IP адреса на
ns1.example.com
трябва да открием IP адреса наns1.example.com
.
Точно тук на помощ ни идва glue записа.
Glue записa e A запис за неймсървърите в зоната на домейна - това са записите в ADDITIONAL SECTION:
$ dig @ns1.example.com example.com
;; AUTHORITY SECTION:
example.com. 172800 IN NS ns1.example.com.
example.com. 172800 IN NS ns2.example.com.
;; ADDITIONAL SECTION:
ns1.example.com. 172800 IN A 1.2.3.4
ns2.example.com. 172800 IN A 5.6.7.8
Концептуално това е доста странно 'изобретение'. Ние питаме TLD неймсървърите на .com
зоната за IP адреса на example.com
. Като отговор получаваме не само името на авторитетния (първичния) неймсървър, но и неговия IP адрес. Все едно зоната на example.com
се обслужва от TLD (.com) неймсървъра.
Създаването на собствени неймсървъри (ще ги срещнете и под много други имена: персонални, лични, child , private, additional ...) е технически възможна практика, която обаче се счита за лоша практика и не се препоръча.
Както видяхте по-горе тя е в логическо противоречие с DNS концепцията за автономност на неймсървърите. Важно е да се отблежи, че подобна техника, позната като DNS кеш инжекция или кеш отравяне е използвана в атаката на Кашпуреф през 1997г. [1].
Дори и да спести няколко милисекунди, създаването на собствени неймсървъри много трудно ще попадне в списъка с причини за повишаване на производителността и бързината (performance boosters) на един уеб сайт.
Създаване на собствени неймсървъри
Сега ще ви покажем как може да създадете child name server към вашето домейн име, които да използвате на вашата собствена сървърна машина или професионална услуга от ICN.BG.
За да функционира коректно един child name server на неговия IP адрес трябва да има конфигуриран DNS сървър и да има A запис (glue запис) за всеки child name server към IP адреса на сървъра, който хоства сайта.
За да извършите необходимите промени влезте в потребителския си акаунт като следвате стъпките, описани в статията Достъп до контролен панел в ICN.Bg.
Отворете главното меню от иконата Табло в горния ляв ъгъл, кликнете линка Домейн, в таблицата с домейни кликнете името на домейна, чиито неймсървъри желаете да редактирате.
Кликнете линка УПРАВЛЯВАЙ
в долния десен ъгъл, в новия прозорец въведете двата child name servers и кликнете бутона ЗАПАЗИ
:
Този запис само ще регистрира новите неймсървъри в базата данни на регистрара на домейна, който от своя страна ще актуализира записите в TLD неймсървъра.
Остава да създадете следните DNS записи в зоновия файл на домейна:
1. NS
записи за домейна към новите child name servers:
demo-icn.com. 172800 IN NS ns1.demo-icn.com.
demo-icn.com. 172800 IN NS ns2.demo-icn.com.
2. Двата glue записа за новите неймсървъри към IP адреса на сървъра:
ns1.demo-icn.com. 172800 IN A 1.2.3.4
ns2.demo-icn.com. 172800 IN A 5.6.7.8
[1] https://www.cnet.com/news/kashpureff-to-face-federal-charges/