Не уменьшать ttl что это
Что такое TTL и на что влияет «Время жизни пакета» на смартфоне и у маршрутизатора?
ВНИМАНИЕ! По последним данных от надежного источника стало известно, что не только TTL является причиной блокировки мобильного интернета. Если же вам нужна информация по ТТЛ для роутеров, и на что данный протокол влияет, то смотрите последнюю главу.
Всем доброго времени суток! Скорее всего ты зашел сюда для того, чтобы обойти блокировку мобильного оператора. Ведь с помощью именно TTL данные компании ловят за руку абонентов, который включили на своем телефоне режим точки доступа. Что такое TTL? Time To Live – это время жизни пакета во вселенной IP адресации.
Когда пользователь включает режим модема или точки доступа, то телефон начинает раздавать Wi-Fi вместе с интернетом. При подключении компьютера, ноутбука, телевизора, приставки или другого телефона (планшета) провайдер именно за счет TTL и понимает, что идет раздача интернета на другое устройство.
На данный момент этим грешат такие операторы как МТС, Билайн, YOTA, Теле2 и другие. Насколько я помню, только у Мегафона ограничения пока нет, но я могу ошибаться – поправьте меня в комментариях, если я не прав. Далее я расскажу, как узнать значение TTL, как его поменять и как обойти блокировку. Начнем с теории – советую её прочесть, чтобы вам в дальнейшем было все понятно.
Более подробно про TTL
Разберем на простом примере. У вас есть телефон, который при подключении к мобильному интернету оператора постоянно отправляет запросы. В каждом таком запросе есть значение TTL, которое по умолчанию равно 64 – на Android и iOS. У Windows Phone, насколько помню, это значение равно 130.
После того как на телефоне включен режим роутера и идет раздача Wi-Fi с интернетом, к нему подключаются другие устройства. На Windows TTL по умолчанию равно 128. На других телефонах 64.
А теперь мы подошли к самой сути TTL. Как вы помните, TTL это время жизни пакета, а называется оно так, потому что при проходе через один узел или устройство, данное значение уменьшается на 1. В итоге компьютер, подключенный к вашему телефону будет отправлять запрос в интернет с TTL, который будет равен 127 (то есть минус 1). От подключённых телефонов ТТЛ будет равен уже 63.
В итоге на сервер оператора от вашего телефона приходят три пакета с разными ТТЛ. Оператор понимает, что дело не чисто, и блокирует устройство. Но блокировку можно также легко обойти.
Обход блокировок
Обходится блокировка достаточно просто – нужно на подключенных устройствах выставить TTL, который будет ровен на 1 больше чем у раздающего телефона. Например, вы раздаете интернет на ноутбук, тогда нужно установить у этого устройства ТТЛ со значение на 1 больше чем у раздающего устройства (то есть 65). В итоге пакет от компьютера, попадая на телефон будет принимать значение 64. Оператор будет видеть, что все пакеты одинаковые, и никого блокировать не будет.
ПРИМЕЧАНИЕ! Можно, конечно, не уменьшать ТТЛ на принимающем устройстве, а уменьшить его на раздающем, но для этого понадобятся ROOT права и программа TTL Master. Поэтому проще всего изменить значение на второстепенных аппаратах – об этом поподробнее чуть ниже.
Но есть ещё одна загвоздка, про которую нигде почему-то не написано. Дело в том, что операторы начали также по-другому вычислять раздачу. У провайдера есть список серверов, к которым можно обратиться только с компьютера.
Например, если на подключенном компьютере начнется обновление Windows, то оператор это сразу поймет. Потому что с телефона никто в здравом уме не будет обращаться к серверам обновления от Microsoft. Список таких серверов постоянно пополняется. Но и эта проблема достаточно легко решается. По этому поводу у нас на портале есть подробные инструкции для всех операторов:
Там расписаны все шаги с картинками и пояснениями. Также вы сможете определить и проверить свой ТТЛ, но на деле они имеют одинаковые значения для всех типов устройств, о которых я написал в самом начале.
TTL в роутере
Также этот параметр встречается и в роутере, а также в любых сетях, которые работают с IP адресами. На уровне маршрутизации пакетов ТТЛ постоянно используется как внутри сети пользователя, так и в сети провайдера.
Например, у Keenetic есть параметр «Не уменьшать TTL» – который нужен для того, чтобы пакеты данных от маршрутизатора провайдера при проходе через ваш роутер не уменьшался. Дело в том, что некоторые провайдеры специально выставляют ТТЛ=1. Сделано это для того, чтобы к основным шлюзам всякие нехорошие люди не подключили сторонние маршрутизаторы.
Проблема в том, что если убрать эту галочку, то при проходе пакета ТТЛ уменьшится до 0. А ТТЛ со значение 0 отбрасываются и уничтожаются всеми сетевыми устройствами, который работают на уровне IP адресации. То есть ваш компьютер или любое другое устройство просто не будет принимать эти пакеты.
Ещё раз объясню – это нужно для того, чтобы пользователь не подключал к своему роутеру других абонентов через другие шлюзы. Это если вы захотите стать провайдером для кого-то ещё. Понятное дело, провайдер начнет вас блокировать.
Теоретически да, но делать это НЕЛЬЗЯ по установленному пункту в договоре от поставщика услуг. Не знаю точно, что может грозить за это, но огромный штраф и судебное дело – вполне реально.
С другой стороны, данный параметр иногда нужно изменять при настройке локальной сети компании или предприятия. В таком случае будет использоваться несколько маршрутизаторов. В этом случае поможет TELNET для изменения параметра (x – это значение от 1 до 255) для входящих пакетов:
ПРИМЕЧАНИЕ! 255 – это максимальное возможное значение TTL.
interface ISP ip adjust-ttl inc x
interface ISP ip adjust-ttl dec x
interface ISP ip adjust-ttl set x
Для исходящих данных к провайдеру, нужно заменить «ISP» на «Home». Например:
interface Home ip adjust-ttl inc 1
СОВЕТ! Не забываем сохранить изменения командой:
system configuration save
На роутере ASUS есть два других параметра, которые решают аналогичные проблемы:
Подобные значения есть у всех роутеров. Для более продвинутых пользователей их можно изменять в роутер через командную строку (TELNET). В общем, все обходится, и ничего заблокировать нельзя, да пребудет свобода в беспроводном и проводном пространстве – первая заповедь великого Wi-Fi-Гида, да растет его борода!
Как изменить TTL в Windows 10 и раздать безлимитный интернет со смартфона на компьютер
Любой современный смартфон может выступать в качестве Wi-Fi роутера, способного раздавать интернет для другого устройства. Воспользоваться подобным функционалом разрешено всем владельцам, но бесплатно такая опция предоставляется далеко не каждому. Часто бывает, что мобильный оператор ограничивает «безлимитный» тариф и взимает дополнительную плату за раздачу интернета со смартфона. Происходит это благодаря TTL, который хорошо контролируется оператором.
Что это за технология и как обойти ограничения – поговорим в сегодняшней статье.
Что такое TTL и зачем он нужен
TTL – это специальный показатель, который встроен в каждое устройство, способное выходить в интернет. Сама аббревиатура расшифровывается как Time To Live – «время жизни IP-пакета». Это набор данных, который передается от пользователя к серверу и обратно. Время в данном случае означает то, сколько может просуществовать пакет без потери информации. Изначально TTL хотели измерять в секундах, откуда и пошло определение.
Значение TTL в компьютерных сетях находится в диапазоне от 0 до 255. Перемещаясь между различными маршрутизаторами, параметр постоянно меняется. Для владельцев устройств на базе iOS и Android начальное значение обычно равняется 64, для Windows – 128. Каждый переход через беспроводной канал уменьшает показатель на 1 единицу. Если произойдет множество скачков от одного клиента к другому, значение становится равным 0 – в таком случае все данные в пакете уничтожаются.
Точное число значений TTL всегда перенаправляется провайдеру, который всегда может узнать, был ли пропущен трафик через сторонние устройства или нет. Таким образом, сотовые операторы могут спокойно контролировать раздачу интернета своих клиентов. Когда владелец смартфона раздает интернет, его значение TTL уменьшается на единицу и равняется 63. Это сразу же становится известно оператору, который в свою очередь начинает принимать меры – обычно взимает дополнительную плату или перекрывает доступ в интернет.
Более детально это выглядит так:
Чтобы обойти блокировку оператора, необходимо увеличить значение TTL на 1 единицу. Так мы получим увеличенное число, которое будет снижаться до исходного. В таком случае оператор не сможет заподозрить клиента в раздаче интернета.
О том, как это сделать, поговорим далее.
Как узнать значение TTL на компьютере
Прежде чем переходить к изменению TTL, необходимо определить, чему оно равняется. В Windows 10 сделать это довольно просто – достаточно ввести нужную команду в командную строку, запущенную от имени администратора. Рассмотрим на примере:
Узнав нужное нам значение, можем переходить к его изменению.
Как изменить TTL в Windows 10
Для редактирования TTL нам потребуется обратиться к редактору реестра – это встроенная утилита, позволяющая корректировать системные настройки. Если вы никогда с ней не работали, то будьте бдительны – корректировка различных параметров может привести к проблемам с Windows.
Перейдем к настройке:
Осталось перезагрузить компьютер, и значение TTL будет изменено на 65. При передаче интернета со смартфона оно изменится на стандартное 64. Оператор сотовой связи ничего не заподозрит, а вы сможете пользоваться раздачей интернета как ни в чем не бывало.
Как раздать интернет на Android-смартфоне
Есть три способа раздачи интернета – через мобильную точку доступа, USB или Bluetooth.
Мобильная точка доступа
Алгоритм действий следующий:
В моем случае выполняется раздача Wi-Fi под именем «Frank» с паролем «12345678». На вашем смартфоне будут указаны другие параметры, но вы всегда можете их поменять. Также в настройках можно отключить вход по паролю – для этого необходимо в верхнем правом углу нажать на троеточие и выбрать «Настройки точки доступа». Затем в блоке «Безопасность» изменить значение на «Открытый».
Раздаем интернет через Bluetooth
Подключиться через Bluetooth вы сможете только в том случае, если ваш ноутбук поддерживает данную технологию. Процесс подключения следующий:
Убедитесь, что ваш телефон и ноутбук не подключены к какой-либо другой сети.
Через USB—подключение
Для подключения через USB нам потребуется простой провод Type-A/C на Type-C/Micro B – в общем тот, который вы обычно используете для зарядки.
Подключаем телефон к компьютеру и выполняем следующие действия:
Вот такими несложными манипуляциями мы смогли подключиться к интернету, который раздается со смартфона на Android.
Как раздать интернет на iOS-устройстве
Раздать интернет на Mac, PC и другие устройства мы также можем через Bluetooth:
После изменения TTL вы можете пользоваться раздачей интернета без каких-либо проблем, если ранее они были. Удачи!
TTL — что это такое и зачем его менять?
В настоящее время операторы мобильной связи начали предоставлять безлимитные интернет тарифы. Однако неограниченный доступ во всемирную паутину открывается только для одного устройства. Если пользователь желает раздавать интернет на другие смартфоны и компьютеры, то за это взимается дополнительная плата. Отслеживание подключенных устройств выполняется через TTL. В статье ниже объясним значение аббревиатуры и принцип работы самой технологии. Также предоставим несколько рабочих методов обхода ограничений операторов.
Что такое TTL
Дословно термин TTL расшифровывает как «time to live». В области вычислительной техники с его помощью обозначают время или число переходов данных до их исчезновения. Подобный параметр не дает пакетам данных бесконечно блуждать по интернету. Прохождение через маршрутизатор (например, роутер) уменьшает значение TTL на единицу.
Максимально показатель может достигать 255 единиц. Однако стандартные значения у него гораздо ниже и зависят от операционной системы устройства:
С помощью TTL мобильные операторы определяют, ведется ли с устройства раздача интернета. Им это необходимо, чтобы ограничивать абонентов, которые подключили для своей SIM-карты безлимитный выход в сеть.
Принцип работы TTL следующий: если мобильное устройство работает без раздачи интернета, то на сторону оператора поступает одинаковое значение, по умолчанию равное 64. Как только смартфон выступает в роли роутера, добавляется одна ячейка в цепи.
Соответственно, пакет данных, отправленный с принимающего телефона, теряет единицу значения TTL в момент прохождения через роутер (раздающий смартфон). И на сторону оператора передается значение равное 63. При этом раздающее устройство продолжает передавать значение – 64. Разница в принимаемых числах (в разброс поступает TTL 64 и 63) позволяет оператору определять раздачу интернета.
Обход ограничения заключается в фиксации нового значения TTL на Android. Сменив стандартное значение на 63, пользователь уберет разницу между пакетами данных самого устройства и теми, что отправляются с подключенных телефонов – у них стандарт останется 64, но при проходе через раздающий смартфон станет равно 63. В итоге мобильный оператор будет получать TTL=63 и не заметит раздачи интернета.
Если подключается компьютер с операционной системой Windows, где стандарт составляет 128 единиц, то придется выполнить корректировку на нем. Делается это через редактор реестра. Подробную инструкцию предоставим ниже. Также скорректировать параметр можно на телефоне, установив значение 127, однако в таком случае нельзя будет принимать интернет на других мобильниках.
Как изменить TTL на Андроид
Сама процедура смены TTL на мобильном телефоне не представляет особой сложности. Выполнить задуманное можно напрямую, скорректировав специальный файл или через приложение, установленное с Play Market. Оба метода имеют одно серьезное условие – на смартфоне должны быть получены root-права.
Ручное изменение TTL
Чтобы сменить значение «time to live» вручную, потребуется:
Теперь при раздаче интернета, от оператора не будет приходить уведомление о необходимости дополнительно оплатить услугу.
Как пользоваться TTL Master
Более удобный способ изменения параметра заключается в использовании приложения «TTL Master». Оно делает процесс полностью автоматизированным, пользователю требуется только задать желаемое число для данного устройства. Приложение поддерживает автоматический запуск при включении телефона, а на период смены TTL самостоятельно активирует режим полета.
Инструкция по использованию:
Нажатие на значок шестеренки открывает меню приложения. В нем активируется автозапуск, получение уведомлений и автоматическое включение точки доступа после смены TTL.
Как поменять TTL на Windows 7 и выше
Если на мобильном устройстве нет прав суперпользователя, а требуется наладить раздачу на Windows, параметр TTL можно изменить на компьютере: вместо стандартного 128 будет установлено 65, что в момент прохода через телефон даст стандартное значение равное 64.
Представленные рекомендации помогут поменять ТТЛ как на Виндовс 10, так и на более ранних версиях операционной системы. Разницы в создаваемых параметрах реестра нет.
Подведем итоги. TTL – это количество проходов пакета данных через маршрутизатор, по истечении которых происходит его уничтожение. «Time to live» используется мобильными операторами для определения раздачи интернета с мобильного устройства, что, в свою очередь, противоречит правилам тарифа и становится основанием для дополнительного списания средств.
Обход ограничения заключается в корректировке TTL таким образом, чтобы при проходе через раздающий смартфон он получал одинаковое значение и не вызывал подозрений. В ОС Андроид для этой цели необходимо иметь root-права, а в Windows достаточно создать два идентичных параметра в редакторе реестра.
Хватит использовать смехотворно малый TTL для DNS
Низкая задержка DNS — ключевой фактор для быстрой работы в интернете. Чтобы её минимизировать, важно тщательно подобрать DNS-серверы и анонимные рилеи. Но первым делом следует избавиться от бесполезных запросов.
Именно поэтому DNS изначально создавался как сильно кэшируемый протокол. Администраторы зон устанавливают время жизни (TTL) для отдельных записей, а резолверы используют эту информацию при хранении записей в памяти, чтобы избежать ненужного трафика.
Эффективно ли кэширование? Пару лет назад моё небольшое исследование показало, что оно не идеально. Взглянем на нынешнее положение дел.
Для сбора информации я пропатчил Encrypted DNS Server для сохранения значения TTL для ответа. Оно определяется как минимальное TTL его записей, для каждого входящего запроса. Это даёт хороший обзор распределения TTL реального трафика, а также учитывает популярность отдельных запросов. Пропатченная версия сервера работала несколько часов.
Результирующий набор данных состоит из 1 583 579 записей (name, qtype, TTL, timestamp). Вот общее распределение TTL (ось X — это TTL в секундах):
Если не считать незначительного бугра на 86 400 (в основном, для записей SOA), довольно очевидно, что TTL находятся в низком диапазоне. Посмотрим ближе:
Хорошо, TTL более 1 часа статистически не значимы. Тогда сосредоточимся на диапазоне 0−3600:
Большинство TTL от 0 до 15 минут:
Подавляющее большинство от 0 до 5 минут:
Это не очень хорошо.
Накопительное распределение делает проблему ещё более очевидной:
В половине DNS-ответов TTL составляет 1 минуту или меньше, а у трёх четвертей — 5 минут или меньше.
Но подождите, на самом деле всё ещё хуже. Ведь это TTL от авторитативных серверов. Однако клиентские резолверы (например, маршрутизаторы, локальные кэши) получают TTL от вышестоящих резолверов, и он уменьшается каждую секунду.
Таким образом, клиент фактически может использовать каждую запись, в среднем, в течение половины исходного TTL, после чего отправит новый запрос.
Может, эти очень низкие TTL касаются только необычных запросов, а не популярных веб-сайтов и API? Давайте посмотрим:
Ось X — это TTL, ось Y — популярность запросов.
К сожалению, самые популярные запросы также и хуже всего кэшируются.
Вердикт: всё действительно плохо. Уже и раньше было плохо, а стало ещё хуже. Кэширование DNS стало практически бесполезным. Поскольку всё меньше людей используют DNS-резолвер своего провайдера (по уважительным причинам), увеличение задержки становится более заметной.
Кэширование DNS стало полезным только для контента, который никто не посещает.
Также обратите внимание, что программное обеспечение может по-разному интерпретировать низкие TTL.
Почему так?
Почему для записей DNS устанавливается такой малый TTL?
Кроме того, минутный TTL означает, что если авторитетные DNS-серверы будут заблокированы более чем на 1 минуту, никто больше не сможет получить доступ к зависимым службам. И избыточность не поможет, если причиной является ошибка конфигурации или взлом. С другой стороны, с разумными TTL много клиентов продолжат использовать предыдущую конфигурацию и никогда ничего не заметят.
В низких TTL в значительной степени виноваты cервисы CDN и балансировщики нагрузки, особенно когда они объединяют CNAME с малыми TTL и записи с такими же малыми (но независимыми) TTL:
Всякий раз, когда истекает CNAME или любая из записей A, приходится отправлять новый запрос. У обоих 30-секундный TTL, но он не совпадает. Фактический средний TTL будет 15 секунд.
Но подождите! Всё еще хуже. Некоторые резолверы очень плохо себя ведут в такой ситуации с двумя связанными низкими TTL:
Резолвер Level3, наверное, работает на BIND. Если вы продолжите отправлять этот запрос, всегда будет возвращаться TTL, равный 1. По существу, raw.githubusercontent.com никогда не кэшируется.
Вот ещё один пример такой ситуации с очень популярным доменом:
Не менее трёх записей CNAME. Ай. У одной приличный TTL, но это совершенно бесполезно. В других CNAME первоначальный TTL составляет 60 секунд, но для доменов akamai.net максимальный TTL составляет 20 секунд, и ни один из них не в фазе.
Как насчёт доменов, которые постоянно опрашивают устройства Apple?
Та же проблема, что у Firefox, и TTL большую часть времени застрянет на 1 секунде при использовании резолвера Level3.
У записи safebrowsing.googleapis.com значение TTL 60 секунд, как и у доменов Facebook. И, опять же, с точки зрения клиента, эти значения уменьшаются вдвое.
Как насчёт установки минимального TTL?
Используя имя, тип запроса, TTL и изначально сохранённую временную метку, я написал скрипт для имитации 1,5 миллиона запросов, проходящих через кэширующий резолвер, чтобы оценить объём лишних запросов, отправленных из-за просроченной записи кэша.
47,4% запросов были сделаны после истечения срока действия существующей записи. Это неоправданно высоко.
Каково будет влияние на кэширование, если установлен минимальный TTL?
Ось X — это минимальные значения TTL. Записи с исходными TTL выше этого значения не затронуты.
Ось Y — процент запросов от клиента, у которого уже есть кэшированная запись, но её срок действия истёк и он делает новый запрос.
Доля «лишних» запросов снижается с 47% до 36% простой установкой минимального TTL в 5 минут. При установке минимального TTL в 15 минут количество этих запросов снижается до 29%. Минимальный TTL в 1 час снижает их до 17%. Существенная разница!
Как насчёт того, чтобы ничего не менять на стороне сервера, а вместо этого установить минимальные TTL в клиентских DNS-кэшах (маршрутизаторы, локальные резолверы)?
Количество требуемых запросов снижается с 47% до 34% при установке минимального TTL в 5 минут, до 25% с минимумом в 15 минут и до 13% с минимумом в 1 час. Возможно, оптимальное значение 40 минут.
Влияние этого минимального изменения огромно.
Каковы последствия?
Конечно, сервис можно перевести на нового облачного провайдера, новый сервер, новую сеть, требуя от клиентов использовать последние записи DNS. И достаточно малый TTL помогает плавно и незаметно осуществить такой переход. Но с переходом на новую инфраструктуру никто не ожидает, что клиенты перейдут на новые записи DNS в течение 1 минуты, 5 минут или 15 минут. Установка минимального срока жизни в 40 минут вместо 5 минут не помешает пользователям получить доступ к сервису.
Однако это позволит значительно сократить задержку и повысить конфиденциальность и надёжность, избегая ненужных запросов.
Конечно, RFC говорят, что нужно строго соблюдать TTL. Но реальность такова, что система DNS стала слишком неэффективной.
Если вы работаете с авторитативными DNS-серверами, пожалуйста, проверьте свои TTL. Вам действительно нужны такие смехотворно низкие значения?
Конечно, есть веские причины установки малых TTL для DNS-записей. Но не для 75% трафика DNS, который практически не меняется.
И если по каким-то причинам вам действительно нужно использовать низкие TTL для DNS, заодно убедитесь, что на вашем сайте не включено кэширование. По тем же причинам.
Если у вас работает локальный DNS-кэш, такой как dnscrypt-proxy, который позволяет устанавливать минимальные TTL, используйте эту функцию. Это нормально. Ничего плохого не случится. Установите минимальный TTL примерно между 40 минутами (2400 секунд) и 1 часом. Вполне разумный диапазон.