LINUX @ JEZGRA.NET

Linux experts @ work

DD-WRT Gluposti (Atheros WDS)
Zadnje modificirano na: 25/10/2010 @ 10:40 pm

AUTOR: DARKMAN

Ni ja sam neznam zasto jos uvjek koristim ovaj firmware na pojedinim uredjajima (70-ak njih samo). Firmware je pisan od strane lika koji zna znanje, medjutim to isto nezna prenjeti na ostale niti zna dokumentirati svoje djelo. Takodjer izgleda se tesko odvaja od nekih zastarijelih stvari i sto me najvise iritira je da se prodao za pare i sad radi sve to preko neke stvari i generalno on misli da bi jedan firmware morao ici na sve uredjaje umjesto da za svaki model ima drugaciji firmware. Tako u konkretnom primjeru imam tri uredjaja koja su Buffalo WHR-HP-AG108 i imaju Atheros chipset unutra. A s njim i probleme…

Client i Client bridge mode jednostavno ne rade niti ima razliku izmedju oba. Ovako bi to trebalo biti:

  • Client mode koristi WAN kao IP i route za dalje
  • Client bridge bi trebao biti transparent BRIDGE!

Medjutim to nije tako. Client uopce ne radi sa zadnjim firmware-om a client bridge su skroz zeznuli (e sad, inace se protivim cenzuri ali eto). Client bridge po defaultu (NEZNAM ZASTO!) ima loadane module ebtables*. Oni rade source i destination NAT. Znaci SNAT i DNAT. I to jako zivcira. Ja zelim da su ti klijenti sa druge strane skroz transparentni i da imaju svaki svoj IP i svoj ARP trag tj. MAC. Iz vise razloga, iz razloga sigurnosti prvenstveno (mac firewall) a zatim radi lakseg pracenja rada mreze. Tako da mi nisu svi korisnici isti iza tog AP-a nego da ih mogu razlikovati. A inace to nije po standardu pa ako imate fixne DHCP postavke za klijente to ce izazvati masu problema jer vam dolazi jedan MAC sa vise IP adresa. Firewall ce ih naravno skroz otkaciti, a ako imate fixan ARP onda sve ide k’vragu. Ja imam sve od navedenog i client bridge jednostavno vise nije opcija za mene (mada je rijetko kad i bila). Medjutim hocu napomenuti da PRIJE to nije bilo tako. Zasto je to nas “sijedi” odlucio zeznut – nezna se. Probao sam unloadat module ebtables i obrisati NAT pravila. Medjutim onda se desava nesto cudno, tocno svaki drugi paket prolazi. Alternativno svaki drugi se i gubi negdje. Taj dio jednostavno nemogu objasniti radi manjka alata u samom firmware-u gdje bih mogao trejsat paket kako prolazi kroz interfejse i userspace.

WDS

WDS je neizostavan dodatak mojoj mrezi koji se koristi gdje god se moze koristiti, pa cak i u glavnim linkovima. Razlog je jednostavan: WDS ne djeluje na principu klijenta, ne postoji neka nazovimo je- fizicka konekcija te se kao takva nikad ne prekida i puno brze uspostavlja. Znaci u client modu ako je sum poveci i ako je signal u trenutku slab, client ce napraviti de-auth i potraziti uredjaj ponovno te se ponovno pokusati reconectat. Medjutim ako je vec pukao radi neceg mozemo pretpostavit da ce imati problema u ponovnom auth-u. Kod WDS-a toga nema. Da ne pricamo da je WDS kompletno transparentan i da uz to sto se moze spojiti na drugi uredjaj moze oko sebe i siriti svoju dostupnost. Sto zna biti jako bitno ako imate veliku mrezu. Znaci ako se neka tocka mora izmjeniti (kanal, pozicija ili nesto) tada vi mozete preko wifi-a doci na taj WDS repeater i njemu izmjeniti postavke. U client modu mozete samo ici na kabel i tako ga rekonfigurirati.

WDS mode je nazalost na Atheros uredjajima i u zadnjem DD-WRT komletno neuporabljiv. Neznam zasto i kako to nisu iz verzije u verziju primjetili. Mozda ima malo ljudi da to koristi? Ili je samo ovaj rijetki uredjaj zanemaren? Ipak, ima gresaka na samom uredjaju koje su nedopustive.

Naime,
imamo AP mode, imamo WDS AP, i imamo WDS Station.
Na wiki od firmware-a ovog modela mozemo vidjet napomenu da se NE koristi standardni WDS (ath0 i ath1) — sto je po meni besmisleno da su ga uopce dodali jer ath+ interfejsi su ATHEROS.. i ako ne radi , zasto su tu uopce? Te da jedan mora biti WDS AP a svi ostali WDS station. Da stvar bude apsurdnija – bas TO je client bridge i obican AP (bar bi trebalo biti).. da bude jos apsurdnije to radi u transparent (navodno radi!) , a client bridge to nemoze (??). Frustrirajuce, zbilja.

Stvar radi SAMO ako AP koji ima WDS AP mod ima takodjer i firmware iz 2008 jer ovi iz 2009 i 2010 su zeznuti. Ako svi uredjaji imaju zadnji firmware – mozete se pozdraviti sa ovom opcijom. Da stvar bude jos i gora, jedini firmware koji radi je uklonjen sa dd-wrt stranice. A reci cu vam i zasto ne radi u zadnjem i kako to ispraviti. (Kao napomenu samome sebi).

WDS Station radi OK (ako je OK ono sto pise da bi to tako trebalo biti).
WDS AP ne radi kako treba i nije mi nikako jasno kako ovakav firmware moze proci dvije godine bez da se netko to sjeti isprobati A ISPROGRAMIRAO `GA` JE.

Prvo sto mi daleko ide na zivce su pusti kernel moduli koje bespotrebno dize DD-WRT (vjerovatno radi kompatibilnosti ali vecinom radi ignoracije osnivaca). U startup mozete dodati iptables -F i iptables -t nat -F te unloadati module koji su bespotrebni. Prvo cete ustedjeti RAM koji je na nekim uredjajima blago i znacit ce vam vecu stabilnost uredjaja, a drugo je i sama brzina, potrosnja uredjaja, pregrijavanje…. tocka, tocka, tocka…

Zatim, WDS AP mod ima glupost ogromnu koja ovaj uredjaj radi kompletno beskorisnim u WDS. Dvi najvaznije stvari nisu isprogramirane, a to je DIZANJE interfejsa i KONEKTANJE samog interfejsa (koji A.P.S.U.R.D.). A jos vaznije od toga (po cemu se razlikuje bridge) je da zapravo DODA te interface u br0 (haha, smjeh.. nije mi jasno kako to nisu isprogramirali????). Vrlo lako je moguce da se pokusava interfejs dodati u bridge prije nego je UP (podignut) pa se greskom ne dodaje u bridge automatski.

Ja imam ovakvu skriptu smjestenu u startup jer imam dva uredjaja medjutim vi slobodno preskocite.

wget http://192.168.13.1/atheros_sta0.txt -O /tmp/skripta1.sh
wget http://192.168.13.1/atheros_sta1.txt -O /tmp/skripta2.sh
chmod a+x /tmp/skripta*  #### Bespotrebno ali estetski :)
sh /tmp/skripta1.sh &
sh /tmp/skripta2.sh &

gdje su obe skripte ovakve

while sleep 30
do
if ! /sbin/ifconfig | grep sta0 > /dev/null
then
/sbin/ifconfig ath0.sta0 up
/usr/sbin/brctl addif br0 ath0.sta0
fi
done;

Jel vidite sto skripta radi.. :) ovo je najgluplja skripta koju sam napisao. Znaci gleda dali je ath0 postojan i dignut. – AKO nije, digni interfejs i dodaj ga potom u bridge (br0). U principu morate ovu skriptu kopirati za svaki klijent posebno. Znaci ja imam 2 klijenta to su ath0 i ath1. Ako vi imate vise, bit ce potrebno i vise skripta. Takodjer nije iskljuceno da od svega toga napravite samo jednu skriptu ali meni je to samo dodatna tlaka.

Mislio sam uputiti mail autoru firmware-a medjutim decko je napuhan i prodao se raznim markama… pa eto, ako njega nije briga nije ni mene, na skriptu ce naletit kome bude potrebna, ja sam pretrazio google database i nisam nasao bas nista.

Nisam imao volje ponovno dolazit na kabel i redboot-om sa tftpa dizati openwrt pa ako ne radi (sto je moguce) vracati dd-wrt jer nema alternative pa tako nisam njega ni isprobao medjutim vjerujem da su ovi iz openwrt-a puno susretljiviji iako i njima opada zanimacija za svoj firmware. A bome nemam ni vremena ni uredjaja viska da isprobavam svoje build-ove na uredjajima. Sto se mene tice, ako vam ne treba nikoja special funkcija -najbolje zadrzite tvornicki firmware! (Ako nije VxWorks smece al u tom slucaju i sam uredjaj je smece pa ste na istom).

Komentiraj
Share
Tags:

Leave a Reply