Скільки часу потрібно для розповсюдження записів DNS?


68

Це канонічне запитання про розповсюдження DNS

Скільки часу потрібно для розповсюдження різних типів записів?
Деякі розмножуються швидше, ніж інші?
Чому потрібен час для розповсюдження записів DNS і як це працює?


1
Примітка. Історично існувала помітна і значна різниця у часі, необхідному для оновлення різних типів записів (залежно від того, хто їх зберігав і таких). Сьогодні це вже не так.
Кріс S

4
Коли в ppl використовується слово "propagate" для DNS, це чітко показує, що вони не знають, що таке DNS і як це працює. Будемо сподіватися, що документація «пошириться» досить швидко (схрещуючи пальці).
poige

3
@tonygil Будь ласка, дивіться коментар Poige. Немає такого поняття, як розповсюдження dns. Також провайдери не управляють кореневими серверами. Якщо DNS-сервери цих провайдерів кешують довше, ніж TTL запису, вони порушують RFC. Здається, у вас є кілька непорозумінь із тим, як працює DNS; але порушення RFC зазвичай порушують спосіб роботи. Це не має нічого спільного з США та Європою.
Chris S

1
@tonygil: "Кіберполіція", щоб "зробити їх" оновленням, - це всі системні адміністратори, мережеві адміністратори тощо, що чинять соціальний тиск на поганих акторів. Інтернет працює, тому що ми всі згодні, що так і має. Найкращі інтереси наших користувачів, мереж тощо є в явному "найкращому інтересі" Інтернету. re: "користувачі не техногурус" - Це сайт для професійних системних адміністраторів, а не для кінцевих користувачів. Чесно кажучи, я очікую, що систематики будуть свого роду "техногуру" (використовувати вашу термінологію). Сисадміни є , по роду занять, повинні піклуватися , як працює цей матеріал.
Еван Андерсон

@EvanAnderson я повністю згоден, що тиск робить зміни. з іншого боку, реальність така, що ледачі чи некомпетентні сисадміни там у ордах. і чим далі ви переходите від нас та Європи, тим частіше вони стають. ваші очікування в порядку 4 США, але вони неможливо здійснити в більшості частин реального світу, де правилом є непідготовлені систематики. Таким чином, хоча ви очікуєте, що все буде добре, ви маєте справу з реальним світом, де НЕ. у будь-якому випадку, я зробив мою думку, ви зробили своє. погодимося не погодитися.
tony gil

Відповіді:


71

"Поширення DNS" саме по собі не є справжнім явищем. Скоріше, це явний ефект функцій кешування, зазначених у протоколі DNS. Скажімо, що зміни "поширюються" між DNS-серверами - це зручна помилка, яку, мабуть, простіше пояснити нетехнічним користувачам, ніж опис усіх деталей протоколу DNS. Однак насправді це не так, як працює протокол.

Рекурсивні сервери DNS роблять запити від імені клієнтів. Рекурсивні сервери DNS, як правило, керуються провайдерами або ІТ-відділами, використовуються клієнтськими комп'ютерами для вирішення імен Інтернет-ресурсів. Рекурсивні сервери DNS кешують результати запитів, які вони роблять для підвищення ефективності. На запити вже кешованої інформації можна відповісти без додаткових запитів. Тривалість кешування результату в секундах повинна базуватися на налаштовуваному значенні під назвою "Час жити" (TTL). Це значення визначається авторитетним сервером DNS для запиту запиту.

Немає жодної відповіді на всі запитання, оскільки DNS є розподіленим протоколом. Поведінка DNS залежить від конфігурації авторитетного DNS-сервера для даної записи, конфігурації рекурсивних DNS-серверів, що здійснюють запити від імені клієнтських комп'ютерів, та функцій кешування DNS, вбудованих в операційні системи клієнтських комп'ютерів.

Доброю практикою є визначення значення TTL, достатньо короткого для розміщення необхідних щоденних змін у записах DNS, але досить довго, щоб створити "виграш" у кешуванні (тобто не такий короткий, щоб занадто швидко застаріти кеш, щоб забезпечити будь-яке підвищення ефективності). Використання збалансованої стратегії зі значеннями TTL призводить до «виграшу» для всіх. Це зменшує як завантаження, так і використання пропускної здатності для авторитетних DNS-серверів для даного домену, кореневих серверів та серверів TLD. Це зменшує використання пропускної здатності вхідного потоку для оператора рекурсивного DNS-сервера. Це призводить до швидших відповідей на запити клієнтських комп'ютерів.

Оскільки TTL запису DNS встановлюється нижчим, а використання пропускної здатності на авторитетних серверах DNS збільшуватиметься, оскільки рекурсивні DNS-сервери не зможуть кешувати результат протягом тривалого часу. Оскільки TTL запису вище, зміни в записах не будуть швидко набирати чинності, оскільки клієнтські комп'ютери продовжуватимуть отримувати кешовані результати, що зберігаються на їх рекурсивних серверах DNS. Встановлення оптимальної TTL зводиться до балансуючого рівня між використанням та здатністю швидко змінювати записи та бачити, що ці зміни відображаються на клієнтах.

