Kako instalirati dodatni softver na vaš router (DD-WRT)
Jeste li ikada željeli imati dodatne funkcionalnosti kao što su E-pošta, Bit-torrent ili čak MySQL izravno na vašem usmjerivaču? Možda sada možete. Kako-To Geek uroni u kako-to uvesti koga u službu Opkg softver na DD-WRT.
Slika Jean Spector i Aviad Raviv
Ako to već niste učinili, provjerite i provjerite prethodne članke iz serije:
- Pretvorite svoj kućni usmjerivač u super-powered router s DD-WRT
- Kako ukloniti oglase s Pixelserv na DD-WRT
Pod pretpostavkom da ste upoznati s tim temama, nastavite čitati. Imajte na umu da je ovaj vodič malo više tehnički, a početnici bi trebali biti oprezni kada modding svoj usmjerivač.
nevolje
Nedavno sam kupio novi Buffalo WZR-HP-AG300H koji dolazi s re-brandiranom verzijom DD-WRT-a. Zahvaljujući činjenici da ovaj ruter ima USB priključak, odmah sam spojio HD i pokušao koristiti wiki vodič "Optware, pravi način". Nažalost, brzo sam otkrio da je usmjerivač koji sam dobio, zasnovan na Atherosu i da ga skripta s te wiki stranice ne podržava. Tako sam počeo kopati (kao što to uvijek činim) i naišao sam na nekoliko vodiča (1, 2, 3 i 4) koji su imali za cilj objasniti kako dobiti Opkg kako radi ručno. Iako je njihov doprinos (među ostalim izvorima na webu) ovom vodiču bio neprocjenjiv, neke od uputa su (IMHO) jednostavno nedovoljne. Na primjer, dajući vam “lib” datoteke ribe, ali nemojte vas naučiti kako je riba iz izvora. Isto tako morati iskoristiti Linux formatiran HD ili barem particiju jedan (što zapravo ne čak i raditi na firmwares sam testirao s). Zato sam osjetio potrebu da napravim dolje sažetu, jednostavnu i ponovljivu proceduru za dobivanje OpenWRT Opkg paketa za rad na takvim usmjerivačima.
Ažuriranje: Mogućnost montaže particija je ponovno uvedena u re-branded verziju na 17798 alpha build.
Što je Opkg?
Opkg je upravitelj paketa kao apt / aptitude i yum. On djeluje kao zamjena za upravitelja paketa Ipkg i može se koristiti za instalaciju softvera kao što su: BitTorrent prijenosni demon, ssmtp pošiljatelj e-pošte i Knockd daemon koji izvršavaju skripte nakon navedenog niza pokretanja portova, da navedemo samo neke. S web-lokacije OpenWRT:
Uslužni program opkg (ipkg fork) je lagani paketni upravitelj koji se koristi za preuzimanje i instaliranje OpenWrt paketa iz lokalnih spremišta paketa ili onih koji se nalaze na Internetu..
Opkg
pokušava riješiti ovisnosti s paketima u spremištima - ako to ne uspije, prijavit će pogrešku i prekinuti instalaciju tog paketa.
Dakle, pomoću Opkg-a možemo instalirati stvari kao što smo radili s Ipkg-om na vodiču “Oslobodite još više snage iz vašeg kućnog usmjerivača”. Glavne razlike su:
- Da bismo dali primjere SSMTP-a i Knockd-a, vaš je doista morao ručno izračunati ovisnosti. Postupak za ručno obavljanje ovog zadatka je dosadan i ne baš izravan. Opkg to čini automatski.
- Ovaj put ćemo biti dodajući softver na vrhu firmware-a koji je na svom mjestu, umjesto da ga zamijeni. Dok je zamjena bila izvrsna vježba geek, to je bez sumnje: opasno, skloni problemima, nepovratni i najgori od svih specifičnih usmjerivača. Nepotrebno je reći da je ovo način jednostavniji i sigurniji.
Preduvjeti
Da biste dovršili ovaj vodič, imajte na umu sljedeće:
- Kao što je gore navedeno, ovaj vodič je izrađen i testiran na Buffalo WZR-HP-AG300H s Buffalovim "Pro" firmware-om verzije 17135. Trebao bi raditi na bilo kojim Atheros (ar71xx) usmjerivačima s bilo kojom verzijom DD-WRT-a iste revizije ili iznad , ali vaša kilometraža može vrlo.
- Morat ćete omogućiti SSH na usmjerivaču, kao i instalirati i koristiti WinSCP za povezivanje s njim. To je objašnjeno u vodiču "Kako ukloniti oglase s Pixelserv na DD-WRT". Zapravo, pretpostavlja se da ste sposobni učiniti sve što je objašnjeno u tom vodiču.
- Morate se moći povezati s usmjerivačem pomoću terminala (preporučuje se SSH). Neki naputci o tome kako to učiniti, nalaze se na DD-WRT wikiju.
- Prostor za JFFS i oko 4 MB prostora za formatiranje postova. Prostor JFFS-a nije samo preduvjet, već i čep. To je zato što, ako vaš usmjerivač nema barem gore spomenuto 4MB prostora za formatiranje posta, nećete dobiti nikakvu stvarnu korist od ovog vodiča, te će vam biti bolje koristiti “Oslobodite još više snage iz vašeg kućnog usmjerivača” vodič za instalaciju paketa Ipkg izravno u firmware ili ručno instaliranje Ipkg paketa. Slijedite upute na vodiču "Kako ukloniti oglase s Pixelserv na DD-WRT" kako biste omogućili JFFS i vidjeli koliko slobodnog prostora zapravo imate nakon formatirana je.
Bilješka: To je moguće učiniti sa samo 2 MB prostora za postavljanje, ali onda bismo izgubili rezultat "/ etc" koji je postao čitljiv za pisanje i morao bi se pozvati Opkg, pri čemu bi se konfiguracijska datoteka ručno specificirala svaki put ... što je kao sooo lame ...
Omogućujemo pucanje
U ovom trenutku trebali ste omogućiti JFFS i biti u mogućnosti SSH / WinSCP u router.
- Otvorite terminalsku sesiju za usmjerivač.
- Izradite privremeni direktorij u kojem ćemo raditi:
mkdir / tmp / 1
cd / tmp / 1
Za instaliranje Opkg-a koristite Ipkg
Iako ćemo zamijeniti Ipkg kao upravitelj paketima, koristit ćemo ga za ručno instaliranje instalacijskog paketa Opkg.
- Da biste to učinili, preuzmite instalacijski paket Opkg za arhitekturu ar71xx iz debla projekta OpenWRT:
wget http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/opkg_618-2_ar71xx.ipk
Note1: U vrijeme pisanja ovog teksta, 618 je najnovija inačica, to može biti podložno promjenama u budućnosti, pa prilagodite u skladu s tim.
Napomena 2: Moguće je da je jedina razlika u dobivanju ovog vodiča za rad u drugim arhitekturama da se instalira Opkg s primjenjive arhitekture za vaš usmjerivač ... no to je uistinu neprovjereno od strane vašeg doista. - Pozovite Ipkg da biste ručno instalirali Opkg pomoću:
ipkg install opkg_618-2_ar71xx.ipk
Bilješka: Možete, ako želite, instalirati svaki paket u spremište ručno na ovaj način. Međutim, to bi značilo da ćete morati sami rješavati ovisnosti ... i što bi bilo zabavno u tome?
Dobivanje dinamičkih datoteka knjižnice ("lib")
Potrebne "lib" datoteke za rad Opkg-a dio su OpenWRT distribucije. Da bi ih dobili, treba ih izdvojiti iz “Root FileSystema” navedene distribucije.
- Da biste to učinili, preuzmite najnoviji osnovni “Root FileSystem” za openWRT distrebution koji sadrži tražene “lib” od OpenWRT projekta debla:
wget http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-rootfs.tar.gz
- Izvadite ga pomoću:
tar xvzf openwrt-ar71xx-generički-rootfs.tar.gz
- Kopirajte "libs" datoteke iz "rootfs" koje smo izdvojili iznad u "libs" direktorij na našem JFFS-u, zadržavajući njihove atribute i simboličke veze:
cp -pp / tmp / 1 / lib / * / jffs / usr / lib /
Bilješka: Dobivat ćete poruke u kojima se navodi da su pod-direktorije izostavljene. Budući da nam ne trebaju ništa drugo do "lib" datoteke, to je u redu i možete ih sigurno zanemariti.
Popravljanje LD_LIBRARY "PATH"
Moramo reći ruteru, gdje tražiti dijeljene knjižnice (libs) koje smo upravo "instalirali" i da to treba učiniti prije one koje ste dobili uz firmver.
- Da biste to učinili, ručno (za sada) ručno postavite LD_LIBRARY varijablu okruženja, tako da je lokacija na kojoj smo kopirali nove lib datoteke prva u "PATH":
izvoz LD_LIBRARY_PATH = / jffs / usr / lib: $ LD_LIBRARY_PATH
Može se čitati i pisati "/ etc"
Kopirat ćemo "/ etc" u JFFS, a zatim napraviti regularnu "/ etc" točku montiranja, pokazati na nju. Na taj način će se otvoriti svijet mogućnosti, jer će "/ etc" postati čitljiv (što osobno čekam 7 godina) i omogućiti da paketi koji očekuju takvo ponašanje ispravno rade.
- Stvorite direktorij koji će sadržavati "/ etc":
mkdir -p / jffs / geek / etc
- Rekurzivno kopirajte cijelu "/ etc" uz istovremeno čuvanje svih poddirektorija, atributa datoteka i simboličkih veza.
cp -a / etc / * / jffs / geek / etc /
- Ručno (za sada) "vezanje" "/ etc" direktorija na JFFS jedan:
mount -o bind / jffs / geek / etc / / etc /
Postavite direktorij Optware ("/ opt")
Opkg iz OpenWRT-a, očekuje se da će se koristiti kada se ugrađuje firmver usmjerivača. Kao što je u to vrijeme, FileSystem još nije na usmjerivaču, i stoga još uvijek podložan promjenama, nema problema s instaliranjem na bilo koje mjesto u FileSystemu. Zato Opkg konfiguracijska datoteka pokazuje pakete za instalaciju u "root" (/) FileSystema. Međutim, koristimo Opkg nakon firmware je izgrađen i instaliran na usmjerivaču, i budući da ne možemo promijeniti root datotečni sustav da bi ga se moglo čitati-pisati, pokazat ćemo sve instalacije koje će se instalirati pod "/ opt". Međutim, trenutno "/ opt" također ukazuje na mjesto samo za čitanje na firmveru usmjerivača. Da bismo to prevladali, napravit ćemo "/ opt" točku na JFFS, koja se može čitati.
- Da biste to učinili, kreirajte direktorij koji će sadržavati Optware pakete:
mkdir -p / jffs / opt
- Ručno (za sada) "povezivanje" direktorija "/ opt" na JFFS:
mount -o bind / jffs / opt / / opt /
Napomena: Iako je izvan opsega ovog vodiča, napredniji korisnici mogu htjeti promijeniti ovu točku montiranja, tako da upućuju na HD.
Podešavanje datoteke konfiguracije Opkg
Želimo da Opkg konfiguracijska datoteka bude mjesto gdje ga Opkg traži prema zadanim postavkama (što je "/ etc") i prilagođeno za instalaciju u "/ opt".
- Da biste to učinili, premjestite konfiguracijsku datoteku opkg koju je instalirao paket Opkg na lokaciju "/ etc" koja se može čitati i pisati:
mv /jffs/etc/opkg.conf / etc /
- Promijenite odredište za instalacije Optwarea na "/ opt" umjesto na "root" (/).
Da biste to učinili, urednik “vi” ili WinSCP idite na “/ etc /” i napravite sadržaj datoteke “opkg.conf”:vi /etc/opkg.conf
Neka izgleda ovako:
src / gz snimke http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages
odred root / opt
odred ram / tmp
lists_dir ext / var / opkg-liste
opcija overlay_root / overlayBilješka: Direktivu “lists_dir” možete promijeniti tako da pokazuje na mjesto koje nije u RAM-u, već na JFFS. Iako će vas to osloboditi ažuriranja popisa, prije nego što instalirate dodatni softver (ako se ruter ponovno pokrene od posljednjeg vremena), izgubit ćete oko 1.5 MB oskudnog prostora JFFS-a, a vi biste se složili s njegovom erozijom.
Zdravo dijete
Trebali biste vidjeti da Opkg radi tako što izdaje naredbe za ažuriranje i popise.
- Ako je sve prošlo dobro, trebali biste vidjeti da su liste Opkg ažurirane bez pogreške i spremni ste implementirati skriptu u sljedećem koraku:
opkg ažuriranje; popis opkg
- Uzmite si vremena da počnete istraživati pakete dostupne u spremištu ... .
StartUp skripta
Sada ga trebamo napraviti tako da se sva potrebna montaža i staza dogodi automatski kada se usmjerivač podigne. U tu smo svrhu za vas stvorili ovu inicijalnu inicijalnu skriptu.
- Preuzmite, a zatim ga izdvojite i stavite pod "/ jffs / geek / etc /". (Razmislite o tome s WinSCP-om).
- Napravite skriptu izvršnom tako što ćete ući u njezina svojstva s WinSCP ili izvršiti:
chmod + x /jffs/geek/etc/geek-init.sh
- Napravite skriptu na pokretanju usmjerivača, koristeći WebGUI. U odjeljku Administracija -> Naredbe, u tekstualnom okviru stavite:
/jffs/geek/etc/geek-init.sh web-gui
I kliknite "Spremi pokretanje".
Udaranje guma
Ako je sve prošlo dobro, sada biste trebali moći ponovno pokrenuti usmjerivač i još uvijek koristiti upravitelja paketa Opkg. To je ažuriranje, popisivanje i instaliranje aplikacija.
Omogućuje testiranje da sve radi radeći instalaciju "netstat" naredbe, koja je iz nekog razloga izostavljena iz DD-WRT-ovih gradnji u zadnje vrijeme. Prije nego što to učinimo, izvršite naredbu netstat u terminalu i vidjet ćete da ste grated greškom iz ljuske, govoreći: "-sh: netstat: not found".
- Vaš prvi korak uvijek će biti da ažurirate liste Opkg, kao da imate najnovije unose paketa iz spremišta:
opkg update
- Ako ne znate koji paket sadrži naredbu "netstat", možete filtrirati rezultate pomoću.
popis opkg | grep netstat
- Sada instalirajte "netstat" koristeći:
opkg install net-tools-netstat
A sada, kada ponovno izvršite naredbu netstat, to radi… uredno ha? :)
Do budućih članaka u kojima ćemo instalirati i konfigurirati softverske pakete pomoću ove metode, možda ćete imati mnogo zabavnih istraživača koji istražuju ogromnu količinu softvera koji je sada na dohvat ruke.
Ako je takav stroj virtualna nemogućnost, mora logično biti konačna nevjerojatnost. Dakle, sve što moram učiniti da bi se napravilo je da razradim koliko je točno nevjerojatno, hranite tu figuru u konačni generator nevjerojatnosti, dajte joj novu šalicu stvarno vrućeg čaja i uključite je……… Jedina stvar koju oni stvarno se ne sviđa, to je "pametna guzica".