Я в настоящее время перемещаю зону DNS от одного поставщика сервера DNS другому. Я пытаюсь оценить, сколько времени это возьмет для изменения, чтобы распространить и понять то, чем могла бы быть задержка то, если бы я принял решение откатывать середину реки.
Ранее, я думал, что мог сделать:
dig example.com ns
Видеть, каков остающийся TTL на записи NS был, но теперь я понимаю, что эта запись NS является записью NS для субдоменов в зоне а не записью NS, которая происходит от корневых серверов, который является тем, который в конечном счете определяет, в который сервер имен будет отправлен запрос.
Я протестировал это путем установки тестовой записи в зоне в каждом из поставщиков:
Provider1 test.example.com 10.0.0.1
Provider2 test.example.com 192.168.0.1
Для обоих поставщиков TTL на NS записывает в 0, в то время как записи NS на уровне Регистратора TLD указывают на серверы имен Provider1.
Когда я изменяю записи NS в зоне в Provider1, я вижу, что это отразилось в запросах NS почти сразу (использование 'роют example.com не уточнено').
Однако, когда я отправляю запрос за запись, т.е.
test.example.com
это всегда возвращается
10.0.0.1
независимо от того, к чему устанавливаются рекорды NS в зоне в Provider 1.
На этой основе я пришел к заключению, что записи NS в зональном файле не важны миграции, и что только записи серверов имен на уровне TLD важны.
Однако я не могу надеть чтение, сколько времени это вероятно для разнообразия там распространить, или передать или назад.
Действительно ли возможно запросить то, что TTL, работаю с для записей, происходящих от корневых серверов TLD?
بر این اساس ، من نتیجه گرفتم که سوابق NS درون پرونده zone با انتقال ارتباطی ندارند و فقط نام سرورهای ثبت شده در سطح TLD مهم هستند.
یک فرضیه نادرست است ، اما مرتکب یک اشتباه آسان می شود. می توانید کمی بیشتر در مورد سوابق اوج NS در اینجا بخوانید. نسخه کوتاه این است که هر دو موضوع مهم هستند و مورد استفاده شده بسته به اینکه سرور DNS ذخیره شده قبلاً دامنه شما را پرسیده باشد یا خیر ، متفاوت خواهد بود.
بخاطر داشته باشید که اکثر سرورهای بازگشتی DNS حداقل TTL را اعمال می کنند ، بنابراین نتیجه گیری حاصل آزمایشات با TTL صفر تقریباً نادرست است. تنها موردی که اینگونه نیست ، کنترل حداقل سیاست TTL مورد استفاده توسط سروری است که از شما سال می کند.
من در حال حاضر در حال مهاجرت یک منطقه DNS از یک ارائه دهنده سرور DNS به دیگری هستم. من در تلاش هستم تخمین بزنم که چه مدت طول می کشد تا تغییر تغییر کند ، و بفهمم که اگر تصمیم بگیرم جریان میانه را دوباره برگردانم چه تأخیری ممکن است باشد.
من قصد دارم روی این موضوع تمرکز کنم زیرا شما چند مورد دارید در ادامه س yourال شما نادرست شروع می شود. اول ، مهم است که به یاد داشته باشید که TTL ها در سرورهای بازگشتی DNS ذخیره می شوند. از آنجا که همه افراد در اینترنت از سرورهای برگشتی DNS مختلف استفاده می کنند ، تنها فرضیه که می توانید بکنید این است که تا n ثانیه طول خواهد کشید ، با n ثانیه طول می کشد. مقدار TTL.
این به ما نشان می دهد که TTL در اینجا کدام یک از موارد مرتبط هستند:
NS
منقضی شود ، درخواست های مربوط به سوابق انفرادی که در حافظه نهان هستند به طور خودکار منقضی نمی شوند. مثال: اگر test.example.com IN A
ده دقیقه دیگر منقضی شود ، اما example.com IN NS
پنج دقیقه دیگر منقضی می شود ، test.example.com
حتی پس از تغییر سوابق NS
در حافظه پنهان باقی خواهد ماند. هر مشکلی در رابطه با مقدار این رکورد در سرورهای جدید مشهود نخواهد بود تا زمانی که رکورد منقضی شده و تازه شود. NS
سوابق چسب ارائه شده توسط سرورهای TLD DNS. این موارد توسط سرورهای بازگشتی مورد استفاده قرار می گیرند که برای بدست آوردن اطلاعات دامنه شما هنگام درخواست دامنه مورد نیاز است. این TTL ها تا چه مدت قبل از استفاده از سرورهای DNS موجود در پرونده zone شما برای تازه سازی بعدی تأثیر می گذارد. (برای توضیح در این باره به پرسش و پاسخ من در بالا پیوند دهید) NS
که در بالای پرونده منطقه شما ذکر شده است. پس از انقضا TTL رکورد چسب ، ممکن است از این TTL استفاده شود. اجرا در این جزئیات متفاوت است. از آنجایی که شما با کل ارزش اجرای اینترنت مختلف روبرو هستید ، تنها فرض مطمئن این است که برخی از سرورها از آن استفاده می کنند. از یک منبع یا منبع دیگر هستند. این شما را مجبور می کند که برنامه های بالاتر از این دو را برنامه ریزی کنید ، مگر اینکه واقعاً به سرورهای بازگشتی DNS که کار نمی کنید نگران نباشید.
با جمع کردن همه اینها ، به نتایج زیر می رسیم:
NS
رکورد در چسب ، و NS
است. NS
منقضی شوند. شما نه تنها به تمام سرورهای موجود برای مشتریانی که آخرین تغییر را انتخاب نکرده اند ، نیاز دارید ، بلکه هر گونه ناسازگاری در داده های ثبت شده بین این دو می تواند باعث گیج شدن امور شود. شما می توانید این کار را با nslookup در ویندوز به راحتی انجام دهید ، فرض می کنم شما می توانید همین کار را با dig انجام دهید. با nslookup شما به سادگی یکی از سرورهای نام GTLD را برای سوابق سرور نام دامنه خود جستجو می کنید تا لیستی از سرورهای نام دامنه خود را با TTL آن سوابق سرور نام دریافت کنید.
Microsoft Windows [Version 10.0.10240]
(c) 2015 Microsoft Corporation. All rights reserved.
C:\Users\Joe>nslookup
Default Server: Unknown
Address: 192.168.1.2
> server f.gtld-servers.net
Default Server: f.gtld-servers.net
Address: 192.35.51.30
> set q=ns
> set debug
> crabbygeezer.com
Server: f.gtld-servers.net
Address: 192.35.51.30
------------
Got answer:
HEADER:
opcode = QUERY, id = 4, rcode = NOERROR
header flags: response, want recursion
questions = 1, answers = 0, authority records = 5, additional = 10
QUESTIONS:
crabbygeezer.com, type = NS, class = IN
AUTHORITY RECORDS:
-> crabbygeezer.com
nameserver = freedns1.registrar-servers.com
ttl = 172800 (2 days)
-> crabbygeezer.com
nameserver = freedns2.registrar-servers.com
ttl = 172800 (2 days)
-> crabbygeezer.com
nameserver = freedns3.registrar-servers.com
ttl = 172800 (2 days)
-> crabbygeezer.com
nameserver = freedns4.registrar-servers.com
ttl = 172800 (2 days)
-> crabbygeezer.com
nameserver = freedns5.registrar-servers.com
ttl = 172800 (2 days)
ADDITIONAL RECORDS:
-> freedns1.registrar-servers.com
internet address = 208.64.122.242
ttl = 172800 (2 days)
-> freedns1.registrar-servers.com
internet address = 72.20.53.50
ttl = 172800 (2 days)
-> freedns2.registrar-servers.com
internet address = 208.64.122.244
ttl = 172800 (2 days)
-> freedns2.registrar-servers.com
internet address = 72.20.38.137
ttl = 172800 (2 days)
-> freedns3.registrar-servers.com
internet address = 5.135.128.216
ttl = 172800 (2 days)
-> freedns3.registrar-servers.com
internet address = 62.210.149.103
ttl = 172800 (2 days)
-> freedns4.registrar-servers.com
internet address = 62.210.149.102
ttl = 172800 (2 days)
-> freedns4.registrar-servers.com
internet address = 72.20.53.50
ttl = 172800 (2 days)
-> freedns5.registrar-servers.com
internet address = 192.99.40.34
ttl = 172800 (2 days)
-> freedns5.registrar-servers.com
internet address = 72.20.53.50
ttl = 172800 (2 days)
------------
crabbygeezer.com
nameserver = freedns1.registrar-servers.com
ttl = 172800 (2 days)
crabbygeezer.com
nameserver = freedns2.registrar-servers.com
ttl = 172800 (2 days)
crabbygeezer.com
nameserver = freedns3.registrar-servers.com
ttl = 172800 (2 days)
crabbygeezer.com
nameserver = freedns4.registrar-servers.com
ttl = 172800 (2 days)
crabbygeezer.com
nameserver = freedns5.registrar-servers.com
ttl = 172800 (2 days)
freedns1.registrar-servers.com
internet address = 208.64.122.242
ttl = 172800 (2 days)
freedns1.registrar-servers.com
internet address = 72.20.53.50
ttl = 172800 (2 days)
freedns2.registrar-servers.com
internet address = 208.64.122.244
ttl = 172800 (2 days)
freedns2.registrar-servers.com
internet address = 72.20.38.137
ttl = 172800 (2 days)
freedns3.registrar-servers.com
internet address = 5.135.128.216
ttl = 172800 (2 days)
freedns3.registrar-servers.com
internet address = 62.210.149.103
ttl = 172800 (2 days)
freedns4.registrar-servers.com
internet address = 62.210.149.102
ttl = 172800 (2 days)
freedns4.registrar-servers.com
internet address = 72.20.53.50
ttl = 172800 (2 days)
freedns5.registrar-servers.com
internet address = 192.99.40.34
ttl = 172800 (2 days)
freedns5.registrar-servers.com
internet address = 72.20.53.50
ttl = 172800 (2 days)
>
نحو برای انجام یک پرسش مشابه استفاده از dig
عبارت است از:
$ dig NS crabbygeezer.com @f.gtld-servers.net +trace
قبلاً می توانستید برای بدست آوردن مقادیر پیش فرض TTL از رکورد SOA برای دامنه س quال کنید:
dig example.com. SOA
اما این به نفع بخشنامه $ TTL منسوخ شده است.
اگر شما سوابق خاصی دارید که به آنها علاقه دارید ، می توانید پرچم + ttlid را برای حفاری اضافه کنید:
dig +ttlid somehost.example.com.
برای به دست آوردن دقیق TTL باقی مانده:
;; ANSWER SECTION:
somehost.example.com. 604800 IN A 192.168.99.5
(فیلد دوم TTL است - در این مورد 604800)