Доброго времени суток!
Все сталкивались с блокировкой роутеров, NATов, вторых ПК и прочими ограничениями провайдера?
Вопрос спорный и "с бородой".. с одной стороны защита канала от нагрузки, с другой стороны- абонент купил канал и как хочет, так и распоряжается, тем более 21 век- информационный век....
Пример. В доме по ряду причин был изгнан любимый и уважаемый мною Тенет и в тоталитарном режиме установлен ХостелНет.
Все бы хорошо (не считая, что за те же деньги мне предложили 1 Мбит/с вместо 8 МБит/с))) так и блокируют работу роутеров)))
Знаю, что такая ситуация не только у меня.
Я ее решил и вам того же желаю.
Матчасть- блокируют по TTL пакетов (на пальцах- устанавливаемое число маршрутов, пройдя которые пакет считается потерянным).
Суть решения (пробовал на Dir-320 с прошивкой (от Олега) и на DI-524 прошивка 2.06DualAccess)
- Создание соединения DualAccess PPPoE (Russian PPPoE) с клонированием МАС адреса указанного в договоре.
- Увеличение (либо фиксирование) TTL .
Вариант 1. Самый простой
На DI-524 (прошивка 2.03, 2.04) на вкладке WAN есть галочка "Don't change TTL", в последующих прошивках ее нет но роутер по дефолту не меняет TTL
Вариант 2.
На ПК regedit
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Servic es\Tcpip\Parameters
создайте WORD с десятичным параметром 129.
Мы изначально увеличиваем на единицу ТТL, пакет проходит через роутер- ТТL уменьшается на единицу и к прову попадает таким как надо
Вариант 3. Танцы с бубном (На роутерах с линуксовой прошивкой, SSH и т.д.)
без объяснений- кто знает, тот поймет
(по дефолту там TTL=64) заодно учтена проблема, когда пров устанавливает ТTL приходящих от него пакетов =1
Код:mkdir -p /usr/local/sbin echo "#!/bin/sh" >> /usr/local/sbin/pre-boot echo "echo 128 > /proc/sys/net/ipv4/ip_default_ttl" >> /usr/local/sbin/pre-boot echo "insmod ipt_ttl" >> /usr/local/sbin/pre-boot echo "insmod ipt_TTL" >> /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 FORWARD -m ttl --ttl 127 -o \$1 -j TTL --ttl-set 128" >> /usr/local/sbin/post-firewall echo "iptables -t mangle -I FORWARD -m ttl --ttl 1 -i \$1 -j TTL --ttl-set 2" >> /usr/local/sbin/post-firewall echo "iptables -t mangle -I FORWARD -m ttl --ttl 127 -o \$(nvram get wan_ifname) -j TTL --ttl-set 128" >> /usr/local/sbin/post-firewall echo "iptables -t mangle -I FORWARD -m ttl --ttl 1 -i \$(nvram get wan_ifname) -j TTL --ttl-set 2" >> /usr/local/sbin/post-firewall chmod +x /usr/local/sbin/post-firewall flashfs save && flashfs commit && flashfs enable reboot
Все взято из
http://www.xakep.ru/post/29448/default.asp
http://www.xakep.ru/post/14513/default.asp
http://www.opennet.ru/base/net/nat_detect.txt.html
http://www.rsr.org.ua/blog/2009/12/29/provayder-boretsya-s-routerami-chto-delat/
Всем спасибо
ХостелНет привет!
Социальные закладки