Как изменить ттл на убунту

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

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

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

Такими низкоуровневыми параметрами сети как TTL в Linux управляет ядро. Поэтому и настраивать его надо с помощью интерфейса настройки ядра. Но давайте сначала посмотрим какой TTL используется сейчас в вашей системе. Для этого можно воспользоваться командой ping:

ping 127.0.0.1

В информации об отправке каждого пакета отображается TTL, с которым он был отправлен. В данном случае используется значение 64. Для Windows применяется значение TTL 128. Обычно этого вполне достаточно, поскольку между большинством узлов сети не больше 20-30 маршрутизаторов, которые необходимо пройти. Вряд-ли вам придется менять TTL чтобы пакеты смогли достигать нужной вам цели, но зато это может понадобится для обхода блокировок сотовых операторов и решения тому подобных задач.

Чтобы изменить TTL надо изменить значение параметра net.ipv4.ip_default_ttl. Для этого можно воспользоваться такой командой:

sudo sysctl -w net.ipv4.ip_default_ttl=65

Для того чтобы изменения сохранились после перезагрузки можно прописать эту строчку настроек в файл /etc/sysctl.conf:

sudo vi /etc/sysctl.conf

net.ipv4.ip_default_ttl=65

После этого ваш TTL будет 65:

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

iptables -t mangle -A POSTROUTING -j TTL --ttl-set 65

Это тоже будет работать. Как видите, смена TTL Linux выполняется совсем не сложно. Если у вас остались вопросы, спрашивайте в комментариях!

Creative Commons License

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

Об авторе

Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.

Обход ограничений на раздачу интернета (МТС и Yota) (фиксация TTL) в Ubuntu

Большинство современных операторов мобильной связи, такие как МТС и 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. Вводим следующую команду от супер-пользователя:

sudo vi /etc/init.d/local.autostart

Нажимаем Enter.

3. Система потребует ввести пароль от учётной записи администратора, вводим его и нажимаем Enter. Далее жмем кнопку  i — это укажет редактору vi, что нужно перейти в режим редактирования.

4. Сейчас мы должны ввести скрипт с учётом особенности операционной системы вашего смартфона. Если у вас Android или iOS — нужно указать значение TTL=65 (вместо 64), а если Windows — то указываем TTL=129 (вместо 128).

Почему значение на 1 больше? Всё очень просто, значение TTL на компьютере должно быть на 1 больше, чем значение TTL на телефоне, с которого вы раздаете.

Скрипт для обхода ограничений на раздачу интернета для Android и iOS:

#!/bin/bash

sudo iptables -t mangle -A POSTROUTING -j TTL --ttl-set 65

Скрипт для обхода ограничений на раздачу интернета для Windows Phone:

#!/bin/bash

sudo iptables -t mangle -A POSTROUTING -j TTL --ttl-set 129

5. Для завершения редактирования нажимаем Esc. Затем сохраняем внесённые изменения нажатием клавиш: Shift+ZZ (два раза нажать Z).

6. Присваиваем скрипту права на запуск:

sudo chmod +x /etc/init.d/local.autostart

Нажимаем Enter.

7. Добавляем скрипт в автозапуск:

sudo update-rc.d local.autostart defaults 80

8. Нажимаем Enter.

Всё готово! Мы успешно зафиксировали значение TTL в операционной системе Ubuntu, и обошли ограничение операторов мобильной связи: МТС и Yota, на раздачу интернет соединения по Wi-Fi, Usb-модем b Bluetooth.

С уважением, Артём Санников

Сайт: ArtemSannikov.ru

Метки: Ubuntu, Руководства.

Ответ на:

комментарий
от Deleted 12.05.18 11:53:22 MSK

Попробовал вот так:

sudo sysctl -w net.ipv4.ip_default_ttl=65

Но после перезагрузки все равно 64.

Deleted

(12.05.18 11:56:08 MSK)

  • Показать ответ
  • Ссылка

В нормальных дистрах есть /etc/sysctl.conf, не знаю как там в убунте.

ass ★★★★

(12.05.18 11:58:47 MSK)

  • Показать ответы
  • Ссылка

Ответ на:

комментарий
от Deleted 12.05.18 11:56:08 MSK

А, да, извини. Это временная установка.

Лучший вариант, наверное, это создать файл, какой-нибудь /etc/sysctl.d/99_default_ttl.conf, в который добавить net.ipv4.ip_default_ttl=65. Затем sudo sysctl —system.

Deleted

(12.05.18 12:09:12 MSK)

  • Показать ответы
  • Ссылка

Ответ на:

комментарий
от Deleted 12.05.18 12:09:12 MSK

Спасибо, это помогло =)

Deleted

(12.05.18 16:04:52 MSK)

  • Ссылка

Ответ на:

комментарий
от ass 12.05.18 11:58:47 MSK

Ответ на:

комментарий
от das_tier 12.05.18 18:26:14 MSK

Ответ на:

комментарий
от RazrFalcon 12.05.18 18:43:40 MSK

Ответ на:

комментарий
от das_tier 13.05.18 00:36:17 MSK

Ответ на:

комментарий
от RazrFalcon 13.05.18 12:40:21 MSK

Ого, в Генту файл /etc/sysctl.conf считается legacy.
А современным подходом считаются конфиги в /etc/sysctl.d/ ?

das_tier ★★★★★

(13.05.18 14:13:10 MSK)

  • Ссылка

Ответ на:

комментарий
от RazrFalcon 13.05.18 12:40:21 MSK

Хз почему у тебя так, но вот:

$ qfile /etc/sysctl.conf 
sys-apps/baselayout (/etc/sysctl.conf)

Deleted

(13.05.18 14:16:41 MSK)

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от Deleted 13.05.18 14:16:41 MSK

Понятно, причина в этом:

$ equery d baselayout
 * These packages depend on baselayout:
sys-fs/lvm2-2.02.166-r2 (>=sys-apps/baselayout-2.2)

Видимо по каким-то причинам его не убрали из baselayout

Deleted

(13.05.18 14:22:59 MSK)



Последнее исправление: Deleted 13.05.18 14:26:21 MSK
(всего

исправлений: 1)

  • Ссылка

30 ноября 2018 г.

Ответ на:

комментарий
от Deleted 12.05.18 12:09:12 MSK

8 февраля 2019 г.

Ответ на:

комментарий
от Deleted 12.05.18 12:09:12 MSK

Спасибо большое

anonymous

(08.02.19 17:39:46 MSK)

  • Ссылка

Ответ на:

комментарий
от ass 12.05.18 11:58:47 MSK

нормальные это те, с которыми ты сталкивался?

chenbr0

(08.02.19 18:09:21 MSK)

  • Ссылка

21 августа 2019 г.

Ответ на:

комментарий
от Deleted 12.05.18 12:09:12 MSK

Всё помогло лучший вариант что можно было придумать

Rocker

(21.08.19 00:17:12 MSK)

  • Ссылка

Ответ на:

комментарий
от das_tier 12.05.18 18:26:14 MSK

Не во всех, в генту делали так что этот файл не читался. Там патч для какого-то древнего бага в procps был, из генту патч выкинули и всё, файл больше не считывается. Обнаружить это конечно можно только постфактум и опытным путём.

anonymous

(21.08.19 00:25:48 MSK)

  • Ссылка

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.

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

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

  • Как изменить ттл на телефоне андроид
  • Как изменить ттл на смартфоне
  • Как изменить ттл на смарт телевизоре
  • Как изменить ттл на роутере tp link
  • Как изменить ттл на планшете хуавей

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии