Kaip įdiegti papildomą programinę įrangą savo namų maršrutizatoriuje (DD-WRT)

Turinys:

Kaip įdiegti papildomą programinę įrangą savo namų maršrutizatoriuje (DD-WRT)
Kaip įdiegti papildomą programinę įrangą savo namų maršrutizatoriuje (DD-WRT)
Anonim
Ar kada nors norėjote turėti papildomą funkciją, pvz., El. Pašto adresą, "bit-torrent" ar netgi "MySQL" tiesiogiai savo maršrutizatoriuje? Na, gal dabar galite. "How-To Geek" neria į tai, kaip įdiegti "Opkg" programinę įrangą "DD-WRT".
Ar kada nors norėjote turėti papildomą funkciją, pvz., El. Pašto adresą, "bit-torrent" ar netgi "MySQL" tiesiogiai savo maršrutizatoriuje? Na, gal dabar galite. "How-To Geek" neria į tai, kaip įdiegti "Opkg" programinę įrangą "DD-WRT".

Paveikslėlis - Jean Spector ir Aviad Raviv

Jei dar to nepadarėte, įsitikinkite ir patikrinkite ankstesnius serijos straipsnius:

  • Paverskite savo namų maršrutizatorių į Super-Powered maršrutizatorius su DD-WRT
  • Kaip pašalinti reklamas su "Pixelserv" DD-WRT

Darant prielaidą, kad esate susipažinę su šiomis temomis, toliau skaitykite. Turėkite omenyje, kad šis vadovas yra šiek tiek daugiau techninio pobūdžio, o pradedantiesiems reikia būti atsargiems, kai moderuoja jų maršrutizatorių.

Nelaimės

Aš neseniai nusipirkau naują "Buffalo WZR-HP-AG300H", kuris ateina su atnaujinta "DD-WRT" versija. Dėl to, kad šis maršrutizatorius turi USB prievadą, aš iškart prijungiau HD ir bandė naudoti "Optware, Right Way" wiki vadovą. Deja, greitai suradau, kad mano maršrutizatorius yra "Atheros" pagrindas ir scenarijus iš šio "wiki" puslapio, jo nepalaiko. Taigi aš pradėjau kasti (kaip visada daro) ir susipažinou su keliais vadovais (1, 2, 3 ir 4), kuriais buvo siekiama paaiškinti, kaip gauti "Opkg" rankiniu būdu. Nors jų indėlis (be kitų šaltinių internete) į šį vadovą buvo neįkainojamas, kai kurios instrukcijos (IMHO) tiesiog nėra pakankamai aiškios. Pvz., "Lib" failai jums suteiks žuvų, bet nesimokysite, kaip juos išgauti iš šaltinio. Taip pat reikia naudoti "Linux" formatą HD arba bent vieną (kuri iš tikrųjų netgi neveikia firmware, kuriuos aš išbandžiau) Štai kodėl maniau, kad reikia sukurti trumpą, paprastą ir atkuriamą procedūrą, kad OpenWRT "Opkg" paketų tvarkytuvė galėtų dirbti su tokiais maršrutizatoriais.

Atnaujinimas: montuojamų skaidinių funkcija buvo įtraukta į naujos versijos 17798 alfa versiją.

Kas yra Opkg?

"Opkg" yra paketo tvarkytuvė, pvz., Apt / aptitude ir yum. Jis veikia kaip pakaitalo paketo tvarkytuvo pakaitalas ir gali būti naudojamas programinei įrangai diegti, pvz., "Transmission BitTorrent" demonas, ssmtp siuntėjas ir "Knockd" domenas, kuris paleidžia scenarijus po nurodytos jungties paleidimo sekos, norėdamas įvardyti keletą. Iš OpenWRT svetainės:

The opkg utility (an ipkg fork) is a lightweight package manager used to download and install OpenWrt packages from local package repositories or ones located on the Internet.

Opkg

bando išspręsti priklausomybes su paketais saugyklose - jei tai nepavyks, ji praneša apie klaidą ir nutraukia to paketo įdiegimą.

Taigi, naudodamiesi "Opkg", mes galime įdiegti tokius dalykus kaip ir "Ipkg", pateiktos "Išnaudokite dar daugiau galios iš jūsų namų maršrutizatoriaus". Svarbiausi skirtumai yra:

  1. Kad galėtumėte parodyti SSMTP ir "Knockd" pavyzdžius, jūs tikrai turėjo išsiaiškinti priklausomybes rankiniu būdu. Procedūra tai padaryti rankiniu būdu yra nepatogi ir nėra labai tiesiai į priekį. Opkg tai atlieka automatiškai.
  2. Šį kartą mes būsime pridedant programinė įranga, kuri yra toje pačioje programinėje įrangoje, o ne jos pakeitimas. Keičiant tai buvo puikus geekas, tai buvo be abejo: pavojinga, linkusi į problemas, negrįžtamas ir blogiausias iš visų maršrutizatorių. Nereikia nė sakyti, kad taip paprasčiau ir saugiau.

