До основного вмісту

TTL у DNS: що це і як правильно налаштувати

Домени · 19.04.2026 · 4 хв читання
Ілюстрація до статті «TTL у DNS: що це і як правильно налаштувати»

TTL (Time to Live) — час у секундах, протягом якого DNS-резолвери та браузери кешують відповідь на DNS-запит. Після закінчення TTL кеш скидається, і клієнт робить новий запит до DNS-сервера.

Як працює TTL

Приклад: у A-запису example.com встановлено TTL = 3600 (1 година). Користувач відкриває сайт — його браузер запитує IP у DNS. Наступну годину цей IP зберігається в кеші. Якщо ви змінили IP-адресу, користувач ще годину потраплятиме на старий сервер.

Рекомендовані значення TTL

Тип записуСтабільний TTLПеред міграцією
A (IP-адреса)3600 (1 година)300 (5 хв)
AAAA (IPv6)3600 (1 година)300 (5 хв)
CNAME3600 (1 година)300 (5 хв)
MX (пошта)86400 (24 години)3600 (1 година)
TXT (SPF/DKIM)86400 (24 години)3600 (1 година)
NS86400 (24 години)86400 (не змінювати)
💡 Перед міграцією: Знизьте TTL усіх важливих записів до 300 секунд за 24–48 годин до переїзду. Після міграції поверніть до стандартних значень.

Перевірка TTL записів

# Перевірка TTL A-запису
dig example.com A

# Відповідь покаже TTL
;; ANSWER SECTION:
example.com.    3600    IN    A    192.168.1.1
#               ^^^^
#               TTL у секундах

Мінімальний TTL у cPanel

У cPanel (Зона DNS → Simple DNS Zone Editor) мінімальний TTL за замовчуванням — 14400 секунд. Для швидшого поширення змін:

  1. Перейдіть у Advanced DNS Zone Editor
  2. Виберіть запис → змінити TTL
  3. Мінімально допустимий TTL у cPanel — 14400
⚠️ Не встановлюйте TTL занадто низьким на постійній основі: TTL = 60 секунд створює надлишкове навантаження на DNS-сервер і збільшує час відкриття сайту для кожного нового користувача.

Часті помилки, пов'язані з TTL

СимптомПричинаРішення
Після зміни IP частина користувачів досі бачить старий сервер через добуTTL не знизили заздалегідь, резолвери утримують старий запис увесь початковий термін кешуванняПеред наступною міграцією знизити TTL за 24–48 годин заздалегідь, а не в момент переїзду
cPanel показує TTL 14400, хоча в зоні вказано 300cPanel застосовує власний мінімальний TTL для Simple DNS Zone Editor незалежно від введеного значенняВикористати Advanced DNS Zone Editor, де можна задати точне значення TTL
Резолвер провайдера віддає старий запис довше за оголошений TTLДеякі резолвери округлюють або збільшують TTL понад авторитетне значення — це дозволено RFC як елемент кешування, а не помилкаЗакладати додатковий запас часу під час планування міграції (реальний TTL ≥ оголошеного)
Після зміни TTL із 300 на 86400 поширення все одно швидкеНове (збільшене) значення TTL набуває чинності лише після завершення попереднього, коротшого TTL — тому ефект помітний не одразуЦе очікувана поведінка, збільшувати TTL варто вже після завершення міграції

TTL при використанні CDN і failover

Для схем з автоматичним перемиканням IP під час аварії (DNS failover) низький TTL — не разовий захід перед міграцією, а постійне налаштування.

# Типова конфігурація для failover-схеми
@  A  60  203.0.113.10   ; основний сервер
@  A  60  203.0.113.20   ; резервний сервер (використовується системою моніторингу)

TTL = 60 секунд означає, що під час аварії основного сервера перемикання на резервний займе до хвилини замість години. Детальніше про саму механіку перемикання — у статті про DNS failover, а про розподіл навантаження між географічно рознесеними серверами — у статті про Anycast і GeoDNS.

Коли зниження TTL не допоможе

  • Резолвер інтернет-провайдера користувача примусово встановлює власний мінімальний TTL вищий за ваш — це трапляється в частини мобільних операторів і не контролюється власником домену
  • NS-записи батьківської зони (у реєстрі TLD) мають власний TTL, зазвичай 24–48 годин, і не залежать від TTL записів усередині вашої зони
  • Застосунки та мобільні клієнти кешують DNS на рівні ОС або бібліотеки незалежно від TTL запису — наприклад, частина Java-застосунків кешує DNS «назавжди» без явного налаштування networkaddress.cache.ttl
  • Браузери мають власний внутрішній DNS-кеш (зазвичай 60 секунд у Chrome) поверх системного — зниження TTL запису на це не впливає

SOA Minimum: TTL для негативного кешування

Поле Minimum у SOA-записі задає TTL для негативних відповідей — наприклад, для NXDOMAIN, коли запитаного імені не існує. Це значення окреме від TTL звичайних A/MX-записів і часто лишається поза увагою під час налаштування зони.

# Приклад SOA-запису
example.com. IN SOA ns1.zevshost.net. admin.example.com. (
  2026093001 ; Serial
  3600       ; Refresh
  900        ; Retry
  1209600    ; Expire
  3600 )     ; Minimum (негативне кешування)
Провайдер DNSТиповий SOA Minimum
cPanel (BIND)3600 секунд
Cloudflare1800–3600 секунд
Route 53 (AWS)900 секунд за замовчуванням

Якщо ви видалили запис і очікуєте, що резолвери одразу дізнаються про це — враховуйте саме SOA Minimum, а не TTL самого запису: поки не сплив Minimum, деякі резолвери можуть кешувати відповідь «запису немає» окремо від попереднього значення.

Чи була стаття корисною?
← Назад до бази знань Поставити питання підтримці