Haal nog meer kracht uit uw thuisrouter met DD-WRT Mod-Kit

ontketen-nog-meer-kracht-van-je-huis-router-met-ddwrt-modkit foto 1
We hebben je al laten zien hoe je je thuisrouter kunt aanpassen met de DD-WRT alternatieve firmware voor sterk verbeterde prestaties, en vandaag laten we je zien hoe je nog verder kunt gaan met de DD-WRT Mod-Kit.

Als je dat nog niet hebt gedaan, kijk dan zeker eens naar de twee vorige artikelen in de serie:

  • Verander uw thuisrouter in een superkrachtige router met DD-WRT
  • Hoe u uw wifi-netwerksignaal kunt versterken en het bereik kunt vergroten met 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.

Overzicht

Deze handleiding geeft een stapsgewijs overzicht van hoe u uw eigen DD-WRT-firmware kunt maken met aanpassingen en toevoegingen met behulp van de firmware-modificatiekit.

Met de firmware-modificatiekit kan men wijzigingen aanbrengen in de firmware zonder deze vanaf de bron te compileren. Op deze manier wijzigingen aanbrengen, met behulp van de meegeleverde scripts, wordt een kwestie van het downloaden, vervangen en verwijderen van enkele bestanden.

De belangrijkste reden om deze methode te gebruiken is omdat de laatste tijd de ondersteuning van DD-WRT voor de Openwrt IPKG-pakketten is verschoven naar routers met harde schijven (via USB), waardoor de mod-kit de enige consistent werkende manier is om de IPKG-pakketten met succes te installeren voor gevallen waarin een HD niet beschikbaar is. Bovendien heeft deze methode als bijkomend voordeel dat het u verlost van de JFFS-afhankelijkheid voor de installatie van pakketten, wat voor routers met slechts 4 MB flash een echt probleem is.

Foto door publicenergy

doelen

Hoewel de instructies voor deze procedure gedetailleerd zijn op de DD-WRT-wiki en op de site van de ontwikkelaar, streven we ernaar om van deze handleiding een kopieer- en plakprocedure te maken die iedereen kan gebruiken om de volgende doelen te bereiken:

  • Installeer het knockd-pakket en zijn afhankelijkheden.
  • Installeer het ssmtp-pakket met op NVRAM gebaseerde gegenereerde configuraties.
    • Optioneel met ondersteuning voor TLS smtp (ook wel Gmail-ondersteuning genoemd).

Als u deze procedure eenmaal hebt gevolgd, zou het relatief eenvoudig moeten zijn om deze aan te passen voor andere pakketteninstallaties.

Waarschuwing: Loop voorzichtig ... houd er rekening mee dat onjuist gebruik van de aanpassingskit u kan achterlaten met een router die moet worden verwijderd (omdat deze er vervolgens een nutteloze steen van maakt). Maar als je een echte nerd bent, onderschrijf je waarschijnlijk de ideologie dat, hij die iets kan vernietigen, iets controleert, en alleen echte nerds doen dat ontketen-nog-meer-kracht-van-je-huis-router-met-ddwrt-modkit foto 3

Vereisten

  1. Het gebruik van deze procedure kan uw router blokkeren, omdat we uw router onbruikbaar maken, en nemen wij geen verantwoordelijkheid voor enige schade die direct of anderszins kan worden veroorzaakt door het gebruik van de onderstaande procedures.
  2. Deze procedure is uitgevoerd op op Debian gebaseerde systemen (Lenny, Squeeze en Mint) en de onderstaande instructies gaan ervan uit dat u er ook een gebruikt.
  3. Deze procedure wordt alleen aanbevolen voor mensen die ervaring hebben met het flashen van hun router met DD-WRT, met alle vereisten, voorbehouden en beperkingen die van toepassing zijn op hun hardwareconfiguratie. een goede plek om te beginnen is onze Turn Your Home Router Into a Super-Powered Router with DD-WRT guide.
  4. Je router moet minimaal de miniversie van DD-WRT ondersteunen.
  5. Deze procedure is gemaakt en getest op Linksys WRT54GS/L-routers, als u routers van andere leveranciers gebruikt, kan uw kilometerstand erg oplopen.

Opstelling

Vereiste pakketten installeren

De firmware-modificatiekit heeft enkele afhankelijkheden om te compileren en te werken. Om ze allemaal tegelijk te installeren/bijwerken Geef deze opdracht in een terminal:

|__+_|

Download de mod-kit

Maak een submap en haal de kit van de officiële SVN:

|__+_|

Download een firmware om aan te werken

Het eerste dat u moet overwegen, is welke versie u wilt gebruiken?
Een vuistregel is: gebruik bij twijfel mini. Dit komt omdat, zolang je router ten minste de miniversie ondersteunt, het gebruik ervan je alle meest gebruikte functies geeft zonder bloatware. waardoor er in de meeste gevallen zowel ruimte overblijft voor de procedures als zelfs wat JFFS-ruimte voor ander gebruik.

Als je eenmaal een versie hebt gekozen, is het aan te raden om de nieuwste revisie van de beschikbare firmware te gebruiken, omdat ze vaak veel bugfixes hebben in vergelijking met hun stabiele tegenhangers.
Op het moment van schrijven was de laatste 03-17-11-r16454 en deze revisie wordt gebruikt in de volgende commando's.

|__+_|

Om het gemakkelijker te maken om bij te houden welke versie we gebruiken, hernoemt u het gedownloade bestand naar het versienummer:

|__+_|

Dit is natuurlijk optioneel, maar de onderstaande commando's gaan ervan uit dat je het bestand hebt hernoemd.

De firmware uitpakken

Om bestanden in de firmware te kunnen wijzigen, moeten we de inhoud uitpakken in een tijdelijke map.
De syntaxis van dit commando is:
./extract_firmware.sh FIRMWARE_IMAGE WORKING_DIRECTORY
In ons geval zou dit vertalen naar:

|__+_|

Opmerking: de eerste keer dat u deze opdracht uitvoert, worden de mod-kit-tools op uw systeem gebouwd. dit gebeurt maar één keer en kan even duren... dus wees geduldig...

Pakketten installeren

Nu de firmware is uitgepakt, kunnen we de pakketten erop installeren.
Over het algemeen is de procedure om het pakket en zijn afhankelijkheden te downloaden in de vorm van een ipk-bestand uit de openWRT-repository. Installeer ze na het downloaden in de uitgepakte firmware met behulp van het meegeleverde script.

Het klopte pakket

Gedetailleerde instructies voor het configureren en gebruiken van Knockd zullen in een toekomstig artikel worden beschreven, dus u kunt ervoor kiezen om deze stap voor nu over te slaan of het te doen ter voorbereiding op de toekomst, aangezien Knockd sowieso niet veel ruimte in beslag neemt.

Knockd is een daemon die luistert naar communicatiegebeurtenissen op de linklaag voor sequenties en er vervolgens op reageert.
Wat dit betekent, is dat je het apparaat waarop de daemon draait, niet eens op de poorten kunt laten luisteren (een poortscan zal ze niet als open zien) en het toch iets laten doen wat je nodig hebt, van een enkele opdracht tot een volledige scriptie. Met behulp van deze techniek kunt u de server activeren om elke gewenste bewerking op afstand (via internet) uit te voeren zonder uw thuisnetwerk bloot te stellen.

Knockd heeft slechts één vermelde afhankelijkheid, dus download het pakket en zijn afhankelijkheid door het volgende uit te geven:

|__+_|

Installeer de knock-daemon (knockd) ipk in de firmware:

|__+_|

Installeer de packet capture (libpcap) ipk in de firmware:

|__+_|

