Eliberați și mai multă putere de la routerul dvs. de acasă cu DD-WRT Mod-Kit

Sep 15, 2025
Hardware
CONȚINUTUL NECACHAT


V-am arătat deja cum să vă modificați routerul de acasă cu firmware-ul alternativ DD-WRT pentru performanțe mult îmbunătățite, iar astăzi vă vom arăta cum să îl duceți și mai departe cu DD-WRT Mod-Kit.

Dacă nu ați făcut-o deja, asigurați-vă și verificați cele două articole anterioare din serie:

Presupunând că sunteți familiarizați cu aceste subiecte, continuați să citiți. Rețineți că acest ghid este puțin mai tehnic, iar începătorii ar trebui să fie atenți atunci când își modifică routerul.

Prezentare generală

Acest ghid vă va oferi o descriere pas cu pas a modului în care vă puteți crea propriul firmware DD-WRT cu modificări și completări folosind „ kit de modificare firmware “.

Kitul de modificare a firmware-ului permite modificarea firmware-ului fără a fi compilat de la sursă. Efectuarea modificărilor în acest fel, cu ajutorul scripturilor furnizate, devine o simplă chestiune de descărcare, înlocuire și ștergere a unor fișiere.

Cel mai predominant motiv pentru care se folosește această metodă se datorează faptului că în ultima perioadă suportul DD-WRT pentru Openwrt Pachetele IPKG s-au deplasat către routerele care au hard disk-uri (prin USB), ceea ce face ca mod-kitul să fie singurul mod de lucru constant de instalare a pachetelor IPKG cu succes pentru cazurile în care un HD nu este disponibil. În plus, această metodă are avantajul suplimentar de a vă scuti de dependența JFFS pentru instalarea pachetelor, ceea ce pentru routerele cu doar 4 MB de bliț este o problemă reală.

Poza publicenergy

Obiective

În timp ce instrucțiunile pentru această procedură sunt detaliate la DD-WRT wiki și pe developer’s site , ne propunem să facem din acest ghid o procedură de copiere și lipire pe care oricine o poate folosi pentru a atinge următoarele obiective:

  • Instalați pachetul knockd și dependențele sale.
  • Instalați pachetul ssmtp cu configurații generate pe bază de NVRAM.
    • Opțional, cu suport pentru TLS smtp (cunoscut și ca suport Gmail).

După ce ați urmat această procedură, ar trebui să fie foarte simplu să o adaptați pentru alte instalații de pachete.

Avertizare : Bătați ușor ... rețineți că utilizarea incorectă a kitului de modificare vă poate lăsa cu un router care are nevoie de-brick-ing (ca la rândul său, într-un caramida inutila ). Cu toate acestea, dacă sunteți un adevărat geek, probabil că vă abonați la ideologia că, cine poate distruge un lucru, controlează un lucru , și doar geeks-urile adevărate fac asta

Condiții prealabile

  1. Utilizarea acestei proceduri poate cărămidă routerul dvs., ca și în fabricarea routerului inutilizabil, nu ne asumăm nici o responsabilitate pentru orice daune care ar putea fi cauzate direct sau altfel din cauza utilizării procedurilor de mai jos.
  2. Această procedură a fost efectuată pe sisteme bazate pe Debian (Lenny, Squeeze și Mint) și instrucțiunile de mai jos presupun că utilizați și unul.
  3. Această procedură este recomandată numai persoanelor care au experiență în intermitentul routerului cu DD-WRT, cu toate condițiile preliminare, avertismentele și limitările care se aplică pentru configurarea hardware-ului lor. un loc bun pentru a începe ar fi al nostru Transformați-vă routerul de acasă într-un router super-alimentat cu DD-WRT ghid.
  4. Ruterul dvs. trebuie să accepte cel puțin versiunea „mini” a DD-WRT.
  5. Această procedură a fost creată și testată pe routerele Linksys WRT54GS / L, dacă utilizați routerele de la alți furnizori, kilometrajul dvs. poate fi foarte mare.

Înființat

Instalarea pachetelor necesare

Kitul de modificare a firmware-ului are unele dependențe pentru ca acesta să poată fi compilat și funcționat. Pentru a le instala / actualiza pe toate simultan Emiteți această comandă într-un terminal:

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

Descărcați kitul de moduri

Creați un sub-folder și obțineți kitul de la SVN oficial:

mkdir firmware_mod_kit
cd firmware_mod_kit
svn checkout http://firmware-mod-kit.googlecode.com/svn/trunk/ firmware-mod-kit-read-only
cd firmware-mod-kit-read-only / trunk /

Descărcați un firmware pentru a lucra

Primul lucru de luat în considerare este ce versiune doriți să utilizați?
O regulă generală este: atunci când aveți dubii, utilizați „mini”. Acest lucru se datorează faptului că, atât timp cât routerul dvs. acceptă cel puțin versiunea „mini”, utilizarea acestuia vă oferă toate caracteristicile cele mai frecvent utilizate, fără niciun bloatware. lăsând astfel atât spațiu pentru proceduri, cât și spațiu JFFS pentru alte utilizări În cele mai multe cazuri.

După ce ați decis o versiune, se recomandă să utilizați cea mai recentă revizuire a firmware-ului disponibil, deoarece acestea tind să aibă o mulțime de remedieri de erori în comparație cu omologii lor „stabili”.
La momentul scrierii acestui document, cel mai recent a fost „03-17-11-r16454”, iar această revizuire este utilizată în comenzile care urmează.

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

Pentru a ușura urmărirea versiunii pe care o folosim, redenumiți fișierul descărcat pentru a reprezenta numărul versiunii sale:

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

Acest lucru este desigur opțional, dar comenzile de mai jos presupun că ați redenumit fișierul.

Extragerea firmware-ului

Pentru a putea schimba fișierele din firmware, trebuie să extragem conținutul acestuia într-un director temporar.
Sintaxa acestei comenzi este:
./extract_firmware.sh FIRMWARE_IMAGE WORKING_DIRECTORY
În cazul nostru, acest lucru s-ar traduce prin:

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

Notă: Prima dată când rulați această comandă, aceasta construiește instrumentele mod-kit pe sistemul dvs. acest lucru se întâmplă o singură dată și poate dura puțin ... deci aveți răbdare ...

Instalarea pachetelor

Acum că firmware-ul este extras, putem instala pachetele pe acesta.
În general, procedura constă în descărcarea pachetului și a dependențelor sale sub forma unui fișier ipk din fișierul depozit openWRT . După descărcare, instalați-le în firmware-ul extras folosind scriptul furnizat.

Pachetul knockd

Instrucțiunile detaliate despre cum să configurați și să utilizați Knockd vor fi detaliate într-un articol viitor, astfel încât puteți opta pentru a sări peste acest pas deocamdată sau să o faceți în pregătire pentru viitor, deoarece Knockd nu ocupă oricum mult spațiu.

Knockd este un daemon care ascultă evenimente de comunicare la nivelul link-ului pentru secvențe care acționează apoi asupra lor.
Ceea ce înseamnă acest lucru este că puteți avea dispozitivul care rulează daemonul nici măcar să nu „asculte” pe porturi (o scanare a portului nu le va vedea ca fiind deschise) și totuși să îl faceți să facă ceva de care aveți nevoie, dintr-o singură comandă toate drumul sus la un scenariu complet. Folosind această tehnică ați putea declanșa serverul să efectueze orice fel de operație de care aveți nevoie de el de la distanță (pe internet) fără a vă expune rețeaua de acasă.

Knockd are o singură dependență listată, deci descărcați pachetul și dependența acestuia prin emiterea:

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

Instalați „knock daemon” (knockd) ipk în firmware:

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

Instalați ipk „captură de pachete” (libpcap) în firmware:

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

Deoarece „knockd” poate fi invocat cu un fișier de configurare alternativ (cum va fi explicat într-un articol viitor), nu este nevoie să efectuați nicio altă operațiune și puteți săriți la secțiunea de construire a firmware-ului, dacă este tot ce ați dorit să instalați.

Pachetul SSMTP

Pachetul SSMTP permite routerului dvs. să trimită mesaje de e-mail la fel cum am arătat în Cum se configurează alertele prin e-mail pe Linux folosind Gmail sau SMTP pentru servere. Vă promiteam pe atunci că vom arăta cum să configurați acest lucru pentru DD-WRT și acum vom livra.
Acest lucru este util în principal dacă doriți să creați scripturi pe router pe care doriți să le primiți feedback despre funcționarea lor prin e-mail.

Configurarea acestui pachet este puțin mai complexă decât în ​​cazul sistemelor Linux normale din cauza limitării impuse de un sistem încorporat, așa că respirați adânc ... gata? .... sa mergem… :)

Descărcați pachetul:

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

Instalați „ssmtp” ipk în firmware:

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

Suport TLS (opțional)
SSMTP nu listează alte pachete ca dependențe ale sale, cu toate acestea, dacă doriți să puteți utiliza un gateway smtp care necesită autentificare TLS (adică Gmail ), trebuie să instalați și pachetul openSSL.
Notă : Există un IMEN dezavantaj pentru a face acest lucru sub forma unui spațiu considerabil redus pe router pentru JFFS mai târziu. Adică, pachetul openSSL ocupă aproximativ 500K de spațiu din totalul tău de 4 MB (pentru un router normal care nu suportă „mega”), compus din acesta JFFS și vei descoperi că ai rămas cu, dar câteva prețioase, blocuri de spațiu JFFS gratuit (aproximativ 60 KB pe WRT54GL).

Întrucât există încă servere smtp care nu necesită TLS (de obicei, ISP-urile dvs.), vă sugerez să luați un minut să vă gândiți dacă într-adevăr trebuie să utilizați gateway-ul TLS care necesită.

Dacă ați decis să activați suportul TLS în ciuda dezavantajului său, descărcați pachetul openSSL:

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

Instalați „openSSL” (libopenssl) ipk în firmware:

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

Configurări
Există o limitare cu pachetul SSMTP, că nu este posibil să-l invocăm cu un fișier de configurare alternativ.
Deoarece firmware-ul este numai în citire atunci când este pe router, asta înseamnă că, din cutie, putem codifica doar configurația în firmware.
Totuși, ce se întâmplă dacă nu dorim să parcurgem toți pașii de modificare a firmware-ului, doar pentru a modifica setările de e-mail? (de exemplu o modificare a parolei).

În acest scop, atât Jeremy (creatorul de mod-kit firmware), cât și eu am ajuns la concluzia (independent dacă pot adăuga cu umilință) că singurul mod sănătos de a face acest lucru ar fi să:

  1. Faceți locația fișierelor de configurare pe care pachetul ssmtp indică locația numai în citire de sub etc, indicați spre directorul tmp care poate fi scris în timpul rulării.
  2. Creați un script care să genereze dinamic configurațiile bazate pe variabilele NVRAM la pornire.

Pentru a realiza acest lucru, sunt necesari câțiva pași suplimentari ...

Symlink directorul de configurare ssmtp
După cum s-a explicat mai sus, trebuie să realizăm / etc / ssmtp locația de pe router, indicați spre / tmp directorul este singurul loc de inscripționat pe care îl avem pe router în timpul rulării. Pentru a face acest lucru, ștergeți directorul ssmtp care a fost creat de programul de instalare ipk:

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

Creați un nou link simbolic care indică / etc / ssmtp pe sistemul de fișiere rădăcină al routerului, pentru a indica spre / tmp / etc / ssmtp ca o cale absolută:

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

Notă : Chiar dacă acest aspect pare ilogic chiar acum, deoarece îndreptăm directorul de configurare al pachetului către o locație în afara directorului de lucru al kitului de modificare a firmware-ului, vă asigur că acest lucru arată complet bine din punctul de vedere al routerelor în timpul rulării.

Un script inițial
Deși este complet posibil să nu injectați acest script în firmware și să îl rulați ca un script de pornire mai târziu, consider că este potrivit să îl pun aici, doar ca exemplu pentru o utilizare viitoare.
Inițial, Jeremy a creat scenariul adaptat cererii cuiva, ulterior l-am ajustat și l-am mărit pentru a fi mai compatibil cu DD-WRT și rapoarte syslog.

Creați noul script init (pornire):

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

Notă: Puteți utiliza un alt editor, eu folosesc vi, deoarece este în concordanță cu ceea ce este disponibil pe router ...
Faceți din acest conținut:

#! / bin / sh
#
# title: ssmtp_nvram.sh
# autor: Jeremy Collake și Aviad Raviv
# site: http://www.bitsum.com, http://howtogeek.com
#
# script pentru a construi fișierul de configurare din nvram vars.
# va funcționa pentru orice fișier de configurare care folosește
# var = perechi tip valoare.
#
# folosește prefixe pentru variabilele nvram.
#
# и.е.
# ssmtp hostname = ceva
# se traduce în ssmtp.conf
# hostname = ceva
#
logger_func()
{
logger -s -p local0.notice -t SSMTP_init $ 1
}

logger_func "########### A început rularea inițială SSMTP ############"
logger_func "Crearea directorului etc în / 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 "Se generează $ CONFIG_FILE pentru pachetul $ PACKAGE_NAME"
#echo $ 0: generând $ CONFIG_FILE pentru pachetul $ PACKAGE_NAME
ecou "#! / bin / sh"> $ CONFIG_FILE
ecou "#" >> $ CONFIG_FILE
echo "# generat automat pe baza nvram de $ 0" >> $ CONFIG_FILE
ecou "#" >> $ CONFIG_FILE

dacă [ -z "`nvram show | grep ssmtp`" ]
atunci
logger_func "Se pare că nu ați setat variabilele NVRAM necesare pentru a genera fișierul conf"
logger_func "** Luați în considerare ** utilizarea acestor comenzi în scriptul de pornire:"
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 = nume de utilizator"
logger_func "nvram set ssmtp_AuthPass = parola"
logger_func "nvram set ssmtp_FromLineOverride = YES"
logger_func "creați variabilele NVRAM și rulați din nou scriptul inițial sau reporniți pentru ca setările să aibă efect."
ieșire 0
fi

###########################################################
#
# bucla principală
#
SED_COMMAND = "s / $ NVRAM_PREFIX / /"
CONFIG_VARS = `nvram show | grep $ NVRAM_PREFIX | sed "$ SED_COMMAND" `
pentru i în $ CONFIG_VARS; do
ecou $ i >> $ CONFIG_FILE
Terminat

###########################################################
#
# control mintal
#
dacă [ ! -f "$CONFIG_FILE" ]; atunci
# echo "$ 0: EROARE - nu s-a putut crea $ CONFIG_FILE. Poate că nu există symink / etc / XXXX -> / tmp / etc / XXXX?"
logger_func "EROARE - nu s-a putut crea $ CONFIG_FILE. Poate că nu există symink / etc / XXXX -> / tmp / etc / XXXX?"
fi
logger_func "########### A finalizat executarea inițială SSMTP ############"

Faceți executabil:

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

Luați notă de variabilele de așteptare NVRAM din script, este responsabilitatea noastră să le oferim ceva cu care să lucreze după ce am instalat firmware-ul modificat pe router.

Construiți firmware-ul modificat

Acum, că totul este la locul său, este timpul să împachetăm din nou firmware-ul modificat într-un binar comprimat pe care să-l putem bloca pe router.
Sintaxa scriptului „build.sh” este:
./build_firmware.sh OUTPUT_DIR WORKING_DIRECTORY

Pentru a face acest lucru, folosim scriptul furnizat, deci emiteți:

./build_firmware.sh output_mini1 ./working_dir_mini1/

Odată ce operația de „construire” este terminată, vor exista mai multe imagini de firmware care așteaptă să fie utilizate în directorul „de ieșire”.

Acum puteți arunca pe router fișierul numit „custom_image_00001-generic.bin” ca în mod normal, ați avea un firmware DD-WRT .

Notă : Nu uitați să reveniți la „valorile implicite din fabrică” înainte, în timpul și imediat după blițul firmware-ului.

Postează pași flash

Deoarece am făcut ca pachetul SSMTP să caute variabile NVRAM pentru a genera fișierul de configurare ssmtp, acum trebuie să-i furnizăm informațiile lipsă.
Vom realiza acest lucru folosind funcția web-GUI „Rulează comenzi”.

Accesați web-GUI -> „administrare” -> „comenzi” -> lipiți în caseta de text următoarele:

nvram set [email protected]
nvram set ssmtp_mailhub = smtp.gmail.com: 587
nvram set [email protected]
nvram set ssmtp_UseSTARTTLS = YES
nvram set ssmtp_AuthUser = numele-utilizator-dvs.-gmail (fără @ gmail.com)
nvram set ssmtp_AuthPass = you-gmail-password
nvram set ssmtp_FromLineOverride = YES
nvram commit

Înlocuiți textul după semnul egal (=), cu informațiile dvs. reale, apoi apăsați „Execută comenzi”.
Notă : dacă folosiți un server SMTP obișnuit, care nu este TLS, portul de utilizat este 25 în loc de 587.

Acum că informațiile SSMTP sunt gata de utilizare, va trebui să invocați scriptul init. Deci, fie puteți reporni routerul, fie lipiți acest lucru în caseta de text „comenzi”:

/etc/init.d/S80ssmtp

Apoi apăsați din nou pe „Execută comenzi”.
Ieșirea acestei comenzi ar trebui să arate ca:

Testați că puteți trimite e-mailuri
Lipiți din nou acest lucru în caseta de text „comenzi” următoarea comandă cu adresa dvs. de e-mail:

ecou "testare creuzet prin e-mail 123 qwe" | ssmtp -vvv [email protected]

Apoi apăsați din nou pe „Execută comenzi”.
Deoarece am folosit opțiunea -vvv pentru un plus de detaliere, rezultatul acestei comenzi ar trebui să arate ca:

Dacă totul a decurs bine, ar trebui să primiți e-mailul de test în câteva secunde.

Sperăm că puteți utiliza aceste informații pentru a vă depăși limitele routerului de acasă chiar mai departe decât credeați posibil și acum controlează cu adevărat routerul de acasă și DD-WRT


Linux extinde viața, Linux extinde conștiința ... Linux este vital pentru călătoria cu pachete

.intrare-conținut .pentru-intrare

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 - Cele mai populare articole

Este rău să ai computerul desktop pe podea?

Hardware May 5, 2025

Phuwadach Pattanatmon / Shutterstock În ciuda numelui, un computer desktop nu trebuie să fie pe un birou. Sigur, acel imens PC turn ar sta frum..


Cele mai bune tastaturi mecanice Bluetooth

Hardware Sep 25, 2025

Este ciudat faptul că, având în vedere popularitatea lor în plină expansiune în rândul tuturor utilizatorilor de computere, tastaturile mecanice au încă atât de puține op..


Ar trebui să cumpăr iPhone 7 sau 7 Plus?

Hardware Jul 6, 2025

IPhone 7 este disponibil în două dimensiuni: ecranul obișnuit de 4,7 ”iPhone 7 și ecranul de 5,5” iPhone 7 Plus. Ambele telefoane sunt disponibile cu spațiu de stocare de 3..


Ecoul Amazon este ceea ce face ca Smarthome să merite

Hardware Jun 20, 2025

CONȚINUTUL NECACHAT Amazon Echo și smarthome sunt un meci făcut în cer. Singuri, ambele seturi de produse sunt destul de inutile - dar împreună sunt minunate. ..


Cum latența poate face ca și conexiunile la internet rapide să se simtă lent

Hardware Jul 11, 2025

Viteza unei conexiuni la internet este mai mult decât lățimea de bandă. Acest lucru este valabil mai ales în cazul conexiunilor de internet prin satelit, care pot oferi viteze ..


Actualizarea la un SSD este o idee grozavă, dar discurile rotative sunt încă mai bune pentru stocarea datelor (deocamdată)

Hardware Jun 5, 2025

SSD-urile sunt rapide, fiabile și nu au piese mecanice - care se pot rupe și provoca defecțiuni ale unității - făcându-le o alegere logică ca unitate principală de sistem. ..


Cum se folosește compresia NTFS și când s-ar putea să doriți

Hardware Jan 9, 2025

CONȚINUTUL NECACHAT Sistemul de fișiere NTFS utilizat de Windows are o caracteristică de compresie încorporată cunoscută sub numele de compresie NTFS. Cu câteva clicuri, pu..


Ce fel de memorie a instalat computerul meu?

Hardware Jul 12, 2025

CONȚINUTUL NECACHAT Dacă doriți să actualizați memoria din computer, probabil că vă întrebați câte sloturi deschise aveți, ce tip de memorie este deja instalată și ce trebuie s..


Categorii