|
от Petar(10-01-2007)
рейтинг (117)
[ добре ]
[ зле ]
Вариант за отпечатване Многобройните въпроси в офиса ни доведе до идеята на напишем
тази статия (manual). Поствам я и тук понеже на рутера
WRT54GL като му се смени firmware, става невероятно полезна
Linux машинка. Тук ще изложа по-накратко нещата и без
картинки, иначе оригинала на статия се намира на http://comelsoft.com/wrt54g_ttl_manglin...
Mного Интернет доставчици в България (включително големи
такива като HomeLan) ограничават достъпа до услугата си до
само един потребител. Това означава, че ако разполагате с
повече от един компютър и желаете всички компютри в мрежата
Ви да си поделят достъпа до Интернет посредством
маршрутизатор (рутер), това няма да бъде възможно.
Доколко това е коректно и дали нарушава договора, който
вероятно сте сключили с Вашия доставчик, оставяме да
прецените сами. Целта на информацията в настоящия документ е
да Ви покаже как можете да преодолеете поставеното
ограничение ползвайки най-продавания маршрутизатор за
домашни потребители в света – Linksys WRT54GL (версии 1.0,
1.1).
ОПИСАНИЕ НА ПРОБЛЕМА:
Това, което Интернет доставчикът най-често прави за да
ограничи услугата до ползване от само един потребител е
т.нар. “TTL Mangling” – процес при който се извършва промяна
на част от информацията, която се съдържа в заглавната част
на всеки мрежов пакет, който преминава между устройството на
доставчика и Вашия компютър/рутер.
TTL (Time to Live) е параметър, който се съдържа в едно от
полетата на IP хедърите. Този параметър се определя от
изпращача на пакетите и се намалява с единица при всяко
преминаване през даден хост между изпращача и получателя.
(Теоретично, тази стойност би следвало да се измерва в
секунди, но на практика времето не се отчита, а стойността
се третира просто като число, което всеки хост намалява
обработвайки пакета). Когато тази стойност стане нула,
текущият хост отказва да го препрати по-нататък по пътя.
Целта на този механизъм е да се предотврати безкрайното
циркулиране на пакети в мрежата и да се избегне
претоварването и вследствие на това.
За да Ви ограничат, рутерите на доставчиците които са
свързани с Вашия компютър просто поставят ЕДИНИЦА за TTL
параметъра на изходящите пакети. Ако вместо компютъра си Вие
ползвате рутер за поделяне на връзката вкъщи, то този рутер
намалява стойността до НУЛА и резултатът от това е че
пакетите от Вашия доставчик не могат да достигнат до
компютрите зад рутера. Накратко, всичко работи нормално,
Вашият рутер е свързан коректно и има достъп до Интернет, но
нямате достъп до Интернет при нито едно от устройствата,
които се намират след рутера.
РЕШЕНИЕ:
Разбира се, има решение на този проблем и то не е толкова
сложно. Фактът че доставчиците си позволяват да променят TTL
параметъра при своите рутери, означава че нищо не Ви пречи
да го направите и Вие с Вашия Linksys рутер.
Рутерите на Linksys от горепосочените модели представляват
на практика миниатюрни компютри, повечето от които работят
със специално пригодена версия на операционната система с
отворен код GNU Linux.
Всичко, което трябва да направите е да изпълните една
обикновена Linux команда и тук е посочено как да си
осигурите интерфейса за изпълнение на тази команда и как да
я изпълните.
Стандартният системен софтуер (фърмуер) с който идва
рутера, не дава тази възможност, поради което се налага да
се смени фърмуера с друг такъв.
Понастоящем, съществуват множество проекти (свободни и
платени), които се занимават с пренаписване на фърмуера на
Linksys WRT54Gx серията рутери.
Най-популярните такива са:
1. DD-WRT
ttl_2Първият и може би най-удобният е 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 изберете файла с новия фърмуер,
който сте свалили.
- Първо изберете dd-wrt.v23_mini_wrt54g.bin (това е важно –
уверете се че сте избрали MINI версията!) и изчакайте
известно време докато той се инсталира. След това
реинициализирайте рутера като задържате бутона Reset (около
30 секунди), който се намира на задния му панел.
Рестартирайте рутера като го изключите и отново включите
захранването. Сега рутерът се самонастройва до адреса си по
подразбиране - 192.168.1.1. За да получите достъп до уеб
интерфейса, използвайте username: root и password: admin. Ще
видите че интерфейсът вече изглежда различно.
Сега можете да добавите повече възможности за настройка
като инсталирате и вторият пакет 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 порта и пробвайте дали всичко е наред.
2. 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.
При натискането им се появява нов прозорец, в който трябва
да въведете командата:
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 ограничението.
3. OpenWRT
Третият фърмуер е OpenWrt, той може да бъде намерен на http://openwrt.org.
От секцията Download – whiterussian – rc6 – pppoe свалете
openwrt-wrt54g-squashfs.bin - както сами се досещате това е
ако ползвате PPPоE.
Ако не го ползвате, вместо от секцията pppoe го свалете от
секцията micro. Инсталацията става пак по същия начин както
е описано в горните редове. Този фърмуер не предлага големи
възможности за Web конфигуриране, но за сметка на това има
много допълнителни пакети за него и всеки който разбира от
Linux и не го е страх от командният ред би оценил това.
Надявам се тези редова да помогнат на много от вас и TTL-а
вече да не е проблем да ползваме повече от един компютър.
<< Инсталация и настройка на Trac и SVN | Postfix - интеграция с ClamAV, Amavisd-new и Spamassassin >>
|
|