Aanvullende software installeren op uw thuisrouter (DD-WRT)

hoe-extra-software-op-uw-huis-router-ddwrt-foto te installeren

Heb je ooit extra functionaliteit zoals e-mail, bit-torrent of zelfs MySQL rechtstreeks op je router willen hebben? Nou misschien kun je dat nu wel. How-To Geek duikt in hoe Opkg-software te installeren op DD-WRT.

Afbeelding door Jean Spector en Aviad Raviv



Als je dat nog niet hebt gedaan, zorg er dan voor dat je eerdere artikelen in de serie bekijkt:

  • Verander uw thuisrouter in een superkrachtige router met DD-WRT
  • Advertenties verwijderen met Pixelserv op DD-WRT

Ervan uitgaande dat u bekend bent met deze onderwerpen, blijf lezen. Houd er rekening mee dat deze handleiding iets technischer is en dat beginners voorzichtig moeten zijn bij het modificeren van hun router.

beproevingen

Ik heb onlangs een nieuwe Buffalo WZR-HP-AG300H gekocht die wordt geleverd met een re-branded versie van DD-WRT. Omdat deze router een USB-poort heeft, heb ik meteen een HD aangesloten en geprobeerd de Optware, The Right Way wikigids te gebruiken. Helaas heb ik snel ontdekt dat de router die ik heb, op Atheros is gebaseerd en dat het script van die wiki-pagina dit niet ondersteunt. Dus ik begon te graven (zoals ik altijd doe) en kwam verschillende handleidingen tegen (1, 2, 3 en 4) die bedoelden om uit te leggen hoe Opkg handmatig te laten werken. Hoewel hun bijdrage (naast andere bronnen op internet) aan deze gids van onschatbare waarde was, zijn sommige instructies (IMHO) gewoon niet duidelijk genoeg. U krijgt bijvoorbeeld de lib-bestanden fish, maar leer u niet hoe u deze vanaf de bron kunt vissen. Ook gebruik moeten maken van een Linux-geformatteerde HD of op zijn minst een partitie van één (wat eigenlijk niet eens werkt op de firmwares waarmee ik heb getest). Daarom voelde ik de behoefte om de onderstaande beknopte, eenvoudig te volgen en reproduceerbare procedure te maken om de OpenWRT Opkg-pakketbeheerder op dergelijke routers te laten werken.

Update: de mogelijkheid om partities aan te brengen is opnieuw geïntroduceerd in de re-branded versie op de 17798 alpha build.

Wat is Opkg?

Opkg is een pakketbeheerder zoals apt/aptitude en yum. Het fungeert als een vervanging voor de Ipkg-pakketbeheerder en kan worden gebruikt om software te installeren zoals: de Transmission BitTorrent-daemon, de ssmtp-e-mailafzender en Knockd een daemon die scripts uitvoert na een gespecificeerde poorttrigger-volgorde, om er maar een paar te noemen. Van de OpenWRT-site:

Het opkg-hulpprogramma (een ipkg-fork) is een lichtgewicht pakketbeheerder die wordt gebruikt om OpenWrt-pakketten te downloaden en te installeren vanuit lokale pakketrepository's of die zich op internet bevinden. |__+_| probeert afhankelijkheden met pakketten in de repositories op te lossen - als dit mislukt, zal het een fout rapporteren en de installatie van dat pakket afbreken.

Dus met Opkg kunnen we dingen installeren zoals we deden met Ipkg in de Unleash Nog More Power from Your Home Router-gids. De belangrijkste verschillen zijn:

  1. Om de voorbeelden van SSMTP en Knockd te geven, moest ondergetekende de afhankelijkheden handmatig uitzoeken. De procedure om dit handmatig te doen is lastig en niet erg eenvoudig. Opkg doet dit automatisch.
  2. Deze keer zullen we software toevoegen bovenop de aanwezige firmware, in plaats van deze te vervangen. Hoewel het vervangen ervan een uitstekende nerd-oefening was, was het zonder twijfel: gevaarlijk, vatbaar voor problemen, onomkeerbaar en het ergste van alles router-specifiek. Onnodig te zeggen dat dit veel eenvoudiger en veiliger is.

Vereisten

Houd rekening met het volgende om deze handleiding te voltooien:

  1. Zoals hierboven vermeld, is deze handleiding gemaakt en getest op Buffalo WZR-HP-AG300H met Buffalo's Pro-firmwareversie 17135. Hij zou moeten werken op alle op Atheros (ar71xx) gebaseerde routers met elke versie van DD-WRT van dezelfde revisie of hoger, maar uw kilometerstand kan zeer.
  2. U moet SSH op de router inschakelen en WinSCP installeren en gebruiken om er verbinding mee te maken. Dit werd uitgelegd in de gids Hoe advertenties te verwijderen met Pixelserv op DD-WRT. In feite wordt aangenomen dat u alles kunt doen wat in die handleiding wordt uitgelegd.
  3. U moet verbinding kunnen maken met de router via een terminal (SSH wordt aanbevolen). Enkele aanwijzingen over hoe u dit kunt doen, staan ​​op de DD-WRT-wiki.
  4. Ruimte voor JFFS en ongeveer 4 MB post-geformatteerde ruimte voor de basisconfiguratie. JPFS-ruimte is niet alleen een vereiste, het is een showstopper. Dit komt omdat, als uw router niet ten minste de bovengenoemde 4 MB post-geformatteerde ruimte heeft, u geen echt voordeel zult halen uit deze handleiding en beter af bent met het gebruik van de Unleash nog meer kracht van uw thuisrouter-gids om installeer Ipkg-pakketten rechtstreeks in de firmware of installeer de Ipkg-pakketten handmatig. Volg de instructies in de handleiding Hoe advertenties te verwijderen met Pixelserv op DD-WRT om JFFS in te schakelen en kijk hoeveel vrije ruimte u daadwerkelijk heeft nadat deze is geformatteerd.

Opmerking: het is mogelijk om dit te doen met slechts 2 MB ruimte voor de installatie, maar dan zouden we het resultaat verliezen dat /etc leesbaar wordt en zouden we Opkg moeten aanroepen, terwijl we het configuratiebestand elke keer handmatig moeten specificeren ... wat is als zooo flauw...

Laten we gaan kraken

Op dit punt zou u JFFS moeten hebben ingeschakeld en in staat moeten zijn om SSH/WinSCP naar de router te sturen.

  1. Open een terminalsessie naar de router.
  2. Maak een tijdelijke map waarin we gaan werken:

    mkdir /tmp/1
    cd /tmp/1

Gebruik Ipkg om Opkg te installeren
Terwijl we Ipkg gaan vervangen als pakketbeheerder, zullen we het gebruiken om het Opkg-installatiepakket handmatig te installeren.

  1. Download hiervoor het Opkg-installatiepakket voor de ar71xx-architectuur van de OpenWRT-projecttrunk:

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

    Opmerking 1: Op het moment van schrijven is 618 de nieuwste versie, dit kan in de toekomst worden gewijzigd, dus pas dienovereenkomstig aan.
    Opmerking 2: Het is mogelijk dat het enige verschil om deze handleiding voor andere architecturen te laten werken, is om het Opkg-installatieprogramma van de toepasselijke architectuur voor uw router te krijgen ... dit is echter niet getest door ondergetekende.

  2. Roep Ipkg op om Opkg handmatig te installeren met:

    ipkg installeer opkg_618-2_ar71xx.ipk

    Opmerking: u kunt, als u dat ook wilt, op deze manier elk pakket in de repository handmatig installeren. Dit zou echter betekenen dat je de afhankelijkheden zelf moet oplossen... en wat is daar het plezier van?

Het verkrijgen van de dynamische bibliotheekbestanden (libs)
De vereiste lib-bestanden om Opkg te laten werken, maken deel uit van de OpenWRT-distributie. Om ze te verkrijgen, moet men ze uit het Root FileSystem van de distributie halen.

  1. Om dit te doen, downloadt u de nieuwste basis Root FileSystem voor de openWRT-distributie die de vereiste bibliotheken bevat van de OpenWRT-projecttrunk:

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

  2. Pak het uit met:

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

  3. Kopieer de libs-bestanden van de rootfs die we hierboven hebben geëxtraheerd naar de libs-map op onze JFFS, met behoud van hun kenmerken en symbolische links:

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

    Opmerking: u krijgt berichten dat de submappen worden weggelaten. Omdat we niets anders nodig hebben dan de lib-bestanden, is dit prima en kun je deze berichten veilig negeren.

Het LD_LIBRARY PATH repareren
We moeten de router vertellen waar we moeten zoeken naar de gedeelde bibliotheken (libs) die we zojuist hebben geïnstalleerd en dat deze dit moet doen vóór de bibliotheken die bij de firmware zijn geleverd.

  1. Om dit te doen, stelt u de omgevingsvariabele LD_LIBRARY handmatig in (voorlopig), zodat de locatie waar we de nieuwe lib-bestanden hebben gekopieerd, de eerste in het PATH is:

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

Lees-schrijfbaar /etc
We gaan /etc naar JFFS kopiëren en dan het reguliere /etc koppelpunt er naar laten wijzen. Dit zal zowel een wereld van mogelijkheden openen, omdat /etc leesbaar wordt (waar ik persoonlijk al 7 jaar op wacht) en pakketten die dit gedrag verwachten, correct laten werken.

  1. Maak de map aan die /etc zal bevatten:

    mkdir -p /jffs/geek/etc

  2. Kopieer recursief het geheel van /etc met behoud van alle submappen, bestandsattributen en symbolische links.

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

  3. Koppel handmatig (voorlopig) de directory /etc aan de JFFS-map:

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

Stel de Optware-map in (/opt)
Opkg van OpenWRT, verwacht te worden gebruikt wanneer de firmware van de router wordt gebouwd. Aangezien het FileSystem op dat moment nog niet op de router staat en dus nog aan verandering onderhevig is, is het geen probleem om het op een willekeurige locatie op het FileSystem te installeren. Dat is de reden waarom het Opkg-configuratiebestand verwijst naar pakketten die moeten worden geïnstalleerd in de hoofdmap (/) van het bestandssysteem. We gebruiken Opkg echter nadat de firmware is gebouwd en op de router is geïnstalleerd, en aangezien we de root van het bestandssysteem niet kunnen wijzigen zodat deze leesbaar en beschrijfbaar is, wijzen we alle installaties die moeten worden geïnstalleerd onder /opt. Momenteel verwijst /opt echter ook naar een alleen-lezen locatie op de firmware van de router. Om dit te verhelpen, zullen we /opt naar JFFS laten wijzen, dat lees-schrijfbaar is.

  1. Om dit te doen, maakt u de map aan die de Optware-pakketten zal bevatten:

    mkdir -p /jffs/opt

  2. Koppel handmatig (voorlopig) de /opt-map aan de JFFS-map:

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

    Opmerking: hoewel dit buiten het bestek van deze handleiding valt, willen meer gevorderde gebruikers dit koppelpunt misschien wijzigen om naar een HD te verwijzen.

Het Opkg-configuratiebestand aanpassen
We willen dat het Opkg-configuratiebestand zich daar bevindt waar Opkg er standaard naar zoekt (dat is /etc) en aangepast om te installeren in /opt.

  1. Om dit te doen, verplaatst u het opkg-configuratiebestand dat door het Opkg-pakket is geïnstalleerd naar de leesbare /etc-locatie:

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

  2. Wijzig de bestemming voor Optware-installaties in /opt in plaats van root (/).
    Om dit te doen, navigeer je met de vi-editor of WinSCP naar /etc/ en maak je de inhoud van het opkg.conf-bestand:

    vi /etc/opkg.conf

    Laat het eruit zien als:

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

    Opmerking: u kunt de instructie lists_dir wijzigen om te verwijzen naar een locatie die zich niet in het RAM-geheugen bevindt, maar op JFFS. Hoewel dit u zou verlossen van het bijwerken van de lijsten, zou u, voordat u extra software kunt installeren (als uw router opnieuw is opgestart vanaf de laatste keer), ongeveer 1,5 MB van de schaarse JFFS-ruimte verliezen en zou u zich ergeren aan de erosie ervan.

Hallo schat
U zou moeten kunnen zien dat Opkg werkt door de update- en lijstopdrachten uit te geven.

  1. Als alles goed is gegaan, zou je moeten zien dat de Opkg-lijsten foutloos zijn bijgewerkt en dat je klaar bent om het script in de volgende stap te implementeren:

    opkg-update; opkg lijst

  2. Neem de tijd om te beginnen met het verkennen van de pakketten die beschikbaar zijn in de repository….

Opstartscript
We moeten er nu voor zorgen dat alle vereiste montage en paden automatisch gebeuren wanneer de router opstart. Daartoe hebben we voor u dit initialisatie-geek-init-script gemaakt.

  1. Download, pak het uit en plaats het onder /jffs/geek/etc/. (Overweeg om dit met WinSCP te doen).
  2. Maak het script uitvoerbaar door met WinSCP naar de eigenschappen ervan te gaan of door het volgende uit te voeren:

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

  3. Laat het script uitvoeren bij het opstarten van de router, met behulp van de WebGUI. Zet onder Beheer -> Opdrachten in het tekstvak:

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

    En klik op Opstarten opslaan.

De banden schoppen
Als alles goed is gegaan, zou je nu in staat moeten zijn om de router opnieuw op te starten en nog steeds de Opkg-pakketbeheerder te gebruiken. Dat is het bijwerken, weergeven en installeren van applicaties.
Laten we testen of alles werkt door het netstat-commando te installeren, dat om de een of andere reden is weggelaten uit de builds van DD-WRT de laatste tijd. Voordat we dit doen, voer je het netstat-commando uit in de terminal en je zult zien dat je wordt geraspt door een fout van de shell, zeggende -sh: netstat: niet gevonden.

  1. Je eerste stap zal altijd zijn, om de Opkg-lijsten bij te werken, zodat je de nieuwste pakketten uit de repository hebt:

    opkg-update

  2. Als u niet weet welk pakket de opdracht netstat bevat, kunt u de resultaten filteren met.

    opkg lijst | grip netstat

  3. En installeer nu netstat met behulp van:

    opkg installeer net-tools-netstat

    En nu, als je het netstat-commando opnieuw uitvoert, werkt het ... netjes, ha? :)

Tot de toekomstige artikelen waarin we softwarepakketten met deze methode zullen installeren en configureren, zult u veel nerdsplezier hebben bij het verkennen van de enorme hoeveelheid software die nu binnen handbereik is.


Als zo'n machine een virtuele onmogelijkheid is, moet het logischerwijs een eindige onwaarschijnlijkheid zijn. Dus alles wat ik moet doen om er een te maken, is uitzoeken hoe precies onwaarschijnlijk het is, dat cijfer in de eindige onwaarschijnlijkheidsgenerator invoeren, het een verse kop echt hete thee geven en het aanzetten ... ... ... . .. … .. .. Het enige wat ze echt niet leuk vinden, is een Smart-Ass.

Meer verhalen

Amazon's nieuwe Kindle Fire-tablet: de How-To Geek Review

We hebben onze Kindle Fire een paar dagen geleden gekregen en sindsdien hebben we gepord, gepord en in het algemeen geprobeerd erachter te komen hoe we het konden breken. Voordat je eropuit gaat en je eigen koopt, bekijk dan onze diepgaande beoordeling.

InstantWild: identificeer dieren van over de hele wereld; Help wetenschappers

Webgebaseerd/iPhone: InstantWild is een iOS- en webtoepassing die onderzoekscamera's van over de hele wereld weergeeft; help wetenschappers door uw eco-voyeurisme om te zetten in een positieve identificatie van bedreigde diersoorten.

Vertraging in Google Reader oplossen door Google Plus-knop te blokkeren

Chrome: Veel Google Reader-fans hebben sinds de upgrades van vorige maand gemerkt dat de service ondraaglijk traag is. Versnel dingen door de Google Plus-knop te blokkeren.

Hoe u uw cd/dvd-station uit het bureaubladcontextmenu kunt verwijderen

Als u USB-drives veilig van uw bureaublad wilt verwijderen, hebben we dat ook voor u.

Vraag het de lezers: favoriete tool voor webclipping?

Bladwijzers maken is geweldig als u een link later wilt bezoeken, maar wat als u de pagina zelf wilt opslaan om later te bekijken? Deze week willen we alles horen over uw favoriete webclipping-tool en hoe u deze gebruikt om te lezen wat u wilt, wanneer u het wilt.

De toekomst volgens films [Infographic]

Benieuwd hoe de toekomst eruit zal zien? Volgens filmregisseurs, die hun lens werpen op de toekomst van de mensheid, is het nogal een allegaartje. Bekijk deze infographic tijdlijn om de volgende 300.000 jaar menselijke evolutie te bekijken.

Root en installeer ADB op je Kindle Fire met SuperOneClick

De Kindle Fire, vers in de handen van consumenten in het hele land, is al geroot en toegankelijk met ADB.

Hoe u uw computer elke X seconden op een toets kunt laten drukken

Heb je ooit om de paar seconden of om de paar minuten op een toets moeten drukken? Misschien speel je een videogame en wacht je op een item, of heb je een andere reden. Hoe dan ook, hier leest u hoe u uw pc dit automatisch kunt laten doen.

Gmail instellen voor aangepaste domeinen in de e-mailapp van Kindle Fire

Als je net je glimmende nieuwe Kindle Fire hebt geopend en hebt geprobeerd deze met Gmail te verbinden met je eigen aangepaste (niet @gmail.com) e-mailadres, staat je misschien voor een verrassing: de e-mailaccountwizard heeft geen idee hoe dit scenario, zelfs als u in het begin Gmail kiest. Hier leest u hoe u dit kunt oplossen.

Gebruik uw Android-telefoon om te vergelijken: 4 scanner-apps beoordeeld

Een smartphone op zak is geweldig voor nieuws onderweg, surfen op het web en natuurlijk mobiel gamen. Het is ook fantastisch om te vergelijken. Vandaag bekijken we vier Android-scanners en prijsvergelijkers.