Linksys WAP54G hack -> Internet megosztás

Fórumok

Sziasztok,

Van egy Linksys WAP54G Access Pointom (1 LAN, 1 Wifi port), amivel elkezdtem játszadozni. A célom az, hogy az AP eredeti funkciója (azaz "egy darab láthatatlan drót") helyett valami komolyabban tudjon: a wirelessen csatlakozó kliensek kapjanak lokál IP-t, a LAN portot rádugom a kábelmodemre, DHCP-vel kap címet és route-ol az internet felé, illetve route-ol a helyi wifi hálózaton.

Feltettem egy OpenWRT WhiteRussian (0.9) micro firmware-t (nagyobb nem fér fel, mert csak 2Mb flash). Azt láttam, hogy a wifi és a LAN valahogy össze van kötve egy br0 nevű interfésszel, hogy tudjanak azonos IP-tartományból címet kapni. Van dns és dhcp szerver, illetve ssh.

1. Amit nem egészen értek, hogy hogyan tudom szétválasztani a wifi és LAN interfészeket, illetve hogyan tudom megcsinálni hogy a LAN-on kapjon egy DHCP-s címet. Már kétszer sikerült úgy megsütni mindenféle nvram-os beállításokkal, hogy nem volt elérhető; de szerencsére sikerült a halálból visszahozni. Most már nem próbálkozgatnék, hanem kérek segítséget. Sajnos a neten lévő infók közül szinte mind a WRT54G sorozatra vonatkozik, ami pedig nem, az baromi zavaros.

2. A másik, ami fura, hogy ha kábelen csatlakozom, akkor szépen megy az SSH kapcsolat. Ha wirelessen, akkor (egész addig, amíg a LAN interfész statikus) kap IP-t a LAN interfésszel megegyező tartományból, tudom pingetni is a LAN interfészt, ha viszont SSH-zni szeretnék puttyval, akkor csak üres képernyővel vár tíz percekig. Próbáltam egy "telnet 192.168.1.245 22"-t, az IP az a WAP54G default LAN IP-je; és akkor bejött az OpenSSH fejléc szinte egyből. Szóval lehet, hogy ez valami putty bug a dropbear-rel? Mindenesetre nem nagyon merek vadulni amíg legalább a wifin stabilan be nem tudok lépni.

A részleteket leírom majd lejjebb, nem akarom hosszúra nyújtani. Előre is köszi!

Hozzászólások

Szóval, a whiterussian alatt az nvram paranccsal lehet az alap beállításokat piszkálni. Alapértelmezetten:

lan_ifname=br0
lan_ifnames=eth0 eth1
lan_proto=static

Ezt úgy értelmeztem, hogy a lan interfészt (ez csak egy névkonvenció, a lan helyett lehetne bableves is) hozzárendeli egy br0 bridge interfészhez, és ezzel "összebridzseli" az eth0 és eth1 interfészeket (egyik a wifi, másik a wired). Ezt szeretném szétbontani, ezért próbáltam egy ilyennel:

nvram set lan_ifname=eth1
nvram set lan_ifnames=eth1
nvram set lan_proto=dhcpclient

Na ez valahogy nem sikerült. Szerencsére láttam tcpdump-pal hogy nagy erőkkel keres egy dhcp szervert, úgyhogy feldobtam egyet, kiosztottam egy címet neki és utána sikerült belépni a kábeles porton. Viszont nem osztott DHCP-s címeket a wifin csatlakozni vágyó klienseknek, és a dnsmasq valami olyasmit írt, hogy "no address pool for requests via br0" - ami marha érdekes mert nem is volt már br0 interfész...

Aztán egy leírás alapján megpróbáltam azt, hogy a lan interfészt hagyom staticon és próbálok felhúzni egy wan interfészt, ami elintézi majd a kábelmodemre való csatlakozást:

nvram set lan_ifname=eth1
nvram set lan_ifnames=eth1
nvram set wan_ifname=eth1
nvram set wan_proto=dhcpclient

és nyomtam egy "ifup wan"-t. Na ekkor sikerült taccsra tenni először a cuccot. Végülis kis hardveres okossággal sikerült újra életre hívni. A második halál is egy hasonló próbálkozás eredménye volt... :-)

Tök jó lenne, ha valaki le tudná egyértelműen írni, mi miért van. :-)

Legalább a második kérdésre választ kaptam, még ha nem is jó az a válasz: ha 64 byte-tal pingelek akkor már egy rakás csomag kimarad, 1500 byte-tal meg nem jön vissza egy sem. Szóval valami itt a wifi radio résszel nagyon nem jó. :-( Egyelőre fogalmam sincs, mi lehet, végigpróbáltam a csatornákat, erősséget meg nem tudok állítani de minek is amikor 5 cm-re van az adó meg a vevő. Nem tudom elképzelni, mi a probléma, a wifi kártyát letesztelem holnap...
---
;-(

Azt látom, hogy a wan interfész volt használva még linksys firmware-es korában, mivel vannak ilyen nvram bejegyzések:


wan_desc=Default connection

de őszintén szólva nem értem, hogy a LAN és WAN között mi a különbség. Egy darab wired fizikai interfész van...