Установка ttl в linux
Категория: Руководства / Добавил: Артём
Большинство современных операторов мобильной связи, такие как МТС и Yota предоставляют тарифы, которые позволяют пользоваться интернетом без ограничения трафика. Всё вроде бы хорошо, и удобно. Но если рассмотреть этот вопрос более подробно, то всё будет не так уж и хорошо.
Изначально условия тарифа звучат следующим образом: вы можете пользоваться интернетом в любое время суток и без ограничения трафика, но за раздачу интернет-соединения через Wi-Fi, Usb-модем или Bluetooth с вас будет списана абонентская плата в размере N рублей.
P.S: я пользуюсь услугами оператора МТС, и за раздачу интернета раньше снимали 30 рублей в сутки, теперь же снимают по 50 рублей.
Но как быть, если нужно раздать интернет по Wi-Fi, а лишних денежных средств на балансе нет? Всё очень просто! нужно зафиксировать значение TTL файла на определённом значении в операционной системе: Linux, Windows или Mac OS.
P.S.S: данная статья носит исключительно ознакомительный характер, я никого не призываю использовать данную информацию в практических целях.
Изменение значения TTL в операционной системе Ubuntu
Чтобы обойти ограничение на раздачу интернета через телефон на компьютер с Ubuntu на борту, в случае, если ваш оператор Йота, вы должны сделать несколько простых вещей.
1. Открываем терминал сочетанием клавиш Ctrl + Alt + T .
2. Вводим следующую команду от супер-пользователя:
3. Система потребует ввести пароль от учётной записи администратора, вводим его и нажимаем Enter . Далее жмем кнопку i — это укажет редактору vi, что нужно перейти в режим редактирования.
4. Сейчас мы должны ввести скрипт с учётом особенности операционной системы вашего смартфона. Если у вас Andro >
Почему значение на 1 больше? Всё очень просто, значение TTL на компьютере должно быть на 1 больше, чем значение TTL на телефоне, с которого вы раздаете.
Скрипт для обхода ограничений на раздачу интернета для Android и iOS:
Скрипт для обхода ограничений на раздачу интернета для Windows Phone:
5. Для завершения редактирования нажимаем Esc. Затем сохраняем внесённые изменения нажатием клавиш: Shift + ZZ (два раза нажать Z).
6. Присваиваем скрипту права на запуск:
7. Добавляем скрипт в автозапуск:
Всё готово! Мы успешно зафиксировали значение TTL в операционной системе Ubuntu, и обошли ограничение операторов мобильной связи: МТС и Yota, на раздачу интернет соединения по Wi-Fi, Usb-модем b Bluetooth.
SOLLUS-SOFT
Ярлыки
вторник, 5 июня 2018 г.
Изменение TTL в Linux
Изменение значения TTL в Linux, как пример, в Linux Mint и как пример с текущего значения на значение равное 65.
Вариант 1
С использованием crontab смотреть здесь
Вариант 2
1. Создаем Пустой текстовый файл в текстовом редакторе.
2. Прописываем пару строчек
#!/bin/bash
sudo iptables -t mangle -A POSTROUTING -j TTL —ttl-set 65
3. Сохраняем файл и закрываем
4. Теперь файл нужно сделать исполняемым
5. Переходим к свойствам файла и переходим во вкладку Права
6. Отмечаем пункты Выполнение
7. Закрываем свойства файла
8. Открываем терминал ctrl+alt+t
9. Проверяем текущее значение TTL следующей командой
10. Прерываем команду ctrl+c
Видим, что текущее значение 64 .
11. Переходим к созданному файлу и запускаем его.
12. Выбираем Запустить в терминале
13. После запроса вводим пароль
14. Возвращаемся в терминал и повторяем команду
15. Прерываем команду ctrl+c
Видим, что новое значение изменено на 65 .
Подключаемся к точке доступа WI-FI и пользуемся.
НОВОСТИ. + Обход ограничений Yota для Ubuntu (Linux)
Так давно вас не видел, соскучился 🙂 Спасибо, что пишите на почту, разгребаем ее время от времени.
Хочешь сразу инструкцию, не хочешь читать новости, тогда клик сюда!
Короче, что из новостей:
1) Во-первых, теперь по нашему основному пути обхода ограничений для Windows не всегда получается комфортно выйти в интернет, естественно, активные пользователи врубают режим самолета в телефоне, заново подключаются к сети, потом подключают компьютер и надеются, что обрыва дальше не произойдет… Не все так просто, дорогие мои, причины палева
— это ваше поведение в сети.
Сейчас именно то время, когда и мы с вами, и сама Йота, знаем как друг с другом бороться, вообщем кто кого перехитрит, тот и выиграет.
Как не спалиться Йоте, если ты на Windows? Заповеди.
Главный совет: Фильтруйте своё поведение в интернете, не поняли, читайте дальше!
- Посещайте только те страницы, которые вы можете посещать через смартфон, не выдавайте себя. Ведите себя так, как будто серфите инет со смарта, только со включенной функцией показа полных веб-страниц, не мобильных версий.
- Из первого вытекает то, что поиграть в популярные игры уже затруднительно, так как их IP адреса общеизвестны, это относится к Танкам, Steam играм, хотя вот поиграться в пиратскую кс на сервере, адрес которого Йота не отнесла к подозрительным, у вас получится 🙂
- Дальше, сервера обновлений Windows. Скажу вам откровенно, даже в самом начале, почти пол-года назад, Йота поставила ограничение на загрузку обновлений ОС Windows с официальных серверов обновлений в 100 Кбит/Сек. Из-за этого. лучше не искушайте судьбу, выключите обновление Windows и включайте только тогда, когда сидите не через йоту. Также к этому правилу относятся сервера обновлений и других ПОПУЛЯРНЫХ программ, тут уже как карта ляжет, если Йота знает про ресурс, вылетит синее окно счастья, если нет, то вы — МОЛОДЕЦ 🙂
2) Вторая новость очень радостная, так как всё, что вы читали выше можно с легкостью обойти, но это уже тема других статей и видео уроков, не все сразу, друг мой (или подруга :), кстати очень интересно, аудитория блога сугубо мужская или у нас есть и женская половина, если вы к ней относитесь, напишите в комментариях).
Да, некоторые из вас правильно догадались, что речь идет о VPN, но вот как все это настроить и с чем есть — это мы вам скоро объясним!
Ну а теперь к сути статьи, не просто так же тут в названии есть Ubuntu…
Итак, для тех, кто совсем не в курсе сообщаю, что Убунта — это операционная система, этакий аналог Windows, но в отличии от винды, она — бесплатна.
А для нас с вами что важно? Правильно, побольше посидеть нахаляву в интернете.
Так вот в этом нам может очень помочь та самая Убунта, так как в ней стоит только сменить TTL, добавить скрипт смены в автозапуск и вот он, халявный инет. У меня, так как в основном сейчас я сижу именно на Убунте ни разу пока не вылетало синего окна, этот вариант идеально подойдет для тех, у кого на Windows ни с того ни с сего, даже при исполнении Заповедей вылетает это окно.
Боитесь переустановок? Не бойтесь, так как установка самой Убунты поверх Windows не вызовет никаких неприятностей, у вас на компе просто станет на одну операционную систему больше!
Боитесь, что не сможете работать, осуществлять кое-какие базовые действия, например сделать презентацию, напечатать документ? Не парьтесь, все это уже идет в коробке, даже устанавливать ничего сверху не понадобится.
А почему тогда я не знал\знала про это? Да потому что эта альтернатива не очень популярна, так как любой человек подвержен разнообразному воздействию, некоторые просто не в курсе 🙂
Есть конечно некоторые проблемы, например поиграть в игры, сделанные изначально для Windows у вас получится, но придется кое-что изучить, настроить, вообщем, хотите играть, если не получится на Убунте, получится на вашей же первой системе, на Windows 🙂 Поняли прикол?
Короче, эта статья не описывает саму установку Убунты второй системой, если хотите, чтобы появилась статья, пишите об этом в комментариях.
Чтобы обойти ограничение на раздачу интернета через телефон на компьютер с Ubuntu на борту, в случае, если ваш оператор Йота, вы должны сделать несколько простых вещей.
1) Нажать одновременно Ctrl+Alt+T. Так вы вызовете терминал.
2) Ввести первую команду:
sudo vi /etc/init.d/local.autostart
Нажать Enter.
3) Попросит ваш пароль, вводим, жмем Enter, далее жмем i — это введет редактор vi в режим редактирования.
4) Вводим сам скрипт фиксирования TTL Ubuntu на значении 65, если у вас Andro > #!/bin/bash
sudo iptables -t mangle -A POSTROUTING -j TTL —ttl-set 65 (вот это значение меняйте сами, теория выше в помощь)
5) Далее, для окончания редактирования жмем Esc. Потом сохраняем файл, зажимая Shift+ZZ.
6) Теперь необходимо проставить скрипту права на запуск:
sudo chmod +x /etc/init.d/local.autostart
Нажимаем Enter.
7) Теперь последнее, добавляем все это дело в автозапуск:
sudo update-rc.d local.autostart defaults 80
8) Нажимаем Enter. Все :)!
Готово, теперь не надо будет каждый раз вручную менять TTL в Ubuntu на нужное значение 🙂
Все ваши вопросы, желания, пожелания, поздравления пишите в комментариях и через обратную связь!
/4te.me
Столкнулся с проблемой раздачи интернета с Android-телефона на другие устройства, через мобильную точку доступа, у некоторых операторов. Оператор или вообще запрещает раздавать интернет, или берет за это деньги. Однако есть способы обойти этот запрет. Здесь расскажу, что у меня получилось.
Как оператор узнает, что интернет раздается
Оператор на своей стороне смотрит на значение TTL в заголовках IP-пакетов, приходящих от клиента. Схематично выглядит так:
Если на телефоне открывать в браузере какую-нибудь страничку, то провайдеру от телефона будут приходить пакеты с TTL 64. Такие пакеты он пропускает.
Но если включить мобильную точку доступа, подключиться к ней, например, с планшета, и на планшете открыть страницу, то, проходя через мобильную точку доступа на телефоне TTL будет уменьшаться на 1 и провайдеру будут уходить пакеты с TTL 63, которые он будет отбрасывать. Уменьшение TTL при прохождении через роутер — это стандартизированное поведение роутера, такое поведение предусмотрено стандартом RFC791.
В этой ситуации выхода два — либо на планшете выставлять TTL 65, чтобы, проходя через телефон, провайдеру приходили пакеты с TTL 64, либо на самом телефоне делать так, чтобы он не уменьшал TTL.
Если wi-fi клиент — дектоп-машина с Windows или MacOS, то выставить TTL 65 можно одной командой.
Windows
типа REG_QWORD со значением 65 (в десятичной системе)
MacOS
Но если клиент планшет на iOS или другое устройство, где нельзя просто так выставить TTL, то придется воспользоваться вторым способом — заставить телефон не уменьшать TTL для проходящих через него пакетов. Это может быть не совсем просто.
Учим телефон не уменьшать TTL
Этот способ потребует root-права (инструкция) на android-телефоне или jailbreak на iOS. Т.к. я делал это на Android, то опишу как делать для него. Про iOS здесь инструкции не будет.
Для разных устройств, процедура будет отличаться, я постараюсь рассказать в чем будут заключаться эти отличия. В данном примере я использую OnePlus 3 и Android 8.0 Oreo
Итак, у нас есть Android телефон с root-правами. Узнаем, умеет ли ядро системы работать с TTL. Для этого смотрим содержимое двух файлов на телефоне (например с помощью приложения ES Проводник, оно умеет смотреть системные файлы):
В обеих должно быть упоминание TTL. В моем случае в ip_tables_targets упоминания ttl не было. Это значит, что ядро не умеет изменять TTL. Чтобы его научить этому, нам понадобится из исходников собрать модуль ядра и загрузить его в телефон.
Как собрать модуль ядра
- ОС — Linux или MacOS (можно собрать и на Windows — см.ниже)
- исходники ядра для конкретного устройства
- toolchain определенной версии и опредленной архитектуры
Я собирал модуль на Windows, но используя, Ubuntu-подсистему в Windows 10. Как ее включить я писал здесь. Если у вас не Win10, то придется ставить Ubuntu на VirtualBox-машину.
Для своего OnePlus 3 я брал исходники ядра здесь — https://github.com/OnePlusOSS/android_kernel_oneplus_msm8996 (msm8996 — это модель процессора Qualcomm Snapdragon 820 MSM8996). Исходники для Android 8.0 Oreo в ветке QC8996_O_8.0.0
Для других Oneplus-ов можно взять их рядом — https://github.com/OnePlusOSS. Для других моделей телефонов надо искать исходики где-то в интернете или на сайте производителя.
Toolchain — это утилиты для сборки кода под опредленную платформу. Узнать какая именно нужна для вашего телефона можно так:
В моем случае это aarch64 . Из этого вывода также понадобится версия gcc: 4.9 и версия ядра: 3.18.66-perf+
Далее идем сюда — https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/ и скачиваем нужный тулчейн. Версии для MacOS можно найти также по этой ссылке. В моем случае я скачал aarch64-linux-android-4.9 , здесь aarch64 и 4.9 совпадает с теми версиями которые мы узнали выше.
Теперь идем в консоль и готовимся к компиляции. Установим необходимые тулзы и склонируем репы с тулчейном и исходниками ядра в домашнюю папку:
В исходниках ядра смотрим в папку arch и подбираем нужную архитектуру. В моем случае в этой папке, нет aarch64 , но есть arm64 . Это то же самое, просто называется по другому. Буду использовать эту архитектуру. Указываем ее и путь до бинарей тулчейна в переменных окружения:
Теперь надо создать конфиг для будущей сборки. Возможные варианты конфигов в моем случае лежат в папке с исходниками ядра в arch/arm64/configs (вместо arm64 может быть ваша архитектура). Вспоминая версию ядра, которая установлена в телефоне, выбираю конфиг msm-perf_defconfig :
После того как конфиг создан, нам надо внести в него изменения, чтобы нужный нам модуль для фиксации TTL скомпилировался. Для этого выполняем:
Появится интерактиваная утилита, в которой нужно найти нужный модуль.
Переходя по дереву внутрь, и, найдя TTL Target support , нажать M, чтобы указать, что нужно скомпилировать этот модуль.
Сохраняем конфиг, выходим и собираем ядро с модулями:
Если ошибок не было, то в папке с исходниками должен появится файл net/netfilter/xt_HL.ko
Вот мой скомпилированный файл для OnePlus 3, Android 8.0.0 — xt_HL.ko. Можно сразу взять его, если совпадает модель телефона и версия системы.
Копируем его на телефон, и через adb shell пытаемся включить его (чтобы в adb shell работал su, надо в /system/build.prop добавить строку ro.debuggable=1 , например с помощью ES Проводника):
Если модуль загрузился, можно пробовать зафиксировать TTL:
И наконец, добавляем в автозагрузку телефона скрипт, который будет включать фиксацию TTL:
Такой скрипт я положил в /sdcard/fixttl.sh , и с помощью приложения ScriptManager, добавил в автозагрузку.
Всё! Теперь с этого телефона можно раздавать интернет!
Установка ttl в linux
Телефон с sim-картой Yota с тарифом для смартфона (назовем его «донор») работает в сети Yota. Все пакеты уходят к оператору с единственным возможным значением TTL=64