Uvoľnite ešte viac energie z vášho domáceho smerovača pomocou modulu DD-WRT Mod-Kit

Obsah:

Uvoľnite ešte viac energie z vášho domáceho smerovača pomocou modulu DD-WRT Mod-Kit
Uvoľnite ešte viac energie z vášho domáceho smerovača pomocou modulu DD-WRT Mod-Kit

Video: Uvoľnite ešte viac energie z vášho domáceho smerovača pomocou modulu DD-WRT Mod-Kit

Video: Uvoľnite ešte viac energie z vášho domáceho smerovača pomocou modulu DD-WRT Mod-Kit
Video: How to Remove Win 7 Antispyware 2012 by Britec - YouTube 2024, Smieť
Anonim
 Už sme vám ukázali, ako modifikovať svoj domovský smerovač pomocou alternatívneho firmvéru DD-WRT, aby ste výrazne zvýšili výkon. Dnes vám ukážeme, ako ho ešte viac zaobchádzať s modulom DD-WRT Mod-Kit.
Už sme vám ukázali, ako modifikovať svoj domovský smerovač pomocou alternatívneho firmvéru DD-WRT, aby ste výrazne zvýšili výkon. Dnes vám ukážeme, ako ho ešte viac zaobchádzať s modulom DD-WRT Mod-Kit.

Ak ste to ešte neurobili, uistite sa a skontrolujte dva predchádzajúce články v sérii:

  • Prepnite svoj domovský smerovač do super-Powered Router s DD-WRT
  • Ako zvýšiť signál siete Wi-Fi a zväčšiť dosah s DD-WRT

Za predpokladu, že ste oboznámení s týmito témami, pokračujte v čítaní. Majte na pamäti, že táto príručka je trochu technickejšia a začiatočníci by mali byť opatrní pri modifikácii ich smerovača.

Prehľad

Táto príručka vám poskytne krok za krokom prehľad o tom, ako vytvoriť vlastný firmvér DD-WRT s úpravami a doplnkami pomocou "sady na úpravu firmvéru".

Sada na úpravu firmvéru umožňuje vykonať úpravy firmvéru bez kompilácie zo zdroja. Uskutočňovanie zmien týmto spôsobom sa pomocou poskytnutých skriptov stáva jednoduchou záležitosťou sťahovania, nahrádzania a odstraňovania niektorých súborov.

Najpodstatnejším dôvodom na použitie tejto metódy je to, že v poslednej dobe sa podpora DD-WRT pre balíky OpenKwet IPKG posunula smerom k smerovačom, ktorý má pevné disky (cez USB), čo robí mod-kit jediným dôsledne fungujúcim spôsobom úspešnej inštalácie balíkov IPKG v prípadoch, keď HD nie je k dispozícii. Okrem toho má táto metóda ďalšiu výhodu, že vás zbavuje závislostí JFFS na inštalácii balíkov, čo je pre routery s iba 4 MB blesku skutočným problémom.

Obrázok publicenergy

Ciele

Zatiaľ čo pokyny pre tento postup sú podrobne popísané na wiki DD-WRT a na stránkach vývojára, naším cieľom je urobiť tento sprievodca postupom kopírovania a vloženia, ktorý môže použiť každý na dosiahnutie nasledujúcich cieľov:

  • Nainštalujte baliaci balík a jeho závislosti.
  • Nainštalujte balík ssmtp s generovanými konfiguráciami založenými na NVRAM.

    Prípadne s podporou TLS smtp (aka Gmail podpora).

    Po vykonaní tohto postupu by malo byť relevantné jednoduché prispôsobiť ho inštaláciám iných balíkov.

    Výstraha: Tread ľahko … majte na pamäti, že nesprávne použitie modifikačnej sady, môže vás opustiť smerovač, ktorý potrebuje de-bricking (ako zase do zbytočnej tehly). Avšak ak ste skutočný geek, pravdepodobne sa prihláste k ideológii, že ten, kto môže zničiť vec, ovláda vec, a to len skutoční geek

    Image
    Image

    predpoklady

    1. Použitie tohto postupu môže tehla váš smerovač, ako pri vytváraní smerovača nepoužiteľný, nenesieme žiadnu zodpovednosť za akékoľvek škody, ktoré môžu byť spôsobené priamo alebo iným spôsobom v dôsledku použitia nižšie uvedených postupov.
    2. Tento postup bol vykonaný na systémoch založených na Debiane (Lenny, Squeeze a Mint) a nižšie uvedené pokyny predpokladajú, že používate aj jeden.
    3. Tento postup sa odporúča iba ľuďom, ktorí majú skúsenosti s blikaním smerovača s DD-WRT, so všetkými predpokladmi, upozorneniami a obmedzeniami, ktoré sa vzťahujú na ich nastavenie hardvéru. dobrým miestom na začiatok by bolo naše zariadenie Turn Your Home Router do super-Powered Router s DD-WRT sprievodcom.
    4. Váš smerovač musí podporovať aspoň "mini" verziu DD-WRT.
    5. Tento postup bol vytvorený a testovaný na routroch Linksys WRT54GS / L, ak používate smerovače od iných dodávateľov, váš kilometrový výkon môže veľmi.

    Nastaviť

    Inštalácia požadovaných balíkov

    Sada na úpravu firmvéru má niektoré závislosti, aby mohla kompilovať a pracovať. Ak chcete nainštalovať / aktualizovať všetky naraz Vydanie tohto príkazu v termináli:

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

    Stiahnite mod-kit

    Vytvorte podadresár a získajte súpravu z oficiálneho SVN:

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

    Prevezmite firmvér, na ktorý chcete pracovať

    Prvá vec, ktorú je potrebné zvážiť, je verzia, ktorú chcete použiť? Pravidlo je: ak máte pochybnosti, použite "mini". Dôvodom je to, že ak váš smerovač podporuje aspoň "mini" verziu, používa vám všetky najčastejšie používané funkcie bez bloatware. čím ponecháva priestor pre postupy a dokonca aj niektorý priestor JFFS pre iné použitie vo väčšine prípadov.

    Akonáhle sa rozhodnete pre verziu, odporúča sa použiť najnovšiu verziu dostupného firmvéru, pretože v porovnaní so svojimi "stabilnými" náprotivkami majú tendenciu mať veľa opravných opráv. V čase tohto písania najnovšie bolo "03-17-11-r16454" a táto revízia sa používa v príkazoch, ktoré nasledujú.

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

    Aby bolo možné ľahšie sledovať, akú verziu používame, premenujte stiahnutý súbor na číslo jeho verzie:

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

    Je to samozrejme voliteľné, ale príkazy nižšie predpokladajú, že ste súbor premenovali.

    Extrahovanie firmvéru

    Aby sme mohli meniť súbory v rámci firmvéru, musíme ich obsah vyexportovať do dočasného adresára. Syntax tohto príkazu je:./extract_firmware.sh FIRMWARE_IMAGE WORKING_DIRECTORY V našom prípade by sa to prejavilo na:

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

    Poznámka: Pri prvom spustení tohto príkazu budujete na svojom systéme nástroje mod-kit. stane sa to iba raz a môže chvíľu trvať … takže buďte trpezliví …

    Inštalácia balíkov

    Teraz, keď je firmware extrahovaný, môžeme naň balíky nainštalovať. Vo všeobecnosti je postup na stiahnutie balíka a jeho závislostí vo forme súboru ipk z úložiska openWRT. Po načítaní ich nainštalujte do extrahovaného firmvéru pomocou dodaného skriptu.

    Knockd balíček

    Podrobné pokyny na konfiguráciu a používanie programu Knockd budú podrobne popísané v budúcom článku, takže sa môžete rozhodnúť tento krok preskočiť alebo urobiť to v príprave na budúcnosť, pretože Knockd nevyužíva veľa priestoru.

    Knockd je démon, ktorý počúva komunikačné udalosti na linkovej vrstve pre sekvencie, ktoré na ne pôsobia. Čo to znamená, že zariadenie môže mať spustený démon, ani na portoch ani "počúvať" (skenovanie portov ich nebude vidieť ako otvorené) a stále robiť to, čo potrebujete, z jediného príkazu celú cestu na úplný skript. Pomocou tejto techniky by ste mohli spúšťať server, aby vykonal ľubovoľnú operáciu, ktorú potrebujete na diaľku (cez internet) bez toho, aby ste vystavili domácu sieť.

    Knockd má iba jednu vymenovanú závislosť, takže si stiahnite balíček a jeho závislosť vydávaním:

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

    Nainštalujte "klepanie démona" (knockd) ipk do firmvéru:

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

    Nainštalujte príkaz "capture packet" (libpcap) ipk do firmvéru:

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

    Keďže "knockd" môže byť vyvolaný pomocou alternatívneho konfiguračného súboru (ako bude vysvetlené v budúcom článku), nie je potrebné vykonávať žiadnu inú operáciu a môžete preskočiť na časť firmvéru budov, ak je všetko, čo chcete inštalovať.

    Balík SSMTP

    Balík SSMTP umožňuje vášmu smerovaču odosielať e-mailové správy tak, ako sme ukázali v našich Upozorneniach na nastavenie e-mailu na platforme Linux Ako používať Gmail alebo SMTP pre servery. Sme sľúbili vám, že vám ukážeme, ako to nakonfigurovať pre DD-WRT, a my teraz dodáme. To je hlavne užitočné, ak sa chystáte vytvárať skripty na smerovači, ktoré by ste chceli dostávať spätnú väzbu o ich prevádzke prostredníctvom e-mailu.

    Nastavenie tohto balíčka je o niečo zložitejšie, než je to na bežných systémoch Linux kvôli obmedzeniu zavedenému vstavaným systémom, tak sa zhlboka nadýchnite … pripravený? …. Poďme…:)

    Stiahnite si balík:

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

    Nainštalujte "ssmtp" ipk do firmvéru:

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

    Podpora TLS (voliteľné) SSMTP nezahŕňa žiadne iné balíky ako závislosť, avšak ak chcete používať bránu smtp, ktorá vyžaduje autentifikáciu TLS (t. Gmail), musíte tiež nainštalovať openSSL pakage. Poznámka: Je obrovský nedostatok robiť to vo forme výrazne zníženého priestoru na smerovači pre JFFS neskôr. To znamená, že balík openSSL trvá asi 500 kB priestoru z vášho celkového počtu 4 MB (pre bežný non-mega podporujúci smerovač), ktorý je zložený z toho, že nad hlavou JFFS, a zistíte, že vaša ľavica s niekoľkými drahými blokmi voľný priestor JFFS (približne 60 kB na WRT54GL).

    Keďže stále nie sú servery TLS, ktoré vyžadujú servery SMTP (zvyčajne vaši poskytovatelia internetových služieb), navrhujem, aby ste chvíľu premýšľali o tom, či skutočne potrebujete použiť bránu TLS, ktorá vyžaduje bránu.

    Ak ste sa rozhodli povoliť podporu TLS napriek nevýhode, stiahnite balík openSSL:

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

    Nainštalujte "openSSL" (libopenssl) ipk do firmvéru:

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

    konfigurácia Existuje obmedzenie balíka SSMTP, že nie je možné ho spustiť pomocou alternatívneho konfiguračného súboru. Pretože firmware je len na čítanie, keď je na routeru, to znamená, že z krabice môžeme iba hardcode konfiguráciu do firmware. Čo však, ak nechceme prejsť všetkými krokmi na úpravu firmvéru, len aby sme zmenili nastavenia e-mailu? (napríklad zmena hesla).

    Za týmto účelom, ako Jeremy (firmware mod-kit creator), tak aj ja som dospel k záveru (nezávisle od toho, či by som mohol pokorne dodať), že jediný rozumný spôsob, ako to urobiť, je:

    1. Nastavte umiestnenie konfiguračných súborov, ktoré balík ssmtp odkazuje na umiestnenie len na čítanie v rámci atď., Ukážte na adresár tmp, ktorý je zapisovateľný počas behu.
    2. Vytvorte skript, ktorý by dynamicky vygeneroval konfigurácie založené na premenných NVRAM pri štarte.

    Aby ste to dosiahli, sú potrebné ďalšie kroky …

    Symlink konfiguračný adresár ssmtp Ako bolo vysvetlené vyššie, musíme urobiť / Etc / ssmtp miesto na smerovači, prejdite na položku / tmp ako jediné zapisovateľné miesto, ktoré máme na smerovač v čase behu. Postupujte takto: Odstráňte adresár ssmtp, ktorý vytvoril inštalačný program ipk:

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

    Vytvorte nový symbolický odkaz, ktorý ukazuje / etc / ssmtp na koreňovom súborovom systéme smerovača, aby ukazoval na / tmp / etc / ssmtp ako absolútnu cestu:

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

    Poznámka: Aj keď to momentálne vyzerá nelogicky, pretože smerovanie konfiguračného adresára balíčka smeruje na miesto mimo pracovného adresára balíka úprav firmvéru, uisťujem vás, že to z hľadiska smerovača vyzerá úplne jemne v čase behu.

    Init skript Aj keď je úplne možné tento skript injectovať do firmware a neskôr ho spustiť ako spúšťací skript, považujem ho za vhodné, aby som ho uviedol len ako príklad pre budúce použitie. Pôvodne Jeremy vytvoril skript prispôsobený na požiadavku niekoho, neskôr som ho upravil a rozšíril tak, aby bol viac kompatibilný s reportingmi DD-WRT a syslog.

    Vytvorte nový init (spúšťací) skript:

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

    Poznámka: Môžete použiť iný editor, používam vi, pretože je v súlade s tým, čo je k dispozícii na smerovači … Urobte z neho tento obsah:

    #!/bin/sh # # title: ssmtp_nvram.sh # author: Jeremy Collake and Aviad Raviv # site: https://www.bitsum.com, https://howtogeek.com # # script to build config file from nvram vars. # will work for any config file that uses # var=value type pairs. # # uses prefixes for nvram variables. # # i.e. # ssmtp_hostname=something # translates to ssmtp.conf # hostname=something # logger_func() { logger -s -p local0.notice -t SSMTP_init $1 }

    logger_func '###########Started the SSMTP init run###########' logger_func 'Creating the 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 'Generating $CONFIG_FILE for package $PACKAGE_NAME' #echo $0: generating $CONFIG_FILE for package $PACKAGE_NAME echo '#!/bin/sh' > $CONFIG_FILE echo '#' >> $CONFIG_FILE echo '# auto generated based on nvram by $0' >> $CONFIG_FILE echo '#' >> $CONFIG_FILE

    if [ -z '`nvram show | grep ssmtp`' ] then logger_func 'It appears that you have not set the NVRAM variables required to generate the conf file' logger_func '**Consider** using these commands in you startup script:' 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=username' logger_func 'nvram set ssmtp_AuthPass=password' logger_func 'nvram set ssmtp_FromLineOverride=YES' logger_func 'create the NVRAM variables and re-run the init script or reboot for the settings to take affect.' exit 0 fi

    ########################################################### # # main loop # SED_COMMAND='s/$NVRAM_PREFIX/ /' CONFIG_VARS=`nvram show | grep $NVRAM_PREFIX | sed '$SED_COMMAND'` for i in $CONFIG_VARS; do echo $i >> $CONFIG_FILE done

    ########################################################### # # sanity check # if [ ! -f '$CONFIG_FILE' ]; then # echo '$0: ERROR - could not create $CONFIG_FILE. Perhaps there is no symink /etc/XXXX -> /tmp/etc/XXXX ?' logger_func 'ERROR - could not create $CONFIG_FILE. Perhaps there is no symink /etc/XXXX -> /tmp/etc/XXXX ?' fi logger_func '###########Finished the SSMTP init run###########'

    Spustite ho:

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

    Berte na vedomie NVRAM čakajúce premenné v skripte, je našou zodpovednosťou dať im niečo, s kým bude pracovať s po nainštalovaní nášho upraveného firmvéru do smerovača.

    Vytvorenie upraveného firmvéru

    Teraz, keď je všetko na mieste, je načase znovu zbaliť upravený firmware do komprimovaného binárneho priečinka, ktorý môžeme blikať na smerovači. Syntax skriptu "build.sh" je:./build_firmware.sh OUTPUT_DIR WORKING_DIRECTORY

    Na tento účel použijeme dodaný skript, takže vydanie:

    ./build_firmware.sh output_mini1./working_dir_mini1/

    Akonáhle sa vykoná operácia "stavať", čaká sa niekoľko obrázkov firmware v adresári "výstup".

    Môžete teraz blikať súbor s názvom "custom_image_00001-generic.bin" do smerovača, ako by ste normálne používali firmvér DD-WRT.

    Poznámka: Nezabudnite obnoviť "predvolené nastavenia" pred, počas a hneď po bliknutí firmvéru.

    Uveďte kroky blesku

    Pretože sme balík SSMTP vybrali pre premenné NVRAM na vygenerovanie konfiguračného súboru ssmtp, teraz ho musíme dodať s chýbajúcimi informáciami. Vykonáme to pomocou funkcie webového rozhrania "Spustiť príkazy".

    Prejdite do webového GUI -> "administrácia" -> "príkazy" -> vložte do textového poľa nasledovné:

    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=your-gmail-user-name(without the @gmail.com) nvram set ssmtp_AuthPass=you-gmail-password nvram set ssmtp_FromLineOverride=YES nvram commit

    Nahraďte text za znamienkom equal (=) s aktuálnymi informáciami a potom stlačte "Spustiť príkazy". Poznámka: ak používate bežný server, ktorý nepoužíva TLS, smtp server je port 25 na miesto 587.

    Teraz, keď sú informácie SSMTP pripravené na použitie, budete musieť vyvolať init skript. Takže môžete buď reštartovať smerovač, alebo vložiť do textového poľa "príkazy":

    /etc/init.d/S80ssmtp

    Potom znova zadajte príkaz "Spustiť príkazy". Výstup tohto príkazu by mal vyzerať takto:

    Otestujte, či môžete odoslať e-mail Znova vložte do textového poľa "príkazy" nasledujúci príkaz s vašou e-mailovou adresou:
    Otestujte, či môžete odoslať e-mail Znova vložte do textového poľa "príkazy" nasledujúci príkaz s vašou e-mailovou adresou:

    echo 'testing crucible emailing 123 qwe' | ssmtp -vvv [email protected]

    Potom znova zadajte príkaz "Spustiť príkazy". Pretože sme použili voľbu -vvv pre extra výrečnosť, výstup tohto príkazu by mal vyzerať takto:

    Ak všetko prebehlo dobre, mali by ste získať testovací e-mail v priebehu niekoľkých sekúnd.
    Ak všetko prebehlo dobre, mali by ste získať testovací e-mail v priebehu niekoľkých sekúnd.

    Dúfame, že tieto informácie môžete použiť na presadenie obmedzení vášho domáceho smerovača ešte ďalej, ako ste si mysleli, že je to možné a teraz skutočne kontrolujete svoj domovský smerovač a DD-WRT …

    Linux rozširuje život, Linux rozširuje vedomie … Linux je nevyhnutný pre cestovanie cez pakety

Odporúča: