Там какой-либо путь состоит в том, чтобы сказать TTL на корневом сервере имен записи DNS?

Я в настоящее время перемещаю зону 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?

5
задан 7 September 2015 в 18:02
3 ответа

بر این اساس ، من نتیجه گرفتم که سوابق NS درون پرونده zone با انتقال ارتباطی ندارند و فقط نام سرورهای ثبت شده در سطح TLD مهم هستند.

یک فرضیه نادرست است ، اما مرتکب یک اشتباه آسان می شود. می توانید کمی بیشتر در مورد سوابق اوج NS در اینجا بخوانید. نسخه کوتاه این است که هر دو موضوع مهم هستند و مورد استفاده شده بسته به اینکه سرور DNS ذخیره شده قبلاً دامنه شما را پرسیده باشد یا خیر ، متفاوت خواهد بود.

بخاطر داشته باشید که اکثر سرورهای بازگشتی DNS حداقل TTL را اعمال می کنند ، بنابراین نتیجه گیری حاصل آزمایشات با TTL صفر تقریباً نادرست است. تنها موردی که اینگونه نیست ، کنترل حداقل سیاست TTL مورد استفاده توسط سروری است که از شما سال می کند.

من در حال حاضر در حال مهاجرت یک منطقه DNS از یک ارائه دهنده سرور DNS به دیگری هستم. من در تلاش هستم تخمین بزنم که چه مدت طول می کشد تا تغییر تغییر کند ، و بفهمم که اگر تصمیم بگیرم جریان میانه را دوباره برگردانم چه تأخیری ممکن است باشد.

من قصد دارم روی این موضوع تمرکز کنم زیرا شما چند مورد دارید در ادامه س yourال شما نادرست شروع می شود. اول ، مهم است که به یاد داشته باشید که TTL ها در سرورهای بازگشتی DNS ذخیره می شوند. از آنجا که همه افراد در اینترنت از سرورهای برگشتی DNS مختلف استفاده می کنند ، تنها فرضیه که می توانید بکنید این است که تا n ثانیه طول خواهد کشید ، با n ثانیه طول می کشد. مقدار TTL.

این به ما نشان می دهد که TTL در اینجا کدام یک از موارد مرتبط هستند:

  • TTL برای رکوردهای جداگانه که در حافظه پنهان هستند. حتی اگر سوابق NS منقضی شود ، درخواست های مربوط به سوابق انفرادی که در حافظه نهان هستند به طور خودکار منقضی نمی شوند. مثال: اگر test.example.com IN A ده دقیقه دیگر منقضی شود ، اما example.com IN NS پنج دقیقه دیگر منقضی می شود ، test.example.com حتی پس از تغییر سوابق NS در حافظه پنهان باقی خواهد ماند. هر مشکلی در رابطه با مقدار این رکورد در سرورهای جدید مشهود نخواهد بود تا زمانی که رکورد منقضی شده و تازه شود.
  • TTL برای NS سوابق چسب ارائه شده توسط سرورهای TLD DNS. این موارد توسط سرورهای بازگشتی مورد استفاده قرار می گیرند که برای بدست آوردن اطلاعات دامنه شما هنگام درخواست دامنه مورد نیاز است. این TTL ها تا چه مدت قبل از استفاده از سرورهای DNS موجود در پرونده zone شما برای تازه سازی بعدی تأثیر می گذارد. (برای توضیح در این باره به پرسش و پاسخ من در بالا پیوند دهید)
  • TTL برای سوابق NS که در بالای پرونده منطقه شما ذکر شده است. پس از انقضا TTL رکورد چسب ، ممکن است از این TTL استفاده شود. اجرا در این جزئیات متفاوت است. از آنجایی که شما با کل ارزش اجرای اینترنت مختلف روبرو هستید ، تنها فرض مطمئن این است که برخی از سرورها از آن استفاده می کنند. از یک منبع یا منبع دیگر هستند. این شما را مجبور می کند که برنامه های بالاتر از این دو را برنامه ریزی کنید ، مگر اینکه واقعاً به سرورهای بازگشتی DNS که کار نمی کنید نگران نباشید.

    با جمع کردن همه اینها ، به نتایج زیر می رسیم:

    • حداکثر مقدار زمان مورد نیاز برای هر رکورد DNS داده شده برای تازه سازی در برابر سرور نام جدید ، بالاترین TTL بین آن رکورد ، NS رکورد در چسب ، و NS است.
    • با فرض اینکه TTL های سرور DNS جدید با سرور قدیمی یکسان باشند ، حداکثر زمان مورد نیاز برای بازگشت مجدد بالاترین مقدار از سه TTL است ، یکبار دیگر . هرگونه سeriesالی که بین زمانی که سرورهای DNS را ابتدا تغییر داده اید و مجدداً آن را برگردانده اید روی سرور جدید قرار می گیرد ، به مقادیر بدست آمده از سرور جدید متکی است.
    • برای نگه داشتن همه سرورهای DNS که درگیر تغییر هستند در حال اجرا و همگام سازی هستند تا تمام TTL ها پس از تغییر آخرین رکورد NS منقضی شوند. شما نه تنها به تمام سرورهای موجود برای مشتریانی که آخرین تغییر را انتخاب نکرده اند ، نیاز دارید ، بلکه هر گونه ناسازگاری در داده های ثبت شده بین این دو می تواند باعث گیج شدن امور شود.
5
ответ дан 3 December 2019 в 01:30

شما می توانید این کار را با 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
1
ответ дан 3 December 2019 в 01:30

قبلاً می توانستید برای بدست آوردن مقادیر پیش فرض 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)

0
ответ дан 3 December 2019 в 01:30

Теги

Похожие вопросы