Изменение TTL пакетов на прошивке от энтузиастов на роутере D-Link DIR-320
Уже несколько лет на своем роутере D-Link DIR-320 использую прошивку Олега для ASUS WL-500gV2, которая показала себя намного стабильней и функциональней чем стандартная.
Решив однажды проверить обновления прошивки, я столкнулся с тем, что Олег уже давно не у дел и теперь разработкой новых версий занимается команда энтузиастов. Но было замечено, что версию с ядром 2.6 уже не поставить на мой 320-й ввиду того, что объем встроенной flash меньше чем в ASUS WL-500gV2.
Поиски в гугле меня натолкнули на страничку, где находится урезанная и адаптированная модификация прошивки от энтузиастов специально для 320-ого.
Быстро залив прошивку по tftp, сбросив настройки на дефолт, вбил по н.
реклама
Уже несколько лет на своем роутере D-Link DIR-320 использую прошивку Олега для ASUS WL-500gV2, которая показала себя намного стабильней и функциональней чем стандартная.
Решив однажды проверить обновления прошивки, я столкнулся с тем, что Олег уже давно не у дел и теперь разработкой новых версий занимается команда энтузиастов. Но было замечено, что версию с ядром 2.6 уже не поставить на мой 320-й ввиду того, что объем встроенной flash меньше чем в ASUS WL-500gV2.
Поиски в гугле меня натолкнули на страничку, где находится урезанная и адаптированная модификация прошивки от энтузиастов специально для 320-ого.
Быстро залив прошивку по tftp, сбросив настройки на дефолт, вбил по накатанной схеме нужные настройки и полез в консоль вбить скрипт для изменения TTL (ибо мой говнопровайдер шлет пакеты с TTL=1 при проходе через роутер TTL становится равным 0 и на целевом устройстве такие пакеты естественно отбрасываются, это сделано для того чтобы пользователи не использовали роутеры).
Но не тут то было, команды insmod ipt_ttl и insmod ipt_TTL , как было раньше в ядре 2.4 уже не работают, а все из за того, что оказывается модуль для изменения TTL в ядре 2.6 переименовали в xt_HL.
Вот такая вышла финальная последовательность команд у меня:
mkdir -p /usr/local/sbin
echo «#!/bin/sh» >> /usr/local/sbin/pre-boot
echo «insmod /lib/modules/2.6.22.19/xt_HL.ko» >> /usr/local/sbin/pre-boot
chmod +x /usr/local/sbin/pre-boot
echo «#!/bin/sh» >> /usr/local/sbin/post-firewall
echo «iptables -t mangle -F» >> /usr/local/sbin/post-firewall
echo «iptables -t mangle -I PREROUTING -i vlan1 -j TTL —ttl-set 64» >> /usr/local/sbin/post-firewall
echo «iptables -t mangle -I POSTROUTING -o vlan1 -j TTL —ttl-set 64» >> /usr/local/sbin/post-firewall
chmod +x /usr/local/sbin/post-firewall
flashfs save && flashfs commit && flashfs enable
reboot
Примечание :
команду echo «insmod /lib/modules/2.6.22.19/xt_HL.ko» >> /usr/local/sbin/pre-boot по возможности лучше заменить на echo «modprobe xt_HL» >> /usr/local/sbin/pre-boot , просто в моей ревизии прошивки модули ищутся почему то в /opt/lib/. вместо /lib/. где они и находятся.
Подпишитесь на наш канал в Яндекс.Дзен или telegram-канал @overclockers_news — это удобные способы следить за новыми материалами на сайте. С картинками, расширенными описаниями и без рекламы.
[FAQ] Как скрыть от оператора раздачу трафика по Wi-Fi?
Видимо, у Вас есть на руках 3G/4G-модем с возможностью раздачи Wi-Fi, но в настройках тарифа (который, как правило, еще и смартфонный) стоит запрет на раздачу трафика по Wi-Fi и вы хотите обойти это ограничение.
Решение тут только одно — фиксация TTL. Это связано с тем, что смартфоны на андроиды и яблоки отдают пакеты со значением ТТЛ=64, а Windows 7/8/10/11/Phone — со значением ТТЛ=128. Именно на разнице этих значений оператор и палит факт раздачи. Т.е. чтобы обойти ограничение на раздачу трафика по Wi-Fi, необходимо, чтобы оператор получал пакеты с ОДИНАКОВЫМИ значениями TTL. Например, чтобы оператор всегда получал только 128 или только 64.
Фиксация ТTL может быть трех видов — на модеме, на роутере, и на ПК.
Наиболее приемлемый вариант — фиксация ТТЛ непосредственно на модеме. Главный плюс — если ТТЛ зафиксирован на 4G-модеме, то на значения ТТЛ, которые уходят от компа или смартфона уже глубоко пофигу. Минус — далеко не на любом модеме есть возможность зафиксировать TTL, а там где она есть — это можно сделать не на любой прошивке.
По своему опыту могу сказать, что зафиксировать ТТЛ можно на следующих модемах:
Huawei:
— E3272s [только модиф. прошивка]
— E3276s [только модиф. прошивка]
— E3372s [только модиф. прошивка]
— E3372h (кроме -320 и -325) [только модиф. прошивка]
— E8372h (кроме -320 и -820) [только модиф. прошивка]
— E5573s/Bs/Cs/C [только модиф. прошивка]
— E5372 [только модиф. прошивка]
— E8278 [только модиф. прошивка]
— B315 [только модиф. прошивка]
ZTE:
— MF30
— MF823, MF823D, MF825
— MF831
— MF90, MF90+, MF90C1 (не путать с MF90M)
— MF910
— MF833T [только модиф. прошивка]
— MF833V
— MF93D
— MF79
— MF79U/RU
Прочие модемы:
— Quanta 1K6E (Билайн)
— Теле2 OSH-150 (не путать с SM25)
— Билайн S23 (не путать с SM25)
— Мегафон MR150-6 (не путать с MR150-7)
— МТС 874FT / 8920FT
— МТС 8810FT
— МТС 8723FT
— Alcatel IK40V
— Alcatel MW45V
— Vegatel M24
Если зафиксировать ТТЛ на модеме не получается, изучаем прошивку роутера. И здесь уже зависит от конкнетного роутера, а также от его прошивки.
Плюсы — прошивка модема уже роли как таковой не играет. Минусы — не на всех роутерах такое возможно на заводских прошивках.
Например, на Netis MW5230 на оригинальной прошивке зафиксировать ТТЛ невозможно, но если прошить его в одну из сборок OpenWRT «Хитрый домовенок» — такая возможность появляется (но там свои тонкости, которые не для этой темы).
Похожая ситуация и с роутерами TP-Link MR3420 v2 — фиксация ТТЛ там возможна только после перепрошивки на OpenWRT. Наиболее рекомендуемые — ROOter GolderOrb и Rooter RusBie 4G.
А вот у роутеров Keenetic на последних прошивках эта опция заложена с завода, т.е. самый максимум, что нужно сделать — просто обновить прошивку до последней.
Ну а если зафиксировать ТТЛ на модеме или роутере нет возможности, то остается только один вариант — фиксировать ТТЛ на ПК. Для этого скачиваем архив со всем необходимыми РАСПАКОВЫВАЕМ его. Если все запускать прямиком из архива, то ничего не получится.
Через правый клик с правами администратора запускаем fix_ttl_pc.cmd:
Если смартфоны на андроиде или iOS — пишем 64, если WindowsPhone — пишем 128, после чего должно появиться два сообщения «операция успешно завершена».
После перезагрузки запускаем проверка фикс.ТТЛ (после перезагрузки).cmd (обычным двойным кликом) и убеждаемся, что в ответе везде 64 (или 128 — смотря какое значение было указано в предыдущем шаге).
Осталось только повторить процедуру на других компах, которые подключаются к роутеру (ну или 4G-модему с раздачей Wi-Fi).
Плюс методики: доступна каждому и не требуется ничего перепрошивать. Минус: годится только для тех случаев, когда все компьютеры и смартфоны «запитаны» от ОДНОГО роутера (или 4G-модема с возможностью раздачи Wi-Fi).