TTL Mangling и WRT54G

от ComelSoftWiki

Направо към: навигация, търсене

Съдържание

Конфигуриране на рутер Linksys WRT54GL за поделяне на Интернет връзката от доставчици, които ограничават услугата до един потребител - TTL Mangling

статията в PDF формат
WRT54G Router
Уважаеми потребители,

много Интернет доставчици в България (включително големи такива като HomeLan) ограничават достъпа до услугата си до само един потребител. Това означава, че ако разполагате с повече от един компютър и желаете всички компютри в мрежата Ви да си поделят достъпа до Интернет посредством маршрутизатор (рутер), това няма да бъде възможно.

Доколко това е коректно и дали нарушава договора, който вероятно сте сключили с Вашия доставчик, оставяме да прецените сами. Целта на информацията в настоящия документ е да Ви покаже как можете да преодолеете поставеното ограничение ползвайки най-продавания маршрутизатор за домашни потребители в света – Linksys WRT54GL (версии 1.0, 1.1).

Упътванията са валидни също така за моделите WRT54G (версии от 1 до 4 вкл., за помощ с версия 5, 5.1 и 6.0 – моля свържете се с нас), WRT54GS (версии от 1 до 4 вкл., за помощ с версия 5, 5.1 и 6.0 – моля свържете се с нас),

Възможно е да се ползват и моделите WRTSL54GS, WRT300N, WRT350N (съветваме Ви да се свържете с нас за повече информация преди да изпробвате долните стъпки с тези устройства).

ОПИСАНИЕ НА ПРОБЛЕМА:

Това, което Интернет доставчикът най-често прави за да ограничи услугата до ползване от само един потребител е т.нар. “TTL Mangling” – процес при който се извършва промяна на част от информацията, която се съдържа в заглавната част на всеки мрежов пакет, който преминава между устройството на доставчика и Вашия компютър/рутер.

TTL (Time to Live) е параметър, който се съдържа в едно от полетата на IP хедърите. Този параметър се определя от изпращача на пакетите и се намалява с единица при всяко преминаване през даден хост между изпращача и получателя. (Теоретично, тази стойност би следвало да се измерва в секунди, но на практика времето не се отчита, а стойността се третира просто като число, което всеки хост намалява обработвайки пакета). Когато тази стойност стане нула, текущият хост отказва да го препрати по-нататък по пътя. Целта на този механизъм е да се предотврати безкрайното циркулиране на пакети в мрежата и да се избегне претоварването и вследствие на това.

За да Ви ограничат, рутерите на доставчиците които са свързани с Вашия компютър просто поставят ЕДИНИЦА за TTL параметъра на изходящите пакети. Ако вместо компютъра си Вие ползвате рутер за поделяне на връзката вкъщи, то този рутер намалява стойността до НУЛА и резултатът от това е че пакетите от Вашия доставчик не могат да достигнат до компютрите зад рутера. Накратко, всичко работи нормално, Вашият рутер е свързан коректно и има достъп до Интернет, но нямате достъп до Интернет при нито едно от устройствата, които се намират след рутера.

КАК ДА УСТАНОВИМ ПРОБЛЕМА:

Най-простия начин да разберете дали сте попаднали в такава ситуация е да изпълните командата ping в команден прозорец на Windows – например:

ping dir.bg


Резултатите от тази команда можете да видите на тук:

TTL Window

Както се вижда – в най-дясната част на редовете с отговорите от изпълнението на командата е посочен параметъра TTL – в случая 57. Ако вместо това Ви виждате TTL=1, това значи че сте попаднали в гореописаната ситуация.

РЕШЕНИЕ:

Разбира се, има решение на този проблем и то не е толкова сложно. Фактът че доставчиците си позволяват да променят TTL параметъра при своите рутери, означава че нищо не Ви пречи да го направите и Вие с Вашия Linksys рутер.

Рутерите на Linksys от горепосочените модели представляват на практика миниатюрни компютри, повечето от които работят със специално пригодена версия на операционната система с отворен код GNU Linux.

Всичко, което трябва да направите е да изпълните една обикновена Linux команда и тук е посочено как да си осигурите интерфейса за изпълнение на тази команда и как да я изпълните.

Стандартният системен софтуер (фърмуер) с който идва рутера, не дава тази възможност, поради което се налага да се смени фърмуера с друг такъв.

Понастоящем, съществуват множество проекти (свободни и платени), които се занимават с пренаписване на фърмуера на Linksys WRT54Gx серията рутери.


Най-популярните такива са:

DD-WRT

DD-WRT
Първият и може би най-удобният е DD-WRT. Горещо препоръчваме на всеки, който не се е занимавал с подмяна на фърмуер да използва именно него.

Той може да бъде намерен на адрес http://www.dd-wrt.com. От секцията Downloads трябва да изтеглите два файла: dd-wrt.v23_mini_wrt54g.bin и dd-wrt.v23_wrt54g.bin (отново напомняме че това не важи за модела WRT54G/GS версия 5, 5.1, 6.0)

Повечето от Вас знаят как да си сменят фърмуера, но за тези които не са запознати - това става по следният начин:

Уверете се, че кабелът който идва от доставчикът НЕ Е ВКЛЮЧЕН във WAN (Internet) порта на рутера.

Стартирайте Вашия браузър, отворете страницата за уеб-администриране на рутера (по подразбиране на адрес 192.168.1.1) и от секцията Administration – Firmware Upgrade, чрез бутона Browse изберете файла с новия фърмуер, който сте свалили:

Fig3 big.gif

Първо изберете dd-wrt.v23_mini_wrt54g.bin (това е важно – уверете се че сте избрали MINI версията!) и изчакайте известно време докато той се инсталира. След това реинициализирайте рутера като задържате бутона Reset (около 30 секунди), който се намира на задния му панел. Рестартирайте рутера като го изключите и отново включите захранването. Сега рутерът се самонастройва до адреса си по подразбиране - 192.168.1.1. За да получите достъп до уеб интерфейса, използвайте username: root и password: admin. Ще видите че интерфейсът вече изглежда различно:

Fig4 big.gif


Сега можете да добавите повече възможности за настройка като инсталирате и вторият пакет dd-wrt.v23_wrt54g.bin. Това става по същия начин, който описахме в горните редове. След като вече сте приключили със смяната на фърмуера, можете да започнете с конфигурирането на рутера. Както сами ще се уверите, този фърмуер Ви дава възможност за доста настройки, но ние ще се спрем само на тази която се отнася до TTL ограниченията и ще ви оставим сами да разучите другите възможности, които ви се предлагат. Отидете в менюто Administration – Commands и в полето въведете следният ред:

iptables -t mangle -I PREROUTING -i ppp0 -j TTL --ttl-set 10

Тази команда означава че при преминаване през рутера, всеки пакет получава стойност 10 за параметъра TTL. Разбира се, Вие може да си го зададете по Ваш избор. Обърнете внимание, че горният ред е валиден само ако ползвате PPPоE за връзка с Интернет.

В противен случай ползвайте следната команда:

iptables -t mangle -I PREROUTING -i vlan1 -j TTL --ttl-set 10

Разликата е в интерфейсите на рутера за които ще важи промяната.

След това натиснете бутона Save Firewall и вече след всеки рестарт на рутера няма да имате проблем с TTL ограничението.

Преди да включите отново кабела от доставчика във WAN порта – добре е да направите още една стъпка: да клонирате MAC адреса на компютъра от който последно сте ползвали услугите на доставчика и да го асоциирате с WAN порта на рутера.

Това много често се налага, понеже болшинството от доставчиците (вкл. HomeLAN) имат практиката да филтрират достъпа и посредством MAC адресите на клиентските мрежови адаптери. За да клонирате MAC адреса, отворете страницата Setup - MAC Address Clone и активирайте радиобутона Enable. Ще се появи полето Clone WAN MAC. В него трябва да въведете MAC адреса на мрежовата карта на компютъра откъдето за последно сте ползвали Интернет. След като направите това, натиснете Save Settings и рестартирайте рутера. След като отново имате достъп до уеб-интерфейса, уверете се че MAC адресът е клониран коректно от секцията Status – Router в която полето MAC Address трябва да съдържа новият въведен от Вас адрес. Уверете се също така, че сте съхранили и гореописана команда в секцията Administration – Commands – тя би следвало да се вижда непосредствено под полето за въвеждане на команди.

След като сте стигнали успешно дотук – вече не би трябвало да имате проблеми с поделянето на Интернет достъпа. Въведете настройките, които Вашият доставчик е посочил, включете кабела във WAN порта и пробвайте дали всичко е наред.

Hyper WRT Thibor

Вторият фърмуер, който можете да ползвате е HyperWRT Thibor, той може да бъде намерен на http://www.thibor.co.uk.

От секцията Download трябва да изтеглите файлът Hyperwrt_G_Thibor15c.bin. Инсталацията на фърмуера става по същият начин както описахме преди малко. Менютата на този фърмуер доста приличат на оригиналния на Linksys, така че ако сте свикнали с него ще бъдете в свои води.

Настройката на TTL параметъра става от менюто Administration – Management. Скролирайки малко надолу ще видите два бутона Edit Startup Script и Edit Firewall Script:

Fig5 big.gif

При натискането им се появява нов прозорец, в който трябва да въведете командата:

iptables -t mangle -I PREROUTING -i ppp0 -j TTL --ttl-set 10

или

iptables -t mangle -I PREROUTING -i vlan1 -j TTL --ttl-set 10

въведете го както в Edit Startup Script така и в Edit Firewall Script. След това натискате бутона Save Settings за да запазите настройките. Вече имате рутер, който без проблеми се справя с TTL ограничението.

OpenWRT

Третият фърмуер е OpenWrt, той може да бъде намерен на http://openwrt.org.

От секцията Download – whiterussian – rc6 – pppoe свалете openwrt-wrt54g-squashfs.bin - както сами се досещате това е ако ползвате PPPоE.

Ако не го ползвате, вместо от секцията pppoe го свалете от секцията micro. Инсталацията става пак по същия начин както е описано в горните редове. Този фърмуер не предлага големи възможности за Web конфигуриране, но за сметка на това има много допълнителни пакети за него и всеки който разбира от Linux и не го е страх от командният ред би оценил това.


Надяваме се стъпките които описахме да са ви от помощ и ако имате въпроси или коментари, както и ако искате да споделите Вашия опит, моля пишете на p_moskov@comelsoft.com


Автор: Петър Москов, Комел Софт Мултимедия

Лични инструменти