Варто зазначити, що деякі Інтернет-провайдери зловживають і ігнорують значення TTL, визначені авторитетними серверами DNS (заміняючи власну адміністративну перевагу, що є порушенням RFC). З цього питання нічого не можна робити. Якщо в операторів зловживаючих DNS-серверів можуть бути звернені скарги на їх системних адміністраторів, це може призвести до їх застосування в практиці найкращої практики (можливо, що є здоровим глуздом для будь-якого мережевого інженера, знайомого з DNS). Цей тип зловживань не є технічною проблемою.

Якщо всі "грають за правилами", зміни до записів DNS можуть "набути чинності" дуже швидко. У разі зміни IP-адреси, призначеної для запису "А", наприклад, буде виконуватися експоненціальний баккофф значення TTL, що призводить до моменту внесення змін. TTL може початися, наприклад, через 1 день, і зменшиться до 12 годин протягом 24 годин, потім 6 годин протягом 12 годин, 3 години протягом 6 годин тощо, аж до деякого відповідного невеликого інтервалу. Після повернення TTL запис можна змінити і TTL повернути до потрібного значення для щоденних операцій. (Не потрібно використовувати експоненціальний баккофф, однак ця стратегія мінімізує час запису буде мати низький TTL і зменшує навантаження на авторитетний сервер DNS.)

Після створення запису зміни DNS слід контролювати журнали змін спроб доступу внаслідок старого запису DNS. У прикладі зміни запису "А" на посилання на нову IP-адресу сервер повинен залишатися присутнім на старій IP-адресі для обробки спроб доступу в результаті клієнтських комп'ютерів, які все ще використовують стару запис "А". Після того, як спроби доступу на основі старої записи досягли прийнятно низького рівня, стару IP-адресу можна використовувати. Якщо запити, пов'язані зі старою записом, швидко не стикаються, можливо, (як описано вище) рекурсивний DNS-сервер ігнорує авторитетний TTL. Знаючи IP-адресу джерела спроби доступу, однак, не надає прямої інформації щодо рекурсивного DNS-сервера, відповідального за надання старого запису.

Особисто я бачив, що зміни "набувають чинності" негайно, через кілька годин, а в деяких випадках із певним пошкодженням мозку, через кілька днів. Виконання вашої TTL та врахування того, як працює процес, збільшить ваші зміни для успіху, але ви ніколи не можете бути впевнені, що може робити якийсь добронамерений ідіот зі своїми рекурсивними серверами DNS.


9
Це не відповідь про "OpenDNS" - це відповідь про DNS. Будь-який рекурсивний постачальник DNS може реалізовувати будь-які інтерфейси, які він хотів би дозволити очищення кешу тощо. Ми говоримо про DNS-- не про API постачальників. Якщо ви редагуєте: я стою фразу "пошкоджений мозок" як фразу, яка давно використовується в хакерській культурі, і я використовую її в цьому контексті (див. Файл "Жаргон", "Хакери" Стівена Леві тощо) . Що стосується "ідіотичного", я думаю, що обґрунтовано встановлено, що поза правовими кодексами це розмовний термін для дій, які мають некомпетентний характер. Я стою також.
Еван Андерсон

11
@tonygil - OpenDNS не є DNS. Це просто послуга, яку хтось пропонує. Що робити, якщо FooDNS відкриється завтра і має новий захоплюючий API очищення кешу? Чи повинна моя відповідь включати і це? Де зупиняється? Це перероджується в божевілля. Що стосується: громадянських прав - Я не є роботодавцем чи урядовою структурою, яка не відмовляє громадянським правам члена захищеного класу. Впевнені ... продовжуй і дивись, чи зможеш ти знайти когось, хто хоче переслідувати мене. Вони можуть зв’язатись зі мною поштою в поштовій скриньці 852, Трой, Огайо. (866) 569-9799, x801 пересилає на мій мобільний телефон 24x7. (Це хороша детективна робота там, дивлячись на мій профіль, BTW.)
Еван Андерсон,

1
Ви бачите, ви сказали, що тиск однолітків приносить зміни. це було те, що я зробив. донесли до ур уваги, що я не згоден з використанням ур "ідіот" та "пошкоджений мозку", оскільки вони є образливими та зневажливими. той факт, що хтось використовує це рясно (тобто хакери), не робить це правильно. kkk рясно використав n-слово. pls поважайте тих з нас, хто піклується про психічно слабких людей. я розумію, що ви включаєте терміни метафорично в ур-барвистий стиль, але повірте: вони є образливими і непотрібними.
tony gil

Про шанування TTL: TTL - це максимальне значення для зберігання речей у кеші. Резолютор кешування може виривати дані перед ним. Тож вони можуть її знизити, якщо хочуть. Однак це правда, що вони не повинні її збільшувати, тобто це порушення протоколу. Але для людей, що ставлять 1 секунду в TTL, деякі кеші захищаються, просто не шануючи це і затискаючи приблизно 5 хвилин.
Патрік Мевзек

Рекурсивний DNS - сервера, як правило , виконується з допомогою інтернету - провайдерів або ІТ - відділів, в даний час вони є величезними флотами (нечітка хмара) відкритих рекурсивних серверів імен , такими як 1.1.1.1або 8.8.8.8або 9.9.9.9або 80.80.80.80. Важливо розуміти, що вони є будь-якими прогнозами: відповідь може змінитися на основі джерела IP, оскільки це вплине на потенційно зовсім інший фізичний екземпляр І кеш, який вони мали, може бути глобальним для всіх випадків, чи ні.
Патрік Мевзек
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.