Būtinos sąlygos

Norėdami užpildyti šį vadovo pastabą, atlikite šiuos veiksmus:

  1. Kaip minėta pirmiau, šis vadovas buvo sukurtas ir išbandytas "Buffalo" WZR-HP-AG300H su "Buffalo" "Pro" programine įranga 17135 versija. Ji turėtų dirbti su visais "Atheros" (ar71xx) maršrutizatoriais su bet kokia tos pačios versijos DD-WRT versija, bet jūsų rida gali labai.
  2. Turėsite įjungti maršrutizatorių SSH, taip pat įdiegti ir naudoti WinSCP prisijungti prie jo. Tai paaiškinta vadove "Kaip pašalinti reklamas su" Pixelserv "DD-WRT". Iš tikrųjų manoma, kad jūs galite padaryti viską, kas paaiškinta šiame vadove.
  3. Jūs turite prisijungti prie maršrutizatoriaus naudodami terminalą (rekomenduojama SSH). Kai kurie nurodymai, kaip tai padaryti, yra DD-WRT wiki.
  4. Erdvinė vieta JFFS ir maždaug 4 MB formato formato vietos bazinei sąrankai. JFFS erdvė yra ne tik būtina sąlyga, bet ir parodymų kamštis. Taip yra todėl, kad jei jūsų maršrutizatorius neturi bent jau nurodytos 4MB formato formato vietos, šio vadovo negausite jokios realios naudos, ir bus lengviau naudoti "Išnaudokite dar daugiau galios iš savo namų maršrutizatoriaus" vadovas įdiegti Ipkg paketus tiesiai į aparatinę įrangą arba įdiegti Ipkg paketus rankiniu būdu. Vadovaukitės instrukcijomis, pateiktomis "Kaip pašalinti reklamas su" Pixelserv "DD-WRT", kad įgalintumėte JFFS ir pamatytumėte, kiek laisvos vietos turite iš tikrųjų. po to jis yra suformatuotas.

Pastaba: Tai galima padaryti tik su 2 MB vietos nustatymui, bet tada mes prarasime "/ etc" rezultatą, kad būtų galima skaityti, ir turėsime pakviesti "Opkg", kiekvieną kartą nurodydami konfigūracijos failą rankiniu būdu … kuris yra panašus sooo lame …

Leidžia sugriauti

Šiuo momentu turėtumėte įjungti JFFS ir galėsite į maršrutizatorių prisijungti prie SSH / WinSCP.

  1. Atidarykite maršrutizatoriaus terminalo seansą.
  2. Sukurkite laikiną katalogą, kuriame dirbame:

    mkdir /tmp/1 cd /tmp/1

Naudokite "Ipkg", kad įdiegtumėte "Opkg" Nors pakeisime paketų tvarkytuvę Ipkg, mes ją naudosime, norėdami rankiniu būdu įdiegti "Opkg" diegimo paketą.

  1. Norėdami tai padaryti, atsisiųskite architektūros ar71xx diegimo paketą "Opkg" iš OpenWRT projekto stogo:

    wget https://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/opkg_618-2_ar71xx.ipk

    1 pastaba: Šio rašymo metu 618 yra naujausia versija, tai gali būti keičiama ateityje, todėl atitinkamai koreguokite. Užrašas 2: Gali būti, kad vienintelis skirtumas, norint gauti šį vadovą dirbti kitose architektūrose, yra "Opkg" montuotojo priėmimas iš jūsų maršrutizatoriaus taikomos architektūros … tačiau tai tikrai nėra išbandyta.

  2. Iškvieskite "Ipkg", kad rankiniu būdu įdiegtumėte "Opkg" naudodami:

    ipkg install opkg_618-2_ar71xx.ipk

    Pastaba: Galite, jei norite, taip pat įdiekite kiekvieną paketą saugykloje rankiniu būdu. Tačiau tai reikštų, kad turėsite išspręsti priklausomybes nuo savęs … ir kas bus įdomu tai?

Dinaminės bibliotekos failų gavimas ("lib" s) Reikalingi "lib" failai, skirti "Opkg" darbui, yra "OpenWRT" platinimo dalis. Norėdami juos gauti, juos reikia išskleisti iš minėto platinimo "Root FileSystem".

  1. Norėdami tai padaryti, atsisiųskite naujausią bazinę "Root FileSystem", skirtą openWRT distribucijai, kurioje yra "Open" programos projekto lange reikalaujamos "lib":

    wget https://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-rootfs.tar.gz

  2. Išrinkite jį naudodami:

    tar xvzf openwrt-ar71xx-generic-rootfs.tar.gz

  3. Kopijuokite "libs" failus iš "rootfs", kuriuos išvedėme aukščiau, į mūsų "JFFS" katalogą "libs", išsaugodami jų atributus ir simbolinius saitus:

    cp -Pp /tmp/1/lib/* /jffs/usr/lib/

    Pastaba: Jūs gausite pranešimus, sakydami, kad antriniai žinynai yra praleisti. Kadangi mums nereikia nieko, išskyrus "lib" failus, tai gerai, ir jūs galite saugiai ignoruoti šiuos pranešimus.

LD_LIBRARY "PATH" tvirtinimas Mes turime pasakyti maršrutizatoriui, kur ieškoti bendrų bibliotekų (libs), kuriuos mes ką tik "įdiegėme" ir kuriuos reikia tai padaryti anksčiau tie, kurie buvo su programine įranga.

  1. Norėdami tai padaryti, nustatykite LD_LIBRARY aplinkos kintamąjį rankiniu būdu (dabar), kad padėtume, kad vieta, kur mes kopijuosime naujus "lib" failus, bus pirmasis iš "PATH":

    export LD_LIBRARY_PATH=/jffs/usr/lib:$LD_LIBRARY_PATH

"Read-writable" ir tt Mes ketiname kopijuoti "/ etc" į JFFS ir tada įprastą "/ etc" montavimo tašką, nukreipkite į jį. Tai padarius, abu atvers galimybių pasaulį, nes "/ tt" taps skaitymu rašoma (ką aš asmeniškai laukiau, kol davau ar paima septynerius metus) ir leisiu paketus, kurie tikisi, kad tai elgsis, kad jis veiktų teisingai.

  1. Sukurkite katalogą, kuriame bus "/ etc":

    mkdir -p /jffs/geek/etc

  2. Rekursiniu būdu kopijuokite visą "/ etc", išsaugodami visus pakatalogius, failo atributus ir simbolines nuorodas.

    cp -a /etc/* /jffs/geek/etc/

  3. Rankiniu būdu (šiuo metu) "susieti" pritvirtinti "/ etc" katalogą į JFFS vieną:

    mount -o bind /jffs/geek/etc/ /etc/

Nustatykite "Optware" katalogą ("/ opt") Opkg iš OpenWRT, tikisi, kad bus naudojamas, kai bus sukonfigūruota maršrutizatoriaus programinė įranga. Kadangi tuo metu FileSystem dar nėra maršrutizatoriuje ir todėl vis dar gali keistis, nėra problemų įdiegti į bet kurią failų sistemos vietą. Štai kodėl "Opkg" konfigūracijos failas nurodo paketus įdiegti į "root" (/) FileSystem. Tačiau mes naudojame "Opkg" po to firmware buvo pastatyta ir įdiegta maršrutizatoriuje, ir kadangi negalime pakeisti failų sistemos šaknies, kad ją būtų galima skaityti, mes nurodysime, kad visi įrenginiai bus įdiegti "/ opt". Tačiau šiuo metu "/ opt" taip pat nurodo, kad maršrutizatoriaus programinė įranga yra tik skaitymo vieta. Norėdami įveikti tai, mes padarysime "/ opt" tašką į JFFS, kuris gali būti nuskaitytas.

  1. Norėdami tai padaryti, sukurkite katalogą, kuriame bus Optware paketai:

    mkdir -p /jffs/opt

  2. Rankiniu būdu (šiuo metu) "susieti" pritvirtinti "/ opt" katalogą į JFFS vieną:

    mount -o bind /jffs/opt/ /opt/

    Pastaba: nepaisant šio vadovo taikymo srities, labiau pažengę vartotojai gali norėti pakeisti šį montavimo tašką, nukreipdami į HD.

Opqg konfigūracijos failo koregavimas Mes norime, kad "Opkg" konfigūracijos failas būtų toks, kai "Opkg" tai pagal nutylėjimą (ty "/ etc") ieško ir koreguojama, kad būtų įdiegta "/ opt".

  1. Norėdami tai padaryti, perkelkite Opkg konfigūracijos failą, įdiegtą "Opkg" paketu, į vietą, kurioje galima nuskaityti "/ etc":

    mv /jffs/etc/opkg.conf /etc/

  2. Pakeiskite "Optware" įrenginių paskirties vietą "/ opt", o ne "root" (/). Norėdami tai padaryti, naudodami "vi" redaktorių arba WinSCP pereikite į "/ etc /" ir sukurkite "opkg.conf" failo turinį:

    vi /etc/opkg.conf

    Padarykite tai atrodyti taip:

    src/gz snapshots https://downloads.openwrt.org/snapshots/trunk/ar71xx/packages dest root /opt dest ram /tmp lists_dir ext /var/opkg-lists option overlay_root /overlay

    Pastaba: Galite pakeisti "lists_dir" direktyvą, kad nukreiptumėte į vietą, kuri nėra RAM, o ne JFFS. Nors tai padės jums atnaujinti sąrašus, kol galėsite įdiegti papildomą programinę įrangą (jei jūsų maršrutizatorius yra iš naujo paleistas iš paskutinio karto), prarandate apie 1,5 MB trūkstamos JFFS vietos, todėl susilpnėtų jos erozija.

Labas, mažute Jūs turėtumėte pamatyti, kad "Opkg" veikia pateikdamas atnaujinimą ir sąrašus komandas.

  1. Jei viskas vyks gerai, turėtumėte pamatyti, kad "Opkg" sąrašai buvo atnaujinti be klaidų ir esate pasiruošę įdiegti scenarijų kitame žingsnyje:

    opkg update; opkg list

  2. Pasinaudokite laiku, kad pradėtumėte tirti saugykloje esančius paketus ….

Paleidimo scenarijus Dabar turime padaryti tai, kad visi reikalingi montavimo būdai ir maršrutai bus rodomi automatiškai, kai maršrutizatorius važiuoja. Tuo tikslu mes sukūrėme jums šį iniciacijos geek-init scenarijų.

  1. Atsisiųskite, tada išskleiskite jį ir padėkite jį po "/ jffs / geek / etc /". (Apsvarstykite, ar tai darote su WinSCP).
  2. Padarykite vykdomąjį scenarijų, eikite į jo savybes naudodami WinSCP arba vykdydami:

    chmod +x /jffs/geek/etc/geek-init.sh

  3. Padarykite scenarijų paleisti maršrutizatorių, naudojant "WebGUI". Po teksto lauku Administracija -> Komandos įveskite:

    /jffs/geek/etc/geek-init.sh web-gui

    Ir spustelėkite "Išsaugoti paleidimą".

Padengimas padangomis Jei viskas vyktų gerai, dabar turėtumėte galimybę iš naujo paleisti maršrutizatorių ir vis tiek naudoti "Opkg" paketų tvarkytuvą. Tai yra atnaujinti, sąrašas ir įdiegti programas. Leidžia patikrinti, ar viskas veikia, įdiegiant "netstat" komandą, kuri dėl kokios nors priežasties pastaruoju metu buvo praleista DD-WRT kūrimo metu. Prieš tai atliksime komandą netstat terminale ir pamatysite, kad esate tuščia iš apvalkalo esančios klaidos, sakydama "-sh: netstat: nerasta".

  1. Jūsų pirmasis žingsnis visada bus atnaujinti "Opkg" sąrašus, kad būtų galima rasti naujausius paketų sąrašus iš saugyklos:

    opkg update

  2. Jei nežinote, kuriame paketėje yra "netstat" komanda, galite filtruoti rezultatus naudodami.

    opkg list | grep netstat

  3. Dabar įdiekite "netstat" naudodami:

    opkg install net-tools-netstat

    Ir dabar, kai vėl paleidžiate netstat komandą, tai veikia … ar ne?:)

Iki ateityje esančių straipsnių, kuriuose mes įdiegsime ir sukonfigūruosime programinės įrangos paketus taikydami šį metodą, gali būti, kad jūs turėtumėte daugybę įdomių žinių apie didžiulę programinės įrangos kiekį, kuris dabar yra tiesiai piršto galuose.

Jei tokia mašina yra virtualiai neįmanoma, ji logiškai turi būti neabejotina neįtikėtina. Taigi, viskas, ką turiu padaryti, norėdamas išsiaiškinti, kaip būtent tai neįtikėtina, pastatyti tą figūrą į galutinį neįtikėtumo generatorių, suteikti jam šviežią tikrai karštos arbatos puodelį ir įjungti ją … … ………… Vienintelis dalykas, kurio jiems tikrai nepatinka, yra "Smart-Ass".

Rekomenduojamas: