Jacob Bunk Nielsen <spam@bunk.cc> wrote:
>Jesper Dybdal <jdunet@u8.dybdal.dk> writes:
>> Jacob Bunk Nielsen <spam@bunk.cc> wrote:
>>
>>>Rent teknisk vil der ske det at den tredje nameserver aldrig vil blive
>>>spurgt da DK-Hostmaster kun vil henvise til de to de kender.
>>
>> Jo, den vil blive spurgt af navneservere som har fået NS-poster
>> fra en af de autoritative servere (under forudsætning af at alle
>> 3 servere er nævnt dér).
>
>Men hvilke vil det?
>
>Hvis en resolver (som i denne sammenhæng oftest vil være en rekursiv
>caching nameserver) skal slå foo.eksempel.dk op vil opslaget jo gå
>noget i stil med:
>
>$ host -r -t ns dk. a.root-servers.net
"host" viser normalt kun selve svaret ("answer section" i svarpakken),
men ikke "authority section" og "additional section", som kan indeholde
information der caches.
>Den vil normalt få de NS-records der caches fra en af de servere der
>er autoritative for dk, hvis man ikke specifikt beder den om at slå
>dem op i eksempel.dk-zonen i stedet for i dk-zonen.
Det mener jeg ikke du har ret i - servere har det med at levere
NS-poster med som en ekstra bonus uden at man beder om dem.
Eksempel: hvis en navneserver vil slå (A-posten for)
www.dybdal.dk op,
så prøver den først en rodnavneserver, og bliver henvist til
dk-serverne. Så prøver den en af dem (jeg har snippet diverse
irrelevant statusinformation fra dig's output):
jesper@nuser
$ dig +norecursive a
www.dybdal.dk @ns.dk-hostmaster.dk.
;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;
www.dybdal.dk. IN A
;; AUTHORITY SECTION:
dybdal.dk. 86400 IN NS ns.dybdal.dk.
dybdal.dk. 86400 IN NS ns.damkjaer-nielsen.dk.
;; ADDITIONAL SECTION:
ns.dybdal.dk. 86400 IN A 62.242.254.78
ns.damkjaer-nielsen.dk. 86400 IN A 62.242.108.184
og bliver henvist til de to navneservere for dybdal.dk som DKH kender.
Så prøver den en af dem:
jesper@nuser
$ dig +norecursive a
www.dybdal.dk @ns.dybdal.dk.
;; flags: qr aa ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;
www.dybdal.dk. IN A
;; ANSWER SECTION:
www.dybdal.dk. 86400 IN CNAME dybdal.dk.
dybdal.dk. 86400 IN A 62.242.254.78
;; AUTHORITY SECTION:
dybdal.dk. 86400 IN NS ns.dybdal.dk.
dybdal.dk. 86400 IN NS ns.damkjaer-nielsen.dk.
;; ADDITIONAL SECTION:
ns.dybdal.dk. 86400 IN A 62.242.254.78
ns.damkjaer-nielsen.dk. 86400 IN A 62.242.108.184
Bemærk at nu fik den, udover det A-svar det hele handlede om, i
"authority section" endnu en gang listen over servere for dybdal.dk.
Men da den denne gang kommer fra en autoritativ server for domænet ("aa"
i flags-linjen betyder "authitative answer"), så er det - hvis jeg ikke
tager meget fejl - denne udgave den cacher i stedet for den som den lidt
tidligere fik fra en dk-server.
Hvis jeg havde haft en NS-post for en tredje server i zonen, så ville
den nu være cachet og kunne blive brugt næste gang samme server skal slå
noget op i dybdal.dk-domænet (fx MX-poster - eller A-posten igen, hvis
den havde kortere TTL end NS-posterne) - og hver gang det sker, bliver
TTL'en på NS-posterne fornyet, så hvis det sker tilstrækkelig tit (og
især hvis de har lange TTL), vil de være permanent cachede.
>En helt anden ting - er der nogen der ved hvorfor det ikke er alle de
>servere der er nævnt som autoritative for dk. der har information om
>NS-records på de forskellige domæner. Man skulle vel tro at
>DK-Hostmaster skulle være i stand til ikke at lave lame delegations?
>Se fx her:
>
>$ host -r -t ns eksempel.dk ns.dk.net
>Using domain server:
>Name: ns.dk.net
>Address: 193.88.44.42#53
>Aliases:
>
>$
Jeg tror det er fordi serveren netop ikke er autoritativ for
eksempel.dk, og derfor returnerer den ikke NS-poster i "answer sektion",
men i "authority section" - og den viser host-kommandoen ikke pr.
default. Prøv at give en "-v" til host, eller brug dig i stedet - så
viser den NS-posterne.
--
Jesper Dybdal, Denmark.
http://www.dybdal.dk (in Danish).