Omdat knockd kan worden aangeroepen met een alternatief configuratiebestand (hoe zal in een toekomstig artikel worden uitgelegd), is het niet nodig om een ​​andere bewerking uit te voeren en kunt u doorgaan naar het gedeelte over het bouwen van firmware, als dit alles is wat u wilde installeren.

Het SSMTP-pakket

Met het SSMTP-pakket kan uw router e-mailberichten verzenden, net zoals we hebben laten zien in onze Hoe e-mailwaarschuwingen op Linux in te stellen met Gmail of SMTP voor servers. We hebben je toen beloofd dat we zullen laten zien hoe je dit kunt configureren voor DD-WRT en we zullen nu leveren.
Dit is vooral handig als u scripts op de router gaat maken waarvan u via e-mail feedback over hun werking wilt ontvangen.

De setup van dit pakket is iets complexer dan op normale Linux-systemen vanwege de beperking die wordt opgelegd door een embedded systeem, dus haal diep adem... klaar?.... laten we gaan… :)

Download het pakket:

|__+_|

Installeer de ssmtp ipk in de firmware:

|__+_|

TLS-ondersteuning (optioneel)
SSMTP vermeldt geen andere pakketten als zijn afhankelijkheden, maar als u een smtp-gateway wilt gebruiken die TLS-authenticatie vereist (bijv. Gmail), moet u ook het openSSL-pakket installeren.
Opmerking: er is een ENORM nadeel om dit later te doen in de vorm van aanzienlijk verminderde ruimte op de router voor JFFS. Dat wil zeggen, het openSSL-pakket neemt ongeveer 500K aan ruimte in beslag van uw totaal van 4 MB (voor een normale niet-mega-ondersteunende router), aangevuld met de JFFS-overhead en u zult ontdekken dat u overblijft met, maar een kostbaar paar, blokken gratis JFFS ruimte (ongeveer 60 KB op WRT54GL).

Aangezien er nog steeds niet-TLS-smtp-servers zijn die er zijn (meestal uw ISP's), raad ik aan even de tijd te nemen om na te denken of u echt de TLS-vereist gateway moet gebruiken.

Als je ondanks het nadeel hebt besloten om TLS-ondersteuning in te schakelen, download dan het openSSL-pakket:

|__+_|

Installeer de openSSL (libopenssl) ipk in de firmware:

|__+_|

Configuraties
Er is een beperking met het SSMTP-pakket, dat het niet mogelijk is om het aan te roepen met een alternatief configuratiebestand.
Omdat de firmware alleen-lezen is wanneer deze zich op de router bevindt, betekent dit dat we de configuratie uit de doos alleen kunnen hardcoderen in de firmware.
Maar wat als we niet alle stappen voor het wijzigen van de firmware willen doorlopen, alleen om de e-mailinstellingen te wijzigen? (bijvoorbeeld een wachtwoordwijziging).

Daartoe kwamen zowel Jeremy (de maker van de firmware-mod-kit) als ikzelf tot de conclusie (onafhankelijk als ik nederig mag toevoegen) dat de enige verstandige manier om dit te doen zou zijn om:

  1. Zorg ervoor dat de locatie van de configuratiebestanden waarnaar het ssmtp-pakket verwijst naar de alleen-lezen locatie onder enz., wijst naar de tmp-map waarnaar tijdens runtime kan worden geschreven.
  2. Maak een script dat bij het opstarten dynamisch de configuraties genereert op basis van NVRAM-variabelen.

Om dat te bereiken zijn een aantal extra stappen nodig...

Symlink de ssmtp-configuratiemap
Zoals hierboven uitgelegd, moeten we de /etc/ssmtp-locatie op de router maken, wijzend naar de /tmp-directory als de enige beschrijfbare plaats die we tijdens runtime op de router hebben. Om dit te doen, verwijdert u de ssmtp-map die is gemaakt door het ipk-installatieprogramma:

|__+_|

Maak een nieuwe symbolische link die de /etc/ssmtp naar het rootbestandssysteem van de router wijst, om naar /tmp/etc/ssmtp te verwijzen als een absoluut pad:

|__+_|

Opmerking: hoewel dit er op dit moment onlogisch uitziet, omdat we de configuratiemap van het pakket naar een locatie buiten de werkmap van de firmwaremodificatiekit verwijzen, verzeker ik je dat dit er vanuit het oogpunt van de router tijdens runtime helemaal goed uitziet.

Een init-script
Hoewel het heel goed mogelijk is om dit script niet in de firmware te injecteren en het later als opstartscript uit te voeren, vind ik het gepast om het hier te plaatsen, al was het maar als voorbeeld voor toekomstig gebruik.
Oorspronkelijk maakte Jeremy het script op maat van iemands verzoek, later heb ik het aangepast en uitgebreid om meer compatibel te zijn met DD-WRT en syslog-rapportage.

Maak het nieuwe init (opstart) script:

|__+_|

Opmerking: je kunt een andere editor gebruiken, ik gebruik vi omdat het consistent is met wat beschikbaar is op de router ...
Maak dit de inhoud:

|__+_|

|__+_|

|__+_|

|__+_|

|__+_|

|__+_|

Maak het uitvoerbaar:

|__+_|

Let op de NVRAM-wachtvariabelen in het script, het is onze verantwoordelijkheid om ze iets te geven om mee te werken nadat we onze aangepaste firmware op de router hebben geïnstalleerd.

Bouw de gewijzigde firmware

Nu alles op zijn plaats is, is het tijd om de gewijzigde firmware opnieuw in te pakken in een gecomprimeerd binair bestand dat we naar de router kunnen flashen.
De syntaxis van het build.sh-script is:
./build_firmware.sh OUTPUT_DIR WORKING_DIRECTORY

Om dit te doen gebruiken we het meegeleverde script, dus geef uit:

|__+_|

Nadat de bouwbewerking is voltooid, wachten er verschillende firmware-afbeeldingen in de uitvoermap om te worden gebruikt.

U kunt nu het bestand met de naam custom_image_00001-generic.bin naar uw router flashen zoals u normaal zou doen met een DD-WRT-firmware.

Opmerking: vergeet niet om voor, tijdens en direct na het flashen van de firmware de fabrieksinstellingen te herstellen.

Stappen na flash

Omdat we het SSMTP-pakket hebben laten zoeken naar NVRAM-variabelen om het ssmtp-configuratiebestand te genereren, moeten we het nu voorzien van de ontbrekende informatie.
We zullen dit bereiken door de functie web-GUI Run-opdrachten te gebruiken.

Ga naar de web-GUI -> beheer -> opdrachten -> plak in het tekstvak het volgende:

|__+_|

Vervang de tekst na het gelijkteken (=) door uw werkelijke informatie, en druk vervolgens op Run-commando's.
Opmerking: als u een normale smtp-server gebruikt die geen TLS gebruikt, is de te gebruiken poort 25 in plaats van 587.

Nu de SSMTP-informatie klaar is voor gebruik, moet u het init-script aanroepen. U kunt dus ofwel de router opnieuw opstarten, of dit in het tekstvak met opdrachten plakken:

|__+_|

Druk vervolgens nogmaals op Commando's uitvoeren.
De uitvoer van deze opdracht zou er als volgt uit moeten zien:

ontketen-nog-meer-kracht-van-je-huis-router-met-ddwrt-modkit foto 4

Test dat u e-mail kunt verzenden
Plak dit opnieuw in het tekstvak commando's het volgende commando met je e-mailadres:

|__+_|

Druk vervolgens nogmaals op Commando's uitvoeren.
Omdat we de optie -vvv hebben gebruikt voor extra breedsprakigheid, zou de uitvoer van dit commando er als volgt uit moeten zien:

Als alles goed is gegaan, zou u de test-e-mail binnen enkele seconden moeten ontvangen.

We hopen dat je deze informatie kunt gebruiken om de limieten van je thuisrouter nog verder te verleggen dan je voor mogelijk had gehouden en dat je nu echt je thuisrouter bestuurt, en DD-WRT...


Linux verlengt het leven, Linux vergroot het bewustzijn ... Linux is van vitaal belang voor pakketreizen

Meer verhalen

8-bit Death: A Compilation Classic Arcade Game Fatalities [Video]

Je kwartjes zijn al lang in de machine verzonken, je stampt in een razend tempo op knoppen en dan gebeurt het: de 8-bit reaper komt voor jou. Bekijk deze video-remix van tientallen en tientallen klassieke videogame-arc...

Vrijdagpret: Roadkill Revenge

Ben je toe aan wat stressvermindering na een lange werkweek? Maak je dan klaar om op pad te gaan met het spel van deze week en help deze dieren om een ​​welverdiende wraak te nemen voor de dood van hun konijnenvriend.

Gratis download: het complete werk van H.P. Lovecraft in eBook-formaat

Als je een fan bent van de grote Amerikaanse auteur H.P. Lovecraft, dit is een must-download. En als je zijn werk nog nooit hebt gelezen, is dit je kans: er zijn versies die op bijna elk e-readerapparaat zouden moeten werken.

Pas de gebruikersinterface van Firefox 4.0 aan om een ​​unieke, gepersonaliseerde browser voor uw systeem te maken

De nieuwe gebruikersinterface in Firefox 4.0 ziet er strak uit en is gebruiksvriendelijk, maar wat als u deze naar een geheel nieuw niveau wilt aanpassen? Met behulp van de Stratiform-extensie kunt u het uiterlijk van de gebruikersinterface wijzigen en ervoor zorgen dat deze goed past bij uw fa...

Deze week in de geschiedenis van geek: geboorte van Twitter, 10e verjaardag van OS X en het langste verblijf in de ruimte komt tot een einde

Elke week brengen we je interessante weetjes en mijlpalen uit de archieven van Geekdom. Vandaag nemen we een kijkje bij de geboorte van Twitter, tien jaar Mac OS X en het langste ruimteverblijf in de geschiedenis.

DIY PSU voedt een lichtgewicht thuisserver

Als u probeert de stroom die uw thuisserver naar beneden zuigt te verminderen, kan deze doe-het-zelf-voedingseenheid in combinatie met een energiezuinig moederbord het stroomverbruik van uw server terugbrengen tot netbook-niveaus.

Uit de doos met tips: Shifting Letter Case in MS Word, programmacompatibiliteit onder Windows 7 64-bit en Easy Phone-gebaseerde torrenting

Het is tijd om in de tipsbox te duiken en te delen vanuit de schat aan lezerskennis. Vandaag kijken we naar een eenvoudige manier om hoofdletters in MS Word te wijzigen, compatibiliteitsproblemen onder Windows 7 64-bit op te lossen en uw torrents vanaf uw smartphone te besturen.

Moodagent maakt op stemming gebaseerde muziekafspeellijsten

Moodagent, een platformonafhankelijke en mobiele applicatie, maakt muziekafspeellijsten op basis van je stemming. Vertel het hoe je je voelt en het kiest nummers die je emotionele toestand weerspiegelen.

Inside the Business of Malware [Infographic]

Niemand houdt van malware en iedereen wil infectie vermijden, maar waarom precies? Bekijk dit stroomschema voor malware-bedrijven om precies te zien wat u vermijdt wanneer u uzelf tegen malware beschermt.

Hoe u uw wifi-netwerksignaal kunt versterken en het bereik kunt vergroten met DD-WRT

Draadloos is echt handig totdat je je verbinding verbreekt of echt lage snelheden krijgt. Dankzij DD-WRT is het eenvoudiger dan ooit om het bereik van uw thuisnetwerk uit te breiden met een paar eenvoudige aanpassingen en een reserverouter.