TTL Default: 100% способы поменять TTL и вернуть его обратно

Почему dns относится к сетевым подключениям, а не к устройствам

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

Рассмотрим обычный портативный компьютер. Мой более или менее «приклеен» к столу, и хотя он не двигался неделями, я подключился к:

  • Моей обычной домашней Wi-Fi / кабельной сети;
  • Моему сотовому телефону, когда кабельная сеть не работала;
  • Оба вышеуказанных способа, но с подключенным VPN.

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

Что такое ttl?

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

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

Почему dns кэшируется?

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

Техническое описание процесса

IP TTL устанавливается первоначально системой, отправляющей пакет. Его можно разместить в любое значение от 1 до 255. Разные операционные системы устанавливают разные значения по умолчанию. Каждый маршрутизатор, который получает пакет, вычитает не менее 1 из счета.

Точка ограничения TTL/hop должна поддерживать непрерывный поток пакетов, застрявших в циклах маршрутизации (возможно, из-за некорректных таблиц с данными и засорения сетей). В облаках Multiprotocol Label Switching (MPLS) TTL копируется из IP TTL, когда IP-пакет входит в облако. При выходе значение MPLS TTL копируется в соответствующее поле до тех пор, пока оно меньше значения в поле.

Что лучше: короткий или длинный ttl?

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

Обычно мнение людей как бы намекает, какие атаки или фиаско с конфигурацией испытывали их сети.

DDOS атака, которая нарушает работу DNS серверов на корневом / ISP серверах в течение 12 часов, будет иметь меньшее влияние на сайты с очень длинным TTL. Длинный TTL позволяет клиентам продолжать работать, даже когда DNS сервер находится в оффлайне или перегружен.

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

Мое личное предпочтение – иметь короткие (менее 1 часа / 3600 секунд) интервалы TTL.

Почему мое обновление dns не выполняется?

Кроме того, могут быть дополнительные факторы, которые увеличивают время распространения сверх базового расчета. Некоторые примеры включают в себя:

  • Веб браузеры внутренне кэшируют DNS записи для периодов времени, не контролируемых TTL, чтобы казаться «быстрее». Например, современные версии Internet Explorer кэшируют DNS на 30 минут по умолчанию (до IE 4 это было 24 часа) и будут игнорировать TTL ниже этого значения.
  • Мобильные интернет провайдеры могут стремиться уменьшить общий трафик за счет увеличения времени TTL, уменьшая частоту выполнения запросов.
  • Сложные внутренние сети с бóльшим количеством DNS серверов, чем вы ожидали, естественно, потребуют больше времени для обновления.

Вышеупомянутое является причиной, по которой большинство служб содержат что-то вроде: «Для того, чтобы изменения DNS полностью распространились, может потребоваться несколько дней, планируйте соответственно».

Введение

DNS является основополагающей частью [любой] технологии. Почти каждый сетевой запрос на уровне приложений, весь интернет трафик, веб поиск, электронная почта и т.д. полагаются на способность [службы] DNS возвращать ответы на запросы (переводить имена, такие как some.domain.org, в IP адреса или другие домены).

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

:/>  Как обновить драйверы с помощью командной строки в Windows 10 - zanz

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

Чтобы помочь в этой ситуации, мы рассмотрим:

  1. Основы DNS и TTL
  2. Траблшутинг DNS TTL
  3. Лучшие практики для изменения DNS записей
  4. Инструменты DNS
  5. Следующие шаги

Что такое dns запись?

Записи сервера доменных имен (DNS) определяют две важные вещи:

Куда должны указывать (где обрабатываться) запросы к записи.Как долго запись может быть кэширована до ее повторного запроса – это зловеще называется Time To Live (TTL) записи.

Траблшутинг DNS TTL

Траблшутинг – поиск и устранение неполадок.

Следующие шаги

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

Ttl и интернет-провайдеры

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

Как это выглядит на практике? Если Вы пользуетесь мобильным интернетом со смартфона, то тот отправляет TTL=64, но, если раздать с него Wi-Fi, то TTL подключенных устройств будет изменяться на единицу. Нагляднее это можно проследить на схеме ниже.

Что такое время жизни пакета (TTL)
Изменение TTL при раздаче Wi-Fi со смартфона.

Таким образом, оператор видит, что TTL «прыгает» с 64 до 63, а то и до 127 (если это ноутбук с Windows), и делает вывод, что в сеть выходит не одно устройство, а больше. В зависимости от условий предоставления связи, это может привести к блокировке.

Мы не будем в этой статье рассматривать способы обхода блокировок. Скажем лишь, что значение TTL по умолчанию можно изменить. Возьмём для примера Windows. Если вы запустите ping localhost, то увидите, что, как и говорилось ранее, TTL=128.

Для изменения установленного по умолчанию значения TTL нам нужно открыть редактор реестра, пройти в ветку HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesTcpipParameters и отредактировать (или создать, если его нет) параметр DefaultTTL.

Если у вас 64-битная версия ОС, то тип параметра будет QWORD (64 бита), если 32-битная версия ОС, то тип DWORD (32 бита). Система исчисления — десятичная, а значение можете задать от 1 до 255. Например, 65. Тогда пакеты данных, пройдя через раздающий Wi-Fi смартфон, будут выдавать TTL=64.

Что такое время жизни пакета (TTL)
Изменение значения TTL в Windows.

После этого перезагрузите компьютер. Снова запустив ping localhost, можно увидеть, что значение TTL изменилось.

Отдельно стоит упомянуть протокол IPv6. Если вы его используете, то нужная вам в реестре ветка: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesTCPIP6Parameters.

О том, как провернуть подобную настройку в Ubuntu, читайте в статье по этой ссылке.

Детальная настройка

Если на компьютере запущено очень много программ, которые работают с интернетом, и они вам нужны, то при их работе оператор будет вас блокировать. Например, вы хотите использовать торрент. При запросе к серверу оператор это увидит и заблокирует вас. Но мы можем обмануть его и просто не отправлять эту информацию. Для этого нужно сделать следующее:

  1. Нам нужно открыть файлик «hosts», который находится в директории:

C:WindowsSystem32driversetc

  1. Правой кнопкой по файлу и открываем его с помощью блокнота.

Есть ли способ заставить клиента обновлять свои dns записи удаленно?

Обычно этот вопрос задают в контексте: «Я обновил мои DNS записи, и теперь клиент не может связаться с каким-либо сайтом, как я могу принудительно выполнить обновление?»

К сожалению, ответ «нет». Не существует команды конфигурации DNS, которую вы можете ввести для принудительного досрочного обновления у нижестоящих клиентов.

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

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

Изменяем ttl

Утилиты ping и traceroute используют значение TTL, чтобы попытаться достичь заданного хост-компьютера или проследить маршрут до этого хоста. Traceroute отправляет поток пакетов с последовательно более высокими TTL, поэтому каждый будет отброшен в свою очередь следующим скачком (маршрутизатором) на пути до места назначения: первый пакет имеет TTL одного и отбрасывается первым маршрутизатором, второй — TTL из двух и отбрасывается следующим маршрутизатором.

:/>  Медиаплееры для windows скачать бесплатно - Проигрыватели

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

  • 0 — хостом;
  • 1 — подсетью;
  • 32 — сайтом;
  • 64 — регионом;
  • 128 — континентом;
  • 255 — неограничен.

Как проверить ttl dns-записи на unix / linux / mac?

В Unix (и производных) систем для поиска неисправностей используется команда dig (хотя nslookup обычно тоже в наличии).

Как проверить распространение dns ttl?

Если вы пытаетесь выяснить, произошло ли обновление ваших настроек DNS на определенном сервере, все перечисленные инструменты (dig, nslookup и др.) позволяют указать, к какому DNS серверу вы хотите выполнять запросы вместо локальных настроек по умолчанию.

Для того, чтобы получить более полную картину ваших изменений, я рекомендую whatsmydns.net, который будет проверять многие из верхних (уровня ISP) DNS серверов, которые позволят вам узнать, если что-то пошло совсем не так, как планировалось.

Как работает технология?

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

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

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

Как работают dns запросы?

Когда вы вводите URL адрес в своём браузере, создается целая серия запросов:

На каждом этапе этого процесса задаются следующие вопросы: (часто шагов больше, чем перечислено здесь)

  1. У нас есть эта запись в кэше?
  2. Если она кэширована, остается ли TTL действительным?

Если ответ на любой из этих вопросов «нет», то запрос перемещается на следующий шаг вверх по цепочке.

Как узнать, когда клиент запросит обновленную dns запись?

Очень сложно оценить когда все клиенты будут обновлены.

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

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

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

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

Какова лучшая практика для добавления новой dns записи?

Добавление новых записей проще, чем изменение существующих.

  1. Добавьте запись с низким TTL.
  2. После того, как вы убедитесь, что все работает, увеличьте значение TTL.

Какова наилучшая практика для изменения dns записи?

Для чего-то относительно простого, например, для изменения одной записи в домене, может показаться излишним иметь «план» или «стратегию», но, учитывая очень серьезную критичность DNS, необходимо проявлять осторожность. Это как старая поговорка: «щепотка загодя стоит пуда после» (прим. пер.: русский аналог – «предотвратить легче, чем лечить», или «дорого яичко ко христову дню»).

Есть простой способ ограничить свои ошибки: никогда не обновляйте одновременно DNS запись и TTL для этой записи. В идеале у вас будет следующий процесс:

  1. Уменьшите TTL для DNS записи до очень низкого значения за пару дней до того, как вам действительно нужно будет сделать переключение. Например: 300 секунд;
  2. Измените фактическую запись в день переключения;
  3. Через несколько дней после того, как вы сделали переключение, увеличьте TTL до более высокого значения.

Каковы типичные интервалы ttl для dns записей?

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

:/>  Ошибка в Windows XP: сервер RPC недоступен

300 секунд = 5 минут = «Очень короткий» 3600 секунд = 1 час = «Короткий» 86400 секунд = 24 часа = «Длинный» 604800 секунд = 7 дней = «Безумие»

Какое значение ttl самое распространенное?

Так много споров вокруг того, какими должны быть ваши настройки TTL, что мы подумали, что попытаемся сформировать какие-то жесткие данные. Сайты Moz Top 500 представляют собой отличное сечение веб сайтов, и они уже проделали большую работу, поместив их все в CSV файл.

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

Наивные вычисления стоимости dns

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

С кэшированием(30 файлов изображений * 50 мс для загрузки каждого из них) (100 мс одно время запроса DNS, который затем кэшируются) = 1600 мс

Без кэширования(30 файлов изображений * 50 мс для загрузки каждого из них) (30 * 100 мс время запроса DNS) = 3000 мс

Определение

Что такое TTL? Термин «время жизни» относится к количеству времени или «перескокам», когда пакет устанавливается в сети, прежде чем отбрасывается маршрутизатором. Технология также используется в других контекстах, включая кэширование CDN и кэширование DNS.

TTL является значением в пакете IP-протокола, который сообщает сетевому маршрутизатору, был ли пакет слишком длинным. В IPv6 поле в каждом пакете было переименовано. TTL устанавливается в восьмом двоичном разряде в заголовке пакета и используется для предотвращения бесконечного распространения пакетов в интернете или в другой сети.

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

Послесловие

Что меня бесило в начале знакомства с DNS:

Сколько стоит dns запрос?

Когда вы спрашиваете, сколько DNS запрос «стоит», вы обычно не беспокоитесь о деньгах. Вы беспокоитесь о времени. В зависимости от остального зоопарка сетевых уродцев, запрос DNS обычно занимает от 100 до 200 миллисекунд.

Хотя это очень небольшое количество времени, рассмотрим веб страницу. Для каждого изображения, файла css и файла ресурсов javascript, на которые ссылается страница, необходимо вернуть их DNS записи. Без кэширования вы бы значительно увеличили время загрузки.

Случаи применения

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

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

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

Снова прилетела блокировка

Совсем недавно стало известно, что значение TTL у компании МТС было изменено. Поэтому ещё раз зайдите в реестр прошлым способом и вместо 65 установите значение 64. Для тех, у кого оператор MTS – данный способ работает, но и для других, возможно, тоже данный способ будет работать – поэтому попробуйте.

Как я уже и говорил ранее, оператор будет следить за тем, к каким серверам вы обращаетесь. Если у вас включено обновление системы, начал обновляться антивирус, вы качаете с торрента или включен Steam, – то оператор это увидит и заблокирует вас. Поэтому тут есть три варианта:

Оставьте комментарий

Adblock
detector