Изменение TTL пакетов на прошивке от энтузиастов на роутере D-Link DIR-320
реклама
Уже несколько лет на своем роутере 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/... где они и находятся.
реклама
Теги
Лента материалов
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.
Сейчас обсуждают