Как узнать ttl в linux

Обновлено: 21.11.2024

Команда dig(1) — это удобный инструмент для получения информации о DNS и устранения неполадок. Его можно использовать для получения значений TTL (время жизни) хоста или домена.

Эта информация может иметь решающее значение для планирования замены DNS и определения того, как долго оставить старый сервер включенным.

В большинстве случаев я бы рекомендовал установить низкое значение (5 минут или меньше) для нормальной работы, но некоторые интернет-провайдеры и провайдеры все еще стесняются уменьшать эти значения, поэтому всегда полезно проверить.

TTL для определенного хоста

Вывод Dig по умолчанию предоставляет информацию о TTL, это число, предшествующее типу записи (подчеркнуто ниже):

Примечание. Если ваш DNS-сервер по умолчанию не является полномочным сервером для зоны, которую вы копаете, dig покажет оставшееся время (до следующего обновления) вместо необработанного значения TTL в этой позиции.

TTL по умолчанию (и отрицательный TTL) для домена

Мы также можем получить параметр TTL для всего домена, который управляет отрицательным TTL (как долго сервер будет кэшировать ответ NX или "ничего там"). Это также преобразует SOA в более удобный для чтения формат:

Дополнительную информацию о множестве применений dig можно найти в DiG HOWTO Пола Хайнлайна.

Особая благодарность Джеймсу Сноу, который предоставил первоначальные факты и вдохновение для этой публикации.

3 ответа на «КАК: Использование dig(1) для поиска значений времени жизни (TTL) DNS»

Да, не всегда после кризиса, когда нам нужна быстрая смена доменного имени, мы, наконец, не забываем изменить TTL или поискать.

Параметр @8.8.8.8 может быть полезен для получения данных с DNS-серверов Google, а команда Windows ipconfig /displaydns очень хороша для локального ttl на вашем компьютере.

Резолверы Google не всегда отражают срок жизни, указанный в исходном файле зоны. Однако, как правило, это в наших интересах, так как значения TTL, которые я получил от Google, были ниже, чем значения TTL в файле зоны.

Получите только TTL с помощью:

Этот сайт использует Akismet для уменьшения количества спама. Узнайте, как обрабатываются данные ваших комментариев.

DNS TTL, или время жизни, — это элемент записи DNS, который сообщает запрашивающей стороне, как долго запись действительна.

Другими словами, если TTL для нашей DNS-записи установлен на 24 часа, после того, как браузер разрешит эту DNS-запись, он будет продолжать использовать то же значение в течение следующих 24 часов независимо от того, обновлялась ли DNS-запись. или нет.

  • Почему значение TTL DNS важно?
  • Выше или ниже TTL DNS?
  • Можно ли установить более короткие TTL?
  • Распространенные значения TTL
  • Рекомендации по времени жизни DNS.
  • Пример срока жизни DNS
  • Когда использовать длинный TTL

Почему значение TTL DNS важно?

DNS TTL крайне важны для веб-сайтов, которые часто вносят постоянные изменения и обновления. Имея более низкий TTL, мы можем гарантировать получение самых последних обновлений в заданный период времени.

Наше время жизни имеет решающее значение для прямого управления кэшированием нашего преобразователя. Например, наш преобразователь DNS будет извлекать запись DNS со своего авторитетного сервера каждый час. Затем в течение этого часа каждый пользователь, который запрашивает этот DNS-сайт, получит кэшированную версию веб-сайта, пока преобразователь снова не получит еще одну копию обновления с авторитетного сервера. Этот процесс использования кэша преобразователя значительно улучшает общее впечатление наших конечных пользователей.

Выше или ниже TTL DNS?

Если установлено слишком большое значение TTL, новая запись DNS не может быть обновлена ​​на стороне клиента, так как изменение вступит в силу для существующих пользователей слишком долго.

Однако установка очень низкого значения TTL приводит к дополнительным издержкам, поскольку запросы DNS должны выполняться гораздо более регулярно, что увеличивает время загрузки страницы для пользователя и увеличивает нагрузку на DNS-серверы.

Значения TTL по умолчанию традиционно составляли 24 часа, и обычно приходилось ждать более суток, чтобы изменения DNS вступили в силу.

Можем ли мы установить более короткие TTL?

Да, мы можем установить более короткие TTL. Однако это может привести к большей нагрузке на авторитетный сервер имен, но может быть полезно при изменении адреса критически важных служб, таких как веб-серверы или записи MX (указатели почтового сервера), и поэтому администратор DNS часто снижает их перед перемещением службы. , чтобы свести к минимуму сбои.

Общие значения TTL

Обычно значение TTL составляет 86 400 секунд, что составляет 24 часа. Это хорошая отправная точка для большинства записей. Однако мы можем установить более высокий TTL для записей MX или CNAME, поскольку ожидается, что они будут меняться очень редко. Если наша служба критична, рекомендуется установить TTL на 1 час (3600 секунд).

Рекомендации по времени жизни DNS

По большей части нет необходимости изменять наш TTL. Однако, если мы знаем, что скоро произведем серьезное изменение DNS, и хотим, чтобы изменения вступили в силу как можно скорее, мы можем заблаговременно изменить TTL.

Не менее чем за 24 часа до назначенного времени уменьшите значение TTL. Например, мы можем изменить его на 3600 (1 час).

Когда наша работа будет завершена, обязательно вернитесь и верните наши настройки TTL к исходным значениям. Кэширование DNS — важный способ снизить нагрузку на серверы, и лучше всего поддерживать низкий уровень этого трафика.

Проверьте срок жизни DNS с помощью команды dig

Самый простой способ посмотреть настройки TTL — воспользоваться утилитой dig, доступной в Linux, Unix и Mac OS X.

Это вернет информацию DNS (включая значения TTL) для доменного имени.

Здесь мы видим, что ttl для этих записей равен 0.

Проверьте срок жизни DNS с помощью команды nslookup

интернет-адрес = 162.159.138.9

ttl = 0

интернет-адрес = 162.159.137.9

ttl = 0

Когда использовать длинный TTL

Вот основные записи, у которых должен быть более длинный TTL:

MX-запись (указывает на почтовый сервер)

DKIM и SPF (обычно настраиваются с записями MX)

Записи, которые указывают на веб-сервер или CDN, записи A и CNAME соответственно, обычно имеют более длительный срок жизни, поскольку они редко изменяются. Для них мы хотели бы установить TTL от 12 часов до 1 дня.

Имейте в виду, что нам нужно будет снизить TTL и дождаться истечения срока действия кеша (обычно около суток), прежде чем вносить какие-либо изменения.

Примечание. Этой публикации больше года, поэтому содержащаяся здесь информация может быть устаревшей. Если вы что-то заметили, оставьте комментарий, и мы постараемся исправить это.

Частью запуска нового сайта может быть перемещение записей DNS. Перед тем, как сделать это, было бы действительно хорошей идеей разобраться со временем жизни (TTL) записи DNS, чтобы при изменении записей DNS вы не ждали целый день, пока DNS разберется сам. Большинство регистраторов DNS позволяют вам установить срок жизни до минуты или около того.

Также очень важно проверить статус ваших записей DNS, чтобы убедиться, что они имеют правильный TTL, обычно за день до (и день) перемещения.

Вы можете проверить значение TTL вашей записи A с помощью команды host. Измените значение флага -t (тип) на aaaa или cname, чтобы проверять различные типы записей.

Это приведет к следующему результату. TTL указанного ниже домена — "125".

Также можно проверить тот же результат с помощью команды dig.

Это приводит к следующему результату. Значение TTL для домена — "91".

Если вы обеспокоены тем, что ответ был закеширован в восходящем потоке (именно так работает DNS и почему вам в первую очередь нужно снизить TTL), вы можете напрямую запросить ответ у DNS-сервера имен. Это делается с помощью команды whois.

Это многое скажет вам о доменном имени. Важный бит информации называется сервером имен. Различные провайдеры TLD будут создавать разные выходные данные whois, но информация будет где-то там.

Для моего собственного сайта записи сервера имен выглядели так.

Имея эту информацию, вы можете напрямую опросить DNS-сервер, используя следующее.

Это, пожалуй, самый надежный способ проверить значения TTL вашего домена, поскольку он исключает кэширование результатов.

И наконец, не забывайте проверять все переносимые домены и поддомены. В частности, это означает проверку вариантов с www и без www для каждого переносимого адреса.

Хотите узнать больше? Нужна помощь?

Поможем! Наймите нас для обучения, советов, устранения неполадок и многого другого.

Знаете ли вы, что мы можем определить, какая операционная система работает на удаленной системе, просто проверив ее связь? Да! В этом кратком руководстве мы увидим, как определить операционную систему с помощью значения TTL и команды Ping. Этот метод должен работать в любой операционной системе, в которой есть утилита командной строки Ping.

Существует множество команд, приложений и утилит для определения операционной системы удаленной системы. Однако определить тип операционной системы с помощью TTL очень просто!

Вы можете быстро определить, работает ли система с Linux, Windows или любой другой ОС, просмотрев значение TTL в выводе команды ping. Вам не нужны никакие дополнительные приложения для определения операционной системы удаленной системы.

Значение TTL зависит от версии операционной системы и устройства.

Исходное значение TTL по умолчанию для Linux/Unix равно 64, а значение TTL для Windows равно 128.

Вот начальные значения TTL по умолчанию для популярных операционных систем, таких как Linux, FreeBSD, Mac OS, Solaris и Windows.

Значения TTL для операционных систем

Вы можете просмотреть полный список значений TTL для различных операционных систем и устройств в конце.

Определить операционную систему удаленного хоста по значению TTL

TTL (время жизни) – это значение таймера, включаемое в пакеты, отправляемые по сетям на основе TCP/IP, которое сообщает получателям, как долго следует удерживать или использовать пакет или любые содержащиеся в нем данные до истечения срока действия и отказа от пакета. или данные.

Команда Ping используется для проверки подключения и доступности системы или устройства в локальной или глобальной сети. Команда Ping предустановлена ​​в большинстве операционных систем.

Чтобы просмотреть значение TTL хоста Linux/Windows, просто пропингуйте хост от самого себя или от других систем в сети:

Пример:

Пример вывода моего рабочего стола Fedora:

Проверка связи хоста Linux

Как вы можете видеть, я получаю 64 в качестве значения TTL в приведенном выше выводе. Потому что это система Linux.

А как насчет хостов Windows? Давайте посмотрим, что мы получим, если пропингуем систему Windows.

Я собираюсь пропинговать рабочий стол Windows 10 с моего рабочего стола Fedora. IP-адрес My Windows 10 — 192.168.122.239.

Пример вывода:

Проверка связи хоста Windows с хоста Linux

Обратите внимание на значение TTL? Оно равно 128. Значение TTL по умолчанию для ОС Windows равно 128.

Начальные значения TTL

В следующей таблице показаны начальные значения TTL по умолчанию для различных операционных систем и устройств.

< td>TCP и UDP< td>255< tr>< tr>< td>ICMP< td>OSF/1< /tr>< /tr>< td>ICMP
Устройство/ОСВерсияПротоколTTL
AIX TCP60
AIX UDP 30
Android3.2.1TCP и ICMP64
Android5.1.1TCP и ICMP64
AIX3.2, 4.1ICMP255
BSDI BSD/OS 3.1 и 4.0ICMP255
CompaTru64 v5. 0ICMP64
Cisco ICMP254
DEC PathworksV5TCP и UDP30
Foundry ICMP64
FreeBSD2.1R64
FreeBSD3.4, 4.0ICMP 255
FreeBSD5ICMP64
HP-UX9.0xTCP и UDP30
HP-UX10.01TCP и UDP64
HP-UX10.2ICMP 255
HP-UX11ICMP255
HP-UX11TCP64
Irix5.3TCP и UDP60
Irix6.x< /td>TCP и UDP60
Irix6.5.3, 6.5.8 ICMP255
juniper ICMP64
MPE/IX (HP) ICMP200
Linuxядро 2.0.xICMP64
Linuxядро 2.2.14ICMP255
Ядро Linux2.4ICMP
LinuxRed Hat 9ICMP и TCP64
MacOS/MacTCP2.0.xTCP и UDP60
MacOS/MacTCPX (10.5.6)ICMP/TCP/UDP64
NetBSD ICMP255
Netgear FVG318 ICMP и UDP64
OpenBSD2.6 и 2.7255
OpenVMS07.01.2002ICMP255
OS/2TCP/IP 3.0 64
V3.2ATCP60
OSF/1V3.2AUDP30
Solaris2.5.1, 2.6, 2.7, 2.8ICMP255
Solaris2.8TCP64
StratusTCP_OSICMP255< /td>
StratusTCP_OS (14.2-)TCP и UDP30
StratusTCP_OS (14.3+)TCP и UDP64
StratusSTCPICMP/TCP/UDP60
SunOS4.1.3/4.1.4TCP и UDP60
SunOS5.7ICMP и TCP255
UltrixV4.1/V4.2A< /td>TCP60
UltrixV4.1/V4.2AUDP30
UltrixV4.2 — 4.5ICMP255
VMS/Multinet TCP и UDP64
VMS/TCPware TCP 60
VMS/TCPware UDP64
VMS/Вуллонгонг1.1.1.1TCP128
VMS/Вуллонгонг1.1.1.1UDP30
VMS/UCX TCP и UDP128
Windowsдля рабочих группTCP и UDP32
Windows95TCP и UDP32
Windows 98ICMP32
Windows98, 98 SE ICMP128
Windows98TCP128
WindowsNT 3.51TCP и UDP32
WindowsNT 4.0TCP и UDP128
WindowsNT 4.0 SP5- 32
WindowsNT 4.0 SP6+ 128< /td>
WindowsNT 4 WRKS SP 3, SP 6aICMP128
WindowsNT 4 Server SP4ICMP128
WindowsMEICMP128
Windows2000 proICMP/TCP/UDP128
Windowsсемейство 2000128
WindowsServer 2003 128
WindowsXPICMP/TCP/UDP128
WindowsVistaICMP/TCP/UDP128
Windows7ICMP/TCP/UDP128
WindowsServer 2008 ICMP/TCP/UDP128
Windows10ICMP/TCP/ UDP128
Начальные значения TTL

Этот метод может не всегда быть точным. Однако это даст представление о базовой операционной системе в удаленной системе. Если вы знаете только IP-адрес удаленной системы, вы можете использовать команду Ping, чтобы получить имя ОС.

Читайте также: