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

Sep 15, 2025
Hardware
ONGECAAKTE CONTENT


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, lees dan de twee vorige artikelen in de serie:

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

Overzicht

In deze gids wordt stap voor stap beschreven hoe u uw eigen DD-WRT-firmware kunt maken met wijzigingen en toevoegingen met behulp van de “ firmware modificatie kit “.

De firmware-modificatiekit stelt iemand in staat om wijzigingen aan de firmware aan te brengen zonder deze vanaf de bron te compileren. Op deze manier wijzigingen aanbrengen, met behulp van de meegeleverde scripts, wordt een kwestie van downloaden, vervangen en verwijderen van enkele bestanden.

De meest overheersende reden om deze methode te gebruiken is omdat de laatste tijd DD-WRT's ondersteuning voor de Openwrt IPKG-pakketten zijn 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 het extra voordeel dat u wordt ontlast van de JFFS-afhankelijkheid voor het installeren van pakketten, wat voor routers met slechts 4 MB flash een echt probleem is.

Foto door publicenergy

Doelen

Hoewel instructies voor deze procedure worden beschreven op DD-WRT-wiki en op de ontwikkelaarssite willen we van deze handleiding een kopieer- en plakprocedure 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 bekend als Gmail-ondersteuning).

Als u deze procedure eenmaal heeft gevolgd, zou het relevant eenvoudig moeten zijn om deze aan te passen voor andere pakketinstallaties.

Waarschuwing : Wees voorzichtig… houd er rekening mee dat bij onjuist gebruik van de aanpassingskit u een router overhoudt die het nodig heeft de-brick-ing (zoals op zijn beurt in een nutteloze baksteen ). Maar als je een echte nerd bent, onderschrijf je waarschijnlijk de ideologie dat, hij die iets kan vernietigen, beheerst een ding , en alleen echte nerds doen dat

Vereisten

  1. Met behulp van deze procedure kan steen uw router, zoals in uw router onbruikbaar, wij nemen geen verantwoordelijkheid voor enige schade die direct of anderszins veroorzaakt kan worden door het gebruik van de onderstaande procedures.
  2. Deze procedure werd 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 hardware-installatie. een goede plek om te beginnen zou onze zijn Verander uw thuisrouter in een superkrachtige router met DD-WRT gids.
  4. Uw router moet minimaal de "mini" -versie 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 aantal kilometers erg hoog zijn.

Opstelling

Vereiste pakketten installeren

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

sudo aptitude install gcc g ++ binutils patch bzip2 flex bison make gettext unzip zlib1g-dev libc6 subversion

Download de mod-kit

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

mkdir firmware_mod_kit
cd firmware_mod_kit
svn afrekenen http://firmware-mod-kit.googlecode.com/svn/trunk/ firmware-mod-kit-alleen-lezen
cd firmware-mod-kit-alleen-lezen / trunk /

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 tenminste de "mini" -versie ondersteunt, het gebruik je alle meest gebruikte functies geeft zonder enige bloatware. waardoor er zowel ruimte overblijft voor de procedures als zelfs wat JFFS-ruimte voor andere toepassingen in de meeste gevallen.

Als je eenmaal een versie hebt gekozen, wordt het aanbevolen om de laatste revisie van de beschikbare firmware te gebruiken, aangezien deze vaak veel bugfixes hebben in vergelijking met hun 'stabiele' tegenhangers.
Op het moment van schrijven was de laatste versie "03-17-11-r16454" en deze revisie wordt gebruikt in de opdrachten die volgen.

wget http://www.dd-wrt.com/dd-wrtv2/downloads/others/eko/BrainSlayer-V24-preSP2/2011/03-17-11-r16454/broadcom/dd-wrt.v24_mini_generic.bin

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

mv dd-wrt.v24_mini_generic.bin dd-wrt.v24_mini_generic-03-17-11-r16454.bin

Dit is natuurlijk optioneel, maar de onderstaande opdrachten gaan ervan uit dat u het bestand een andere naam heeft gegeven.

Extraheren van de firmware

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

./extract_firmware.sh dd-wrt.v24_mini_generic-03-17-11-r16454.bin ./working_dir_mini1

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.
In het algemeen is de procedure om het pakket en zijn afhankelijkheden te downloaden in de vorm van een ipk-bestand van het openWRT-opslagplaats . Na het downloaden installeert u ze in de uitgepakte firmware met behulp van het meegeleverde script.

Het knockd-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 nu over te slaan of dit ter voorbereiding op de toekomst te doen, aangezien Knockd sowieso niet veel ruimte inneemt.

Knockd is een daemon die luistert naar communicatiegebeurtenissen op de linklaag voor sequenties en daarop reageert.
Wat dit betekent, is dat het apparaat de daemon niet eens kan laten "luisteren" naar de poorten (een poortscan zal ze niet als open zien) en toch iets laten doen wat je nodig hebt, met een enkele opdracht alle omhoog naar een volledig script. Met behulp van deze techniek je zou de server kunnen triggeren om elke bewerking die je nodig hebt op afstand (via internet) uit te voeren zonder je thuisnetwerk bloot te stellen.

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

wget http://downloads.openwrt.org/backports/rc5/knockd_0.5-1_mipsel.ipk
wget http://downloads.openwrt.org/whiterussian/packages/libpcap_0.9.4-1_mipsel.ipk

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

./ipkg_install.sh knockd_0.5-1_mipsel.ipk ./working_dir_mini1/

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

./ipkg_install.sh libpcap_0.9.4-1_mipsel.ipk ./working_dir_mini1/

Aangezien "knockd" kan worden aangeroepen met een alternatief configuratiebestand (hoe wordt uitgelegd in een toekomstig artikel), is het niet nodig om een ​​andere bewerking uit te voeren en kunt u naar de sectie Firmware bouwen gaan, 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 ons E-mailwaarschuwingen instellen op Linux met Gmail of SMTP voor servers. We hebben je toen beloofd dat we zullen laten zien hoe je dit voor DD-WRT kunt configureren en we zullen het nu leveren.
Dit is vooral handig als je scripts gaat maken op de router waarvan je feedback wilt ontvangen over hun werking via e-mail.

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

Download het pakket:

wget http://downloads.openwrt.org/backports/rc5/ssmtp_2.61-1_mipsel.ipk

Installeer de "ssmtp" ipk in de firmware:

./ipkg_install.sh ssmtp_2.61-1_mipsel.ipk ./working_dir_mini1/

TLS-ondersteuning (optioneel)
SSMTP vermeldt geen andere pakketten als zijn afhankelijkheden, maar als u een smtp-gateway wilt kunnen gebruiken die TLS-authenticatie vereist (bijv. Gmail ), moet u ook het openSSL-pakket installeren.
Notitie : Er is een ENORME 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 dat van de JFFS-overhead en u zult ontdekken dat u nog maar een paar kostbare blokken van vrije JFFS-ruimte (ongeveer 60 KB op WRT54GL).

Aangezien er nog steeds niet-TLS zijn die smtp-servers vereisen (meestal uw ISP's), raad ik u aan even te bedenken of u echt de TLS-vereiste gateway moet gebruiken.

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

wget http://downloads.openwrt.org/whiterussian/packages/libopenssl_0.9.8d-1_mipsel.ipk

Installeer de "openSSL" (libopenssl) ipk in de firmware:

./ipkg_install.sh libopenssl_0.9.8d-1_mipsel.ipk ./working_dir_mini1/

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 standaard alleen in de firmware kunnen coderen.
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 firmwaremod-kit) als ikzelf tot de conclusie (onafhankelijk als ik nederig mag toevoegen) dat de enige verstandige manier om dit te doen zou zijn:

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

Om dat te bereiken, zijn enkele aanvullende stappen vereist ...

Symlink de ssmtp-configuratiemap
Zoals hierboven uitgelegd, moeten we de / etc / ssmtp locatie op de router, wijs 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:

rm -rf ./working_dir_mini1/rootfs/etc/ssmtp/

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

ln -s / tmp / etc / ssmtp / ./working_dir_mini1/rootfs/etc/ssmtp

Notitie : Hoewel dit op dit moment onlogisch lijkt, omdat we de configuratiedirectory van het pakket naar een locatie buiten de werkdirectory van de firmwaremodificatiekit verwijzen, kan ik u verzekeren dat dit er tijdens runtime vanuit het oogpunt van de routers helemaal goed uitziet.

Een init-script
Hoewel het volledig 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 een voorbeeld voor toekomstig gebruik.
Oorspronkelijk creëerde 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 (startup) -script:

vi ./working_dir_mini1/rootfs/etc/init.d/S80ssmtp

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

#! / bin / sh
#
# titel: ssmtp_nvram.sh
# auteur: Jeremy Collake en Aviad Raviv
# site: http://www.bitsum.com, http://howtogeek.com
#
# script om een ​​configuratiebestand op te bouwen vanuit nvram-vars.
# werkt voor elk configuratiebestand dat
# var = waarde type paren.
#
# gebruikt voorvoegsels voor nvram-variabelen.
#
# и.е.
# ssmtp hostnaam = iets
# vertaalt naar ssmtp.conf
# hostnaam = iets
#
logger_func()
{
logger -s -p local0.notice -t SSMTP_init $ 1
}

logger_func "########### Start de SSMTP init run ###########"
logger_func "Creëren van de etc directory in / tmp"
[ ! -d /etc/ssmtp/ ] && mkdir -p / tmp / etc / ssmtp /
CONFIG_FILE = / etc / ssmtp / ssmtp.conf
NVRAM_PREFIX = ssmtp_
PACKAGE_NAME = ʻecho $ NVRAM_PREFIX | sed 's / _ / /' '

logger_func "Genereert $ CONFIG_FILE voor pakket $ PACKAGE_NAME"
#echo $ 0: $ CONFIG_FILE genereren voor pakket $ PACKAGE_NAME
echo "#! / bin / sh"> $ CONFIG_FILE
echo "#" >> $CONFIG_FILE
echo "# automatisch gegenereerd op basis van nvram door $ 0" >> $ CONFIG_FILE
echo "#" >> $CONFIG_FILE

als [ -z "`nvram show | grep ssmtp`" ]
vervolgens
logger_func "Het lijkt erop dat u niet de NVRAM-variabelen heeft ingesteld die nodig zijn om het conf-bestand te genereren"
logger_func "** Overweeg ** het gebruik van deze opdrachten in uw opstartscript:"
logger_func "nvram set [email protected]"
logger_func "nvram set ssmtp_mailhub = smtp.gmail.com: 587"
logger_func "nvram set [email protected]"
logger_func "nvram set ssmtp_UseSTARTTLS = YES"
logger_func "nvram set ssmtp_AuthUser = gebruikersnaam"
logger_func "nvram set ssmtp_AuthPass = wachtwoord"
logger_func "nvram set ssmtp_FromLineOverride = YES"
logger_func "creëer de NVRAM-variabelen en voer het init-script opnieuw uit of start opnieuw op om de instellingen van kracht te laten worden."
afrit 0
worden

###########################################################
#
# Hoofdlus
#
SED_COMMAND = "s / $ NVRAM_PREFIX / /"
CONFIG_VARS = `nvram tonen | grep $ NVRAM_PREFIX | sed "$ SED_COMMAND" ``
voor i in $ CONFIG_VARS; Doen
echo $ i >> $ CONFIG_FILE
gedaan

###########################################################
#
# geestelijke gezondheidscontrole
#
als [ ! -f "$CONFIG_FILE" ]; vervolgens
# echo "$ 0: ERROR - kon $ CONFIG_FILE niet aanmaken. Misschien is er geen symink / etc / XXXX -> / tmp / etc / XXXX?"
logger_func "ERROR - kon $ CONFIG_FILE niet aanmaken. Misschien is er geen symink / etc / XXXX -> / tmp / etc / XXXX?"
worden
logger_func "########### Voltooid de SSMTP init run ###########"

Maak het uitvoerbaar:

chmod + x ./working_dir_mini1/rootfs/etc/init.d/S80ssmtp

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 te verpakken in een gecomprimeerd binair bestand dat we naar de router kunnen flashen.
De scriptsyntaxis "build.sh" is:
./build_firmware.sh OUTPUT_DIR WORKING_DIRECTORY

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

./build_firmware.sh output_mini1 ./working_dir_mini1/

Zodra de "build" -bewerking is voltooid, staan ​​er verschillende firmwarebeelden klaar om te worden gebruikt in de "output" -directory.

U kunt nu het bestand “custom_image_00001-generic.bin” naar uw router flashen als normaal gesproken zou u een DD-WRT-firmware gebruiken .

Notitie : Vergeet niet te herstellen naar de "fabrieksinstellingen" voor, tijdens en direct na het flashen van de firmware.

Post flitsstappen

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 web-GUI "Run commands" -functie te gebruiken.

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

nvram stelt [email protected] in
nvram ingesteld ssmtp_mailhub = smtp.gmail.com: 587
nvram stelt [email protected] in
nvram stelt ssmtp_UseSTARTTLS = JA in
nvram set ssmtp_AuthUser = uw-gmail-gebruikersnaam (zonder de @ gmail.com)
nvram set ssmtp_AuthPass = je-gmail-wachtwoord
nvram stelt ssmtp_FromLineOverride = JA in
nvram vastleggen

Vervang de tekst na het gelijkteken (=) door uw feitelijke informatie en klik vervolgens op "Uitvoeren van opdrachten".
Notitie : als u een normale, niet-TLS-gebruikende, smtp-server 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 "opdrachten" plakken:

/etc/init.d/S80ssmtp

Druk vervolgens opnieuw op "Run-opdrachten".
De uitvoer van deze opdracht zou er als volgt uit moeten zien:

Test dat u e-mail kunt verzenden
Plak dit opnieuw in het tekstvak "opdrachten" het volgende commando met uw e-mailadres:

echo "testkroes e-mailen 123 qwe" | ssmtp -vvv [email protected]

Druk vervolgens opnieuw op "Run-opdrachten".
Omdat we de optie -vvv hebben gebruikt voor extra uitgebreidheid, zou de uitvoer van dit commando er als volgt uit moeten zien:

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

We hopen dat u deze informatie kunt gebruiken om de limieten van uw thuisrouter nog verder te verleggen dan u voor mogelijk had gehouden en nu echt controle over uw thuisrouter en DD-WRT


Linux verlengt het leven, Linux vergroot het bewustzijn ... Linux is essentieel voor pakketreizen

.entry-inhoud .entry-footer

How To Install Dd-wrt On A Linksys WRT54GL Router

How To Install DD-WRT On A Wireless Router - Techneek TV

DD-WRT Install (Supercharge) TP Link TL-WDR 4300 N750 Dual Band Router


Hardware - Meest populaire artikelen

Hoe u harde schijven selecteert voor uw thuis-NAS

Hardware Mar 15, 2025

Als je erover nadenkt om in het NAS-spel te springen en op zoek bent naar harde schijven met een hoge capaciteit, dan is niet elke harde schijf voldoende. Dit is wat u moet weten. ..


Dolby Atmos Surround Sound gebruiken op Windows 10

Hardware Jun 8, 2025

Creators Update van Windows 10 ondersteuning toegevoegd voor positioneel geluid van Dolby Atmos. Dit omvat twee dingen: ondersteuning voor Dolby Atmos-hardware en virtue..


Uw Chromebook bijwerken bij gebruik van een mobiel netwerk

Hardware May 25, 2025

ONGECAAKTE CONTENT Er zijn tal van Chromebooks om uit te kiezen, en veel gebruikers kiezen ervoor om er een van hun primaire (en enige) laptop te maken. Hoewel een handvol moderne..


Wat is de gamemodus in de Windows 10 Creators-update?

Hardware Apr 19, 2025

ONGECAAKTE CONTENT De Windows 10-makersupdate -welke u kunt handmatig krijgen als het nog niet naar u is uitgerold - brengt een nieuwe "Spelmodus" me..


Hoe u krakend of knallend geluid op een Windows-pc kunt oplossen

Hardware Jul 12, 2025

Krakende, knallende en andere geluidsproblemen kunnen om verschillende redenen optreden. Mogelijk kunt u het probleem oplossen door de instellingen van uw audioapparaat aan te passe..


Hoe u uw router en de modem / router-combinatie van uw internetprovider achter elkaar gebruikt

Hardware Jul 10, 2025

Als u uw eigen router gebruikt naast de modem / router-combinatie die uw internetprovider u heeft gegeven, is de kans groot dat u uzelf onbedoeld enorme hoofdpijn en een groot aanta..


Hoe u uw smartphone oplaadt zonder toegang tot elektriciteit

Hardware Jun 30, 2025

ONGECAAKTE CONTENT Op dit punt is het 's nachts opladen van je telefoon voor een oplaadbeurt ongeveer net zo alledaags als tandenpoetsen of douchen ... maar wat zou je doen als er..


Pinhole-foto's maken met een digitale camera

Hardware Jan 9, 2025

Pinhole-fotografie is een leuke en ouderwetse manier om foto's te maken; lees verder terwijl we de techniek naar de 21ste eeuw brengen en u laten zien hoe u uw moderne DSLR als een ..


Categorieën