После изменения значения ttl не подключается. Zyxmon - бесплатная Windows программа для управления и отслеживания состояния маршрутизаторов ZyXEL

TTL — что это такое? TTL расшифровывается как Time to Live. То есть время жизни пакета, отведённое ему в момент перехода от начального узла к конечному. В стандарте IPv4 для отражения TTL выделено восьмиразрядное поле в заголовке. Проходя через многочисленные узлы к адресату, значение пакета каждый раз уменьшается на 1 единицу. Это сделано с целью ограничить время его присутствия в узлах конкретным числом. А это, в свою очередь, позволяет избежать перегрузок в сетях.

Что произойдёт, если значение TTL достигнет нуля? Пакет исчезнет, и отправитель получит сообщение о том, что время жизни его истекло, а значит, нужно попытаться снова. Максимальное значение, которое способно отразить восьмиразрядное поле, составляет 255. Для операционных систем есть значения по умолчанию. Например TTL в Windows равен 128, а в Linux и производных — Mac, Android — 64.

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

Для чего применяется TTL и в каких сферах

Время жизни пакета активно используют различные провайдеры интернета, например Yota. Тем самым они пытаются ограничить доступ к потреблению чрезмерного трафика при раздаче Wi-Fi. Это происходит за счет того, что пакет, переходя от устройства, получающего трафик на раздающее, уменьшает TTL, в итоге к провайдеру приходит значение меньше или в случае с Windows больше ожидаемого.

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


Теперь устройство начинает раздавать Wi-Fi и становится своего рода маршрутизатором. Подключившийся смартфон работает на платформе Windows, и его TTL, пройдя через раздающее устройство, будет 127. Провайдер встретит этот пакет и поймет, что его интернет раздается. Поэтому и заблокирует содиненение.

Возможности изменения TTL на различных устройствах

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


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

Изменить TTL можно несколькими способами, которые будут описаны далее.

Изменение TTL на устройствах на платформе "Андроид"

Самым простым способом изменения времени жизни пакета на устройствах "Андроид" будет использование специализированного программного обеспечения. Например, очень эффективный продукт — TTL Master. Он может изменить время жизни пакета раздающего аппарата на то, которое получается в результате прохода данных. Например, при раздаче Wi-Fi на устройство с Windows нужно установить значение 127, а на Андроид или Linux — 63.


Программа бесплатна, и ее легко можно найти в официальном магазине Google Play. Однако для ее функционирования требуются права root на устройстве.

Интерфейс программы прост — в верхней части отображено текущее значение параметра. Чуть ниже расположены заготовки для операционных систем Windows и остальных. Также можно установить желаемое значение вручную. Чуть ниже находится кнопка с возможностью перейти из приложения сразу в настройки модема. В некоторых версиях доступно решение через iptables, для чего есть определённый пункт.

В настройках есть возможность установить запуск и смену времени жизни автоматически при загрузке устройства. Некоторые версии "Андроида" позволяют произвести сразу после смены значения запуск точки доступа. Есть поддержка русского языка.

Приложение постоянно развивается и совершенствуется. Имеется профиль на github, в котором все желающие могут ответвиться и добавлять свои возможности в проект. Если их примут разработчики, то они войдут в последующий релиз.

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

Затем воспользоваться любым проводником, который способен редактировать файлы. В нем надо перейти по пути proc/sys/net/ipv4. В этом каталоге интересует файл с именем ip_default_ttl. Он содержит значение 64, которое нужно изменить на 63.

Далее нужно вывести телефон из режима полета, чтобы он снова зарегистрировался в Сети. Теперь можно раздать беспроводной интернет и попробовать подключить устройство на базе iOS или "Андроида", то есть с TTL 64.


Если необходимо использовать в качестве одного из клинетов ПК с Windows, то нужно будет установить постоянное значение времени жизни пакета способом, описанным ниже.

Смена TTL на компьютере с операционными системами Windows

Если нужно раздать интернет со смартфона под управлением Windows, то придется немного подкорректировать значения реестра. Этот способ будет актуален, когда телефон не имеет рут и обойти блокировку на нем не получается.

Запуск реестра в линейке операционных систем можно осуществить через пункт меню «Пуск» «Выполнить». В нем надо ввести Regedit и нажать ОК. В открывшемся окне появятся две области. В левой находится древовидная структура, а в правой - значения. Нужно найти ветку HKEY_LOCAL_MACHINE \SYSTEM\CurrentControlSet\Services\Tcpip\Parameters. Для Windows 8 Tcpip может быть заменён на Tcpip6.


В окне со значениями надо создать новое. Это делается щелчком правой кнопкой мыши. В контекстном меню выбирается «Создать», затем новый параметр DWORD, и присваивается название Default TTL. Что это? Это будет статичный параметр для постоянного значения времени жизни. Затем снова щелчок правой кнопкой, и выбрать «Изменить». Тип счисления должен быть десятичным, а значение — 65. Таким образом, система будет передавать время жизни пакета в 65, то есть на один больше чем у "Андроида". То есть, проходя сквозь смартфон, он потеряет одну единицу, и провайдер не заметит подвоха. После внесённых изменений нужно перезагрузить компьютер.

Теперь можно раздавать интернет на "Андроид", не используя особых программных средств и приспособлений.

Изменение на Linux

Как осуществляется смена TTL на компьютере с операционными системами Linux? Для Linux смена времени жизни пакета меняется одной строкой в терминале: sudo iptables -t mangle -A POSTROUTING -j TTL --ttl-set 65

Изменение времени жизни пакета на модемах

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

На сайте 4PDA имеется подборка решения для смены времени жизни на модемах от разных производителей и моделей. Также там можно найти подробные реализации данной задачи.

Смена времени жизни пакета на iOS

С помощью твика TetherMe можно сменить на iOS TTL. deb-приложение, которое разблокирует режим модема на устройствах с iOS на борту. Дело в том, что Apple позволяет некоторым операторам сотовой сети блокировать функцию "Режим модема" на уровне симки. Данное приложение даёт возможность его активировать и использовать телефон в качестве модема.

Изменение TTL в MacOS

MacOS по умолчанию обладает временем жизни 64. Если требуется его изменить, нужно в терминале ввести команду: sudo sysctl -w net.inet.ip.ttl=65.

Однако при таком подходе значение после перезагрузки снова изменится на 64. Поэтому необходимо выполнить ряд манипуляций. В корне диска существует каталог etc. Он скрытый, но в него нужно попасть. Там создаётся файл sysctl.conf. В нем нужно прописать всего одну строчку — net.inet.ip.ttl=65. Ну и естественно, сохранить.

Для отображения данной скрытой папки в Findere надо перейти в основной диск и нажать сочетание клавиш cmd+shift+G. В появившемся окне вводится имя искомой папки, после чего она найдется.

Выводы

Существует такое понятие, как USB TTL конвертер. Однако к контексту статьи он не имеет никакого отношения, и не стоит путать его с временем жизни пакета. USB TTL конвертер — своего рода переходник для создания соединений между устройствами USB и логикой TTL.

В статье было подробно объяснено про TTL — что это такое и для чего нужен. Несколько способов его изменения позволят обойти ограничение по блокировке трафика на некоторых провайдерах. Это даёт возможность использовать интернет повсеместно.

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

Данными инструкциями можно обойти блокировку многих провайдеров, предоставляющих доступ в интернет посредством сотовой сети.

В этом обзоре речь пойдет о недавно вышедшем интернет-центре Keenetic, старшем из трех маршрутизаторов серии Kinetic, появившихся недавно в продаже.

Туннельные палестины

В одном из присланных мне писем автор назвал существующие проблемы с провайдерами "туннельными палестинами". Мне очень понравился этот термин. О чем собственно речь: многие российские провайдеры представляют доступ в интернет поверх доступа к своей локальной сети через VPN-туннель. Туннели могут быть разными, наиболее распространены PPPoE, PPTP, L2TP. Сервер VPN-авторизации у провайдера может задаваться как IP адресом, так и именем. Авторизация может использовать различные алгоритмы - pap, chap, mschap v1, mschap v2,…. Пользователь, который знает об этих нюансах, при выборе роутера интересуется - поддерживает ли роутер нужный тип авторизации, тип соединения, понимает ли имя (не ip) vpn сервера, получает ли роутер маршруты в локальную сеть по DHCP, какой размер таблицы маршрутизации. В настоящее время можно купить роутер, который не работает с конкретным имеющимся провайдером или поддерживает не все необходимые функции, а потом долго искать решение, как же его настроить. Часто в этих случаях помогает установка прошивок сторонних разработчиков - проекты DD -WRT, OpenWRT и другие. Разные производители называют поддержку "туннельных палестин" по-разному - Russian PPPoE, Dual Access, Link Duo и т.д.

Новые роутеры ZyXEL Keenetic создавались специально для России, прошивки для них делаются нашими разработчиками, знающими про специфику наших "палестин". Можно сказать, что поддерживаются почти все провайдеры. Исключение составляют, разве что, провайдеры, использующие "самописные" программы для авторизации. Keentic позволяет, естественно, задать MAC-адрес на WAN-интерфейсе в случае, когда используется привязка по физическому адресу. Есть даже настройка "не уменьшать TTL" для борьбы с некоторыми хитрыми провайдерами, которые ведут борьбу с владельцами роутеров. Если верить сайту ZyXEL устройство достаточно быстрое, цитирую "скорость Интернета через PPTP и L2TP - до 70 Мбит/с, через PPPoE и IPoE до 90 Мбит/с". Самому возможности это проверить не было, мой интернет медленнее.

WI-FI

Старшая модель Keenetic основана на чипе Ralink RT3052F, имеет 8 Мбайт флеш-памяти и 32 Мбайт RAM и оснащена двумя антеннами 5 дБи. Модуль Wi-Fi поддерживает 802.11n - конфигурация MIMO 2x2, до 300 Мбит/с. Младшие модели используют чип RT3050F, который поддерживает только 1x1 и максимальную скорость 150 Мбит/с. По сообщениям пользователей на форумах скорость копирования файлов "через Wi-Fi" составляет около 9.5 Мбайт/c (76 Мбит/с). Keentic может "работать" и Wi-Fi клиентом, и просто точкой доступа. В последней бета версии прошивки от 17.12.2010 появился еще и режим Wi-Fi моста. Я проверял Keenetic в редко кому нужном режиме Wi-Fi клиента. В качестве точки доступа выступала железка на Atheros с поддержкой 802.11n. Результаты не очень впечатлили. Может быть имеет место не полная совместимость, может быть в будущих прошивках (или Keenetic, или точки доступа) скорость в этом режиме возрастет.

IPTV

В нашей стране достаточно широкое применение получила технология IPTV - цифровое интерактивное телевидение в сетях передачи данных по протоколу IP . Если ваш провайдер предоставляет такую услугу, то перед покупкой роутера поинтересуйтесь - поддерживает ли он IPTV. ZyXEL Keenetic поддерживает сразу несколько режимов - можно назначить отдельный Ethernet-порт маршрутизатора портом для телевидения, в который будет подключаться приставка провайдера STB, можно смотреть телевидение на компьютере, в том числе и по Wi-Fi (с помощью IGMP-proxy), если телевизионные каналы не шифруются провайдером.

Авто-QoS

Возможностью управлять трафиком "из коробки" (шейпинг) есть у очень небольшого числа маршрутизаторов. Замечу, что настройка управления трафиком, если она и есть, дело не очень и простое. Не все с ней всегда справляются. Нет шейпинга и у Keentic. Вместо этого в настройках есть единственная "галочка" под названием "Авто-QoS" В результате включения "Авто-Qos" Keenetic должен распределять трафик таким образом, чтобы не дать занять всю полосу не критичным, но «жадным» до трафика приложениям, таким, как торрент-клиенты. Забегая немного вперед, скажу, что это делается с помощью маркировки пакетов в iptables (иcпользуются три значения mark 1, 3, 5 и установка поля TOS в одно из трех значений Minimize-Delay, Maximize-Throughput, Minimize-Cost). Iptables собран с поддержкой connbytes (в зависимости от размера переданного в сессии трафика устанавливается поле TOS). Как в дальнейшем используется маркировка пакетов - сказать не могу. Если ваш провайдер поддерживает tos в заголовках IP-пакетов - вам повезло больше, чем другим. Использование дополнительных, подгружаемых с внешнего носителя, правил iptables позволит бороться с соседом, качающем слишком много, если вы дадите ему интернет через Keenetic.

USB

В маршрутизаторе Keenetic имеется один порт USB, в который можно подключить принтер, USB-носитель, USB-модем. Если нужно подключить несколько устройств, то потребуется USB-хаб (разветвитель). К подключенному USB-носителю можно настроить доступ по протоколу ftp и через сетевое окружение Windows (протокол smb/cifs). Самым интересным, пожалуй, является встроенный в маршрутизатор torrent-клиент Transmission. Теперь нет необходимости держать постоянно включенным компьютер, работать с торрент-трекерами за вас будет Keentic. Я проверил скорость работы Keentic со старенькой флешкой (2Гбайт). Скорость записи на нее была около 6.5 мегабайт в секунду, чтения - 3.6. Скорости фактически не зависели от используемого протокола и формата раздела (FAT32 или EXT2). Не рекорд - но очень прилично.

3G и 4G

Как уже ранее написал в USB-разъем можно подключить 3G модем (список на сайте zyxel.ru выглядит внушительным) и 4G-модем от Yota (Samsung U200 или Yota Jingle). В этом случае маршрутизатор будет "раздавать" интернет с модема как через порты LAN так и по Wi-Fi. Для использования Yota Jingle этот "свисток" следует специально прошить программой, скачиваемой с zyxel.ru. Как утверждается "на работоспособность модема в компьютерах обновление никак не влияет". К сожалением ни 3G, ни 4G модема у меня дома нет. Поверим на слово.

Задел на будущее

Как утверждали сотрудники Zyxel на презентации "переход на новую, открытую платформу позволит сторонним разработчикам создавать свои приложения и мини-программы для устройств ZyXEL на базе NDMS, специально для этого ZyXEL выложит необходимые исходные коды и документацию в открытый доступ". Ну что же - запускаем telnet клиента на компьютере, заходим на устройство и вместо приглашения linux shell видим унылый cli - командную строку с минимумом возможностей. Сделано это, похоже, для настройки роутера с помощью фирменной утилиты NetFriend, которая позволяет производить настройки сетевого оборудования zyxel простым пользователям, не специалистам в сетевых технологиям. Увидев это "безобразие" я сразу отправил запрос через систему интерактивных консультаций ZyXEL с вопросом о получении полного доступа к устройству. Ответ пришел быстро - "к сожалению в настоящее время получить рутовый доступ к устройству можно только через консольный шнур". Не может такого быть, решил я. На следующий вечер я уже получил рутовый доступ и "копался" внутри встроенного Linux, шнурок не потребовался. Я не взломщик и не хакер, но получение полного доступа к устройству не составило большого труда. Итак, что же внутри: busybox с самым минимумом программ, ядро 2.6.23.17. 2 мегабайта флешки отведено под пользовательские данные (папка /storage). Что самое интересное - есть возможность запускать скрипты с внешнего носителя (скрипт задания дополнительных правил iptables, скрипт запускаемый при включении, монтировании USB-ностителя, при установке и разрыве соединения: start, restart, link_down, link_up, ppp_down, ppp_up). Есть возможность примонтировать "mount -t squashfs...." файл с дополнительными приложениями, расположенными на usb носителе. Возможно такие файлы-наборы приложений будут со временем выложены на zyxel.ru. Роутер, если Вы немного знаете linux и разбираетесь в сетевых технологиях позволит расширить функционал устройства. Не всем ведь нужен встроенный торрент клиент, некоторые предпочтут использовать ограниченную память под другие задачи. Архитектура mips (little endian), она и в Африке mips. Быстро собрал парочку простых приложений для этой архитектуры (tar, sed, gzip) - все работает. Но хотелось бы видеть официальный "инструментарий" от zyxel с инструкцией по использованию.

Подведем итоги

Что же в итоге - российская разработка, учитывающая "наши туннельные палестины" с отличной скоростью и отличным функционалом (IPTV, принт-сервер, доступ к usb по ftp и самба, встроенный transmission, поддержка 3G модемов, распространенных в России и 4G модемов Yota). Возможность в будущем наращивать этот функционал.

Что в минусе. Отсутствие (скорее всего временное) официального инструментария для расширения возможностей. Встроенный свитч - 100 мегабит. Впрочем, это только начало: cтарт Keenetic состоялся «снизу» - то есть, с младших (Lite) и средних моделей (Keenetic, Keenetic 4G). По слухам в 2011 году должны появиться более производительные модели в том числе с гигабитным коммутатором. Как говорится "пожуем - увидим".

Предварительные выводы

В плюсе

  • Достаточно компактен, почти не греется, компактный и холодный блок питания, хорошие антенны в комплекте. Очень неплохая документация, в комплекте есть напечатанный вариант.
  • Хороший функционал и производительность.
  • Возможность использовать в качестве wi-fi клиента и wi-fi моста.
  • USB порт для подключения принтеров, модемов, внешних носителей.
  • Быстрая реакция разработчиков на возникающие проблемы (например, ). Это совершенно естественно, что прошивки немного доводятся до ума после выхода устройсва.
  • Web интрефейс на русском языке. Понятен, прост, удобен, быстр. Настроек минимум (для кого плюс, для меня - минус).
  • Документация могла бы быть и подробнее (дал бы тогда 5+ или 6 по пятибальной шкале). Существующая хороша, другим производетлям следует брать в этом плане с Zyxel пример. Скорее всего все, что не описано в базовой документации, будет со временем в "Базе знаний" на zyxel.ru.
  • Возможность (пока неофициальная) самому расширять функционал устройства.
В минусе
  • Нет официальной информации о получении полного (рутового) доступа и возможности запуска своих скриптов. Нет официального инструментария для сборки своих приложений и инструкции по их установке. Исходные коды прошивки не выложены в открытый доступ.
  • Только один USB порт, хотелось бы два - для принтера и внешнего носителя.
  • Свитч 100 мегабитный.
  • Нет WDS в настройках wi-fi. (Может и появилась в последней бета версии прошивки, не смотрел.)
  • Нет шейпера, насколько хорош "Авто-QoS" из прошивки, сказать пока трудно.

Железка в целом понравилась. Я не люблю рекомендовать другим определенное оборудование, каждый должен сам делать свой выбор. Про Keenetic напишу так: если Вас устраивает базовый функционал устройства - можно покупать. Если Вы привыкли к прошивкам "от Олега", "от энтузиастов", DD-WRT, OpenWRT и умеете тюнинговать все своими руками, то стоит подождать, пока Zyxel официально это "разрешит".

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

Понятие TTL

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

TTL расшифровывается как Time To Live, то есть время жизни пакета данных в секундах. При прохождении пакета через очередной роутер TTL уменьшается на единицу. Нужно это для того, чтобы пакет бесконечно не гулял по сети, если не сможет дойти до адресата. Роутер, при попадании в который пакет исчерпал свое значение TTL, посылает отправителю сообщение ICMP о том, что данный пакет превысил максимально допустимое время своего пребывания в сети. Максимальное значение TTL=255. Причем разные операционные системы генерируют пакеты с разным TTL.

Если говорить совсем простыми словами…
Представьте себе, что вам 5 лет и вы хотите кушать (вы — пакет). Вы идете к папе и говорите: «Папа, я хочу кушать». Ваш папа смотрит телевизор, согласно таблице маршрутизации о посылает вас к маме. Вы идете к ней и просите «Мамааа, я хочу кушать». Мама болтает с подругой по телефону и согласно своей таблице маршрутизации посылает вас к папе. И так вы ходите как дурак от папы к маме и обратно, туда-сюда, туда-сюда, а все потому что криворукие админы (родители папы и мамы) неправильно настроили таблицу маршрутизации. Чтобы защититься от таких ситуаций придумали понятие TTL (Time To Live), что применительно к нашей ситуации означает количество терпения у мальчика, пока он не скажет «достало» и не упадет перед ногами мамы или папы в беспомощном состоянии. Последний, по правилам (стандарты – это «так заведено в семье»), обязан послать короткий нелестный отзыв адрес того, кто послал мальчика кушать. Это так называемый ICMP-пакет «мальчик сдох»

Ок, так при чем тут операторы? Дело в том, что по полученным от абонента TTL оператор узнает, раздается интернет или нет.

Как операторы узнают, что трафик раздается

Потому что ему от абонента начинают приходить пакеты с разными значениями TTL. На это есть две причины:

  • Во-первых, у разных устройств TTL может быть разным. А при раздаче интернета появляется ведь второе устройство – то, на которое мы раздаем интернет. Так у телефона на iOS или Android значение TTL равно 64, а у компьютера на Windows – 128. И при раздаче интернета с телефона на компьютер появится два разных значения TTL: 64 и 128. Оператору уходят пакеты и с TTL=64, и TTL=127 (при отправке пакета с компьютера через раздающий телефон-роутер значение 128 уменьшается на единицу).
  • Во-вторых, даже если TTL устройств одинаков (с телефона на телефон), раздающий телефон опять же уменьшает TTL на 1 как всякий нормальный роутер. И оператору уходят пакеты с разными значениями TTL=64 (если это пакет с раздающего телефона) и TTL=63 (пакет с потребляющего телефона).

Итак оператор получает пакеты с разными значениями:

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

На всякий случай прикладываю картинки.

А при раздаче интернета телефон передает оператору пакеты с тремя разными значениями TTL: 64 от себя, 127 от компьютера и 63 от потребляющего телефона.


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

  1. Либо поменять TTL на потребляющем устройстве,
  2. Либо на раздающем телефоне сделать так, чтобы пакеты к оператору шли всегда с одним значением TTL.

Приведение TTL к единому значению для обхода ограничений оператора

  • Можно привести TTL к единому значению 63, поменяв его на раздающем телефоне и на принимающем компьютере. Это изменение TTL без фиксации.


  • Можно ничего не менять на принимающих устройствах, но «заставить» раздающий телефон всегда отправлять оператору пакеты с TTL=63, независимо от того, откуда они: с самого раздающего телефона или с принимающего устройства (компьютера или телефона). Это фиксация TTL.


Вторая схема удобнее, но она пригодна не для всех телефонов.

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

Понравилась статья? Поделиться с друзьями: