То е ясно, че иска да си прави A записите на локалния сървър.
Въпроса е, че когато един домейн се делегира на сървър за имена, който принадлежи към същия домейн, трябва в зоната, където е делегиран домейна да е описан и A записа за name сървъра, на който е делегиран домейна.
Аз поне така си мисля.
Да приемем пак, че човека иска да пусне сървър, който отговаря за домейн example.com.
При това положение трябва да се опише NS запис в зоната на доставчика от който е купен домейна. Нещо такова:
---
example.com. IN NS ns.example.com.
---
Какво става ако някой се опита да разбере IP адреса, който отговаря на името
http://www.example.com (приемаме, че нямаме кеширани данни):
1. Kлиента пита някой от root сървърите за
http://www.example.com, root сървъра му казва "не знам IP адреса на
http://www.example.com, но <ей този сървър> знае адреса на example.com"
2. Kлиента пита върнатия сървър за
http://www.example.com, той му отговаря "не знам адреса на
http://www.example.com, но знам че ns.example.com отговаря за домейна example.com"
3. Kлиента трябва да попита ns.example.com за адреса на
http://www.example.com. Да, обаче клиента не знае адреса на ns.example.com, следователно няма как да изпрати udp заявка, с която да запита ns.example.com за
http://www.example.com.
Доколкото ми е известно, този проблем се решава именно чрез т.нар. glue записи, т.е. в зоната, където е указано, че ns.example.com отговаря за зоната example.com, има A запис за същия този ns.example.com, който A запис се връща от сървъра от т.2 по-горе като Additional section в отговора на заявката.
Примерен код |
$ dig -t NS ibl.bas.bg
; <<>> DiG 9.2.4 <<>> -t NS ibl.bas.bg ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6657 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; QUESTION SECTION: ;ibl.bas.bg. IN NS
;; ANSWER SECTION: ibl.bas.bg. 1415 IN NS ns.ibl.bas.bg.
;; ADDITIONAL SECTION: ns.ibl.bas.bg. 1415 IN A 195.96.255.106
;; Query time: 7 msec ;; SERVER: 192.168.1.1#53(192.168.1.1) ;; WHEN: Thu Feb 16 00:24:22 2006 ;; MSG SIZE rcvd: 61
|
Това ако се не лъжа се налага само когато сървъра, на който се делегира зоната принадлежи на същата зона. Т.е. ако е описано, че домейна example.com се обслужва от ns.otherdomain.com няма нужда от A запис, т.к. ns.otherdomain.com се намира в друг домейн и адреса му може да се установи чрез запитване към сървъра, който отговаря за съответния домейн.
Иначе всякакви A записи (включително и ns.example.com) си се описват на сървъра, който отговаря за домейна (в случая локалния BIND на st_dimitrov).
Силно се надявам ако бъркам нещо някъде да бъда коригиран.