Oslobodite još veću snagu od svog kućnog usmjerivača s DD-WRT Mod-Kitom

Sadržaj:

Oslobodite još veću snagu od svog kućnog usmjerivača s DD-WRT Mod-Kitom
Oslobodite još veću snagu od svog kućnog usmjerivača s DD-WRT Mod-Kitom

Video: Oslobodite još veću snagu od svog kućnog usmjerivača s DD-WRT Mod-Kitom

Video: Oslobodite još veću snagu od svog kućnog usmjerivača s DD-WRT Mod-Kitom
Video: Why Some of Us Don’t Have One True Calling | Emilie Wapnick | TED - YouTube 2024, Travanj
Anonim
 Već smo vam pokazali kako modificirati vaš kućni usmjerivač s alternativnim firmverom DD-WRT za uvelike poboljšane performanse, a danas ćemo vam pokazati kako to učiniti čak i dalje pomoću DD-WRT mod kita.
Već smo vam pokazali kako modificirati vaš kućni usmjerivač s alternativnim firmverom DD-WRT za uvelike poboljšane performanse, a danas ćemo vam pokazati kako to učiniti čak i dalje pomoću DD-WRT mod kita.

Ako još niste, provjerite dva prethodna članka u seriji:

  • Pretvorite svoj početni usmjerivač u Super-Powered Router s DD-WRT
  • Kako potaknuti vašu Wi-Fi mrežu i povećati raspon s DD-WRT-om

Pod pretpostavkom da ste upoznati s tim temama, nastavite čitati. Imajte na umu da je ovaj vodič malo tehničniji, a početnici trebaju biti oprezni prilikom modiranja usmjerivača.

Pregled

Ovaj će vam vodič detaljno opisati kako izraditi vlastiti firmver DD-WRT s izmjenama i dopunama pomoću "kompleta za izmjenu firmvera".

Kit za modifikaciju firmwarea omogućuje izmjenu firmvera bez da je sastavlja iz izvora. Izmjene na ovaj način, uz pomoć dostavljenih skripti, postaju jednostavna stvar preuzimanja, zamjene i brisanja nekih datoteka.

Najčešći razlog korištenja ove metode je jer je zadnja podrška DD-WRT-a za Openwrt IPKG pakete pomaknuta prema usmjerivačima koji imaju tvrde diskove (preko USB-a), što mod-kit čini jednim dosljedno funkcionalnim načinom instalacije IPKG paketa za slučajeve u kojima HD nije dostupan. Osim toga, ova metoda ima dodatnu prednost olakšavanja od ovisnosti JFFS-a za instalaciju paketa, što je za routere sa samo 4 MB bljeskalice pravi problem.

Slika javnosti

ciljevi

Dok se upute za ovaj postupak detaljno opisuju na wiki DD-WRT-a i na web mjestu razvojnog programera, mi nastojimo napraviti ovaj vodič postupak kopiranja i lijepljenja koji svatko može koristiti kako bi postigao sljedeće ciljeve:

  • Instalirajte knockd paket i njegove ovisnosti.
  • Instalirajte paket ssmtp s NVRAM baziranim konfiguracijama.

    Po želji uz podršku za TLS smtp (Gmail podršku).

    Nakon što ste slijedili ovaj postupak, trebao bi biti relevantno jednostavan za prilagodbu za instalacije drugih paketa.

    Upozorenje: Lagano trčati … imajte na umu da se pogrešna upotreba kompleta za modifikaciju može ostaviti s usmjerivačem koji treba de-opeke (kao u slučaju beskorisne opeke). Međutim, ako ste pravi geek vjerojatno se pretplatite na ideologiju da, onaj tko može uništiti stvar, kontrolira stvar, i to samo pravi gejci to čine

    Image
    Image

    Preduvjeti

    1. Korištenje ovog postupka može cigla vaš usmjerivač, kao u svom usmjerivaču neupotrebljiv, ne preuzimamo nikakvu odgovornost za bilo kakvu štetu koja bi mogla biti uzrokovana izravno ili drugačije zbog uporabe dolje navedenih postupaka.
    2. Ovaj je postupak izveden na Debianovim sustavima (Lenny, Squeeze i Mint), a dolje navedene upute pretpostavljaju da koristite i jedan.
    3. Ovaj postupak se preporučuje samo za osobe koje imaju iskustvo s treptanjem njihovog usmjerivača s DD-WRT-om, uz sve preduvjete, upozorenja i ograničenja koja se primjenjuju za postavljanje hardvera. dobro mjesto za početak bit će naš Turn Your Home Router u Super-Powered Router s DD-WRT vodič.
    4. Vaš usmjerivač mora podržati barem "mini" verziju DD-WRT-a.
    5. Ovaj postupak je stvoren i testiran na Linksys WRT54GS / L usmjerivačima, ako vašim korištenjem usmjerivača od drugih dobavljača, vaša kilometraža može vrlo.

    Postaviti

    Instaliranje potrebnih paketa

    Komplet za modifikaciju firmwarea ima neke zavisnosti za sastavljanje i rad. Da biste ih instalirali / ažurirali odjednom Izdajte ovu naredbu na terminalu:

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

    Preuzmite mod kit

    Izradite podmapa i nabavite komplet od službenog SVN-a:

    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/

    Preuzmite firmware za rad

    Prva stvar koju valja razmotriti je inačica koju želite koristiti? Pravilo je: kada je u pitanju, upotrijebite "mini". To je zato što sve dok vaš usmjerivač podržava barem "mini" verziju, upotrebljavate li vam sve najčešće korištene značajke bez ikakvih nadmetanja. ostavljajući tako prostor za procedure i čak i neke JFFS prostora za druge namjene u većini slučajeva.

    Nakon što odlučite o verziji, preporučujemo vam da upotrijebite najnoviju verziju dostupnog firmvera jer imaju mnogo popravaka bugova u usporedbi s njihovim "stabilnim" kolegama. U vrijeme pisanja najnovije je bilo "03-17-11-r16454", a ova se revizija koristi u naredbama koje slijede.

    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

    Da biste lakše pratili verziju koju koristimo, preimenujte preuzetu datoteku da biste predstavili njegov broj verzije:

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

    To je naravno neobavezno, ali naredbe u nastavku pretpostavljaju da ste preimenovali datoteku.

    Izdvajanje firmvera

    Da bismo mogli mijenjati datoteke unutar firmvera, moramo izdvojiti njegov sadržaj u privremeni direktorij. Sintaksa ove naredbe je:./extract_firmware.sh FIRMWARE_IMAGE WORKING_DIRECTORY U našem slučaju, to bi se prevesti na:

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

    Napomena: Prvi put kada pokrenete ovu naredbu, on gradi mod-kit alate na vašem sustavu. to se događa samo jednom i može potrajati malo … pa budite strpljivi …

    Instaliranje paketa

    Sada kada se ekstrahira firmware, možemo ga instalirati. Općenito, postupak je za preuzimanje paketa i njegovih ovisnosti u obliku ipk datoteke iz openWRT repozitorija. Nakon preuzimanja instalirajte ih u ekstrahirani firmver pomoću isporučene skripte.

    Kucni paket

    Detaljne upute o tome kako konfigurirati i koristiti Knockd bit će detaljno opisane u budućem članku, tako da možete odlučiti preskočiti ovaj korak za sada ili to učiniti u pripremi za budućnost budući da Knockd ne zauzima puno prostora u svakom slučaju.

    Knockd je daemon koji sluša komunikacijske događaje na sloju veze za sekvence, a zatim djeluje na njih. Što to znači jest da uređaj može pokrenuti daemon čak i "ne sluša" na portovima (skeniranje portova neće ih vidjeti kao otvoreno) i još uvijek ga učiniti nešto što vam treba od jedne naredbe sve do do potpune skripte. Koristeći ovu tehniku možete pokrenuti poslužitelj za obavljanje bilo kakve operacije koja vam je potrebna za daljinski (preko interneta) bez izlaganja vaše kućne mreže.

    Knockd ima samo jednu navedenu ovisnost, pa preuzmite paket i njegovu ovisnost izdavanjem:

    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

    Instalirajte "knock daemon" (knockd) ipk u firmware:

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

    Instalirajte "packet capture" (libpcap) ipk u firmware:

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

    Budući da se "knockd" može uputiti s alternativnom konfiguracijskom datotekom (kako će biti objašnjeno u budućem članku), ne morate izvršiti niti jednu drugu operaciju, a možete se preseliti u odjeljak za zgradu firmvera, ako je sve što ste htjeli instalirati.

    SSMTP paket

    SSMTP paket omogućuje vašem usmjerivaču slanje poruka e-pošte baš kao što smo pokazali u našem Kako postaviti e-mail upozorenja o Linuxu koristeći Gmail ili SMTP za poslužitelje. Tada smo vam obećali da ćemo vam pokazati kako to konfigurirati za DD-WRT i sada ćemo ga isporučiti. To je uglavnom korisno ako vaš ide za stvaranje skripti na ruteru koji biste željeli primati povratne informacije o njihovom radu putem e-pošte.

    Postavljanje ovog paketa je malo složenije nego u normalnim Linux sustavima zbog ograničenja koje nameće ugrađeni sustav, pa se duboko udahnite … spreman …? idemo…:)

    Preuzmite paket:

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

    Instalirajte "ssmtp" ipk u firmware:

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

    TLS podrška (izborno) SSMTP ne navodi neke druge pakete kao svoje ovisnosti, no ako želite biti u mogućnosti koristiti SMTP pristupnik koji zahtijeva provjeru autentičnosti TLS (tj. Gmail), morate instalirati i openSSL pakage. Bilješka: Postoji ogroman mana da to učini u obliku znatno smanjenog prostora na ruteru za JFFS kasnije. To znači da openSSL paket traje oko 500K prostora od vašeg ukupnog broja od 4MB (za normalan ne-mega-podržavajući usmjerivač), spoj s tim da je JFFS iznad glave, a otkrit ćete da vaše lijevo, ali nekoliko dragocjenih blokova slobodan JFFS prostor (oko 60KB na WRT54GL).

    Budući da još uvijek nema TLS-a koji zahtijevaju SMTP poslužitelje vani (obično vaš ISP), predlažem da uzmete minutu da razmislite ako stvarno trebate koristiti TLS koji zahtijeva pristupnik.

    Ako ste odlučili omogućiti TLS podršku unatoč njegovoj nedostatku, preuzmite paket openSSL:

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

    Instalirajte "openSSL" (libopenssl) ipk u firmver:

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

    konfiguracije Postoji ograničenje kod SSMTP paketa, da ga nije moguće pozvati zamjenskom konfiguracijskom datotekom. Budući da je firmware čitan samo kada je na routeru, to znači da iz kutije možemo konfigurirati konfiguraciju samo u firmware. Međutim, što ako ne želimo proći sve korake za izmjenu programskog softvera, samo da promijenimo postavke e-pošte? (npr. promjena lozinke).

    U tu svrhu, i Jeremy (kreator mod-kit firmwarea) i ja smo došli do zaključka (samostalno, ako mogu ponizno dodati) da je jedini siguran način da to učinite:

    1. Napravite lokaciju konfiguracijskih datoteka koje paket ssmtp ukazuje na lokaciju samo za čitanje pod itd itd., Pokažite na tmp direktorij koji se može pisati tijekom izvođenja.
    2. Stvorite skriptu koja bi dinamički generirala konfiguracije na temelju NVRAM varijabli prilikom pokretanja.

    Da bi to postigli, potrebni su neki dodatni koraci …

    Simfonirajte ssmtp konfiguracijski direktorij Kao što je objašnjeno gore, moramo napraviti / Etc / ssmtp mjesto na usmjerivaču, pokažite na / tmp direktorij kao jedino mjesto za pisanje koje imamo na usmjerivaču u vrijeme izvođenja. Da biste to učinili, izbrišite ssmtp direktorij koji je izradio IPK instalacijski program:

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

    Izradite novu simboličku vezu koja usmjerava / etc / ssmtp na root datotečni sustav usmjerivača, kako bi se / apsolutna putanja usmjerila na / tmp / etc / ssmtp:

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

    Bilješka: Iako ovo izgleda nelogično upravo sada, jer usmjeravamo mapu za konfiguraciju paketa na lokaciju izvan radnog direktora modifikacijskog kompleta firmwarea, uvjeravam vas da to izgleda sasvim u redu od točke usmjerivača u vrijeme pokretanja.

    Init skripta Iako je posve moguće ne ubaciti ovu skriptu u firmware i pokrenuti ga kao startup skriptu kasnije, osjećam da je prikladno da ga ovdje, samo kao primjer za buduću uporabu. Izvorno je Jeremy stvorio skriptu prilagođenu nečijem zahtjevu, kasnije, prilagodio sam i povećavajući ga kako bih bio kompatibilniji s DD-WRT i syslog izvješćivanjem.

    Stvaranje nove init (pokretanje) skripte:

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

    Napomena: Možete upotrijebiti drugi urednik, koristim Vi jer je dosljedan onome što je dostupno na usmjerivaču … Učinite to svoj sadržaj:

    #!/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###########'

    Neka bude izvršna:

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

    Imajte na umu NVRAM čekanje varijabli u skripti, naša je odgovornost dati im nešto za rad nakon što smo instalirali našu modificiranu firmware na usmjerivač.

    Izgradite modificirani firmver

    Sada kada je sve na mjestu, došlo je vrijeme da ponovno promijeni modificirani firmver u komprimiranu binarnu koja bismo mogli bljeskati usmjerivaču. Sintaksa "build.sh" skripte je:./build_firmware.sh OUTPUT_DIR WORKING_DIRECTORY

    Da biste to učinili koristimo isporučenu skriptu, stoga izdajte:

    ./build_firmware.sh output_mini1./working_dir_mini1/

    Nakon završetka radnje "graditi", čeka se nekoliko firmware slika koje se čekaju na korištenje u direktoriju "izlaz".

    Sada možete baciti datoteku "custom_image_00001-generic.bin" na svoj usmjerivač kao što bi inače DD-WRT firmver.

    Bilješka: Nemojte zaboraviti vratiti "tvorničke postavke" prije, za vrijeme i odmah nakon bljeska firmvera.

    Post bljesak korake

    Budući da smo napravili SSMTP paket za traženje NVRAM varijabli kako bismo generirali ssmtp konfiguracijsku datoteku, moramo ga dostaviti nedostajućim informacijama. To ćemo postići pomoću funkcije "Run commands" web-GUI.

    Idite na web-GUI -> "administracija" -> "naredbe" -> zalijepite u tekstualni okvir sljedeće:

    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

    Zamijenite tekst nakon jednake (=) znakove, sa svojim stvarnim informacijama, a zatim pritisnite "Run naredbe". Bilješka: ako upotrebljavate redovito, ne TLS koji koristite, SMTP poslužitelj koji koristi port je 25 umjesto 587.

    Sada kada su informacije o SSMTP-u spremne za upotrebu, morat ćete se pozvati na init skriptu. Zato možete ponovno pokrenuti usmjerivač, ili ga zalijepiti u tekstni okvir "naredbe":

    /etc/init.d/S80ssmtp

    Zatim ponovo pritisnite "Run commands". Izlaz ove naredbe trebao bi izgledati kao:

    Provjerite možete poslati e-poštu Ponovno zalijepite ovo u tekstni okvir "naredbi" sljedeću naredbu s adresom e-pošte:
    Provjerite možete poslati e-poštu Ponovno zalijepite ovo u tekstni okvir "naredbi" sljedeću naredbu s adresom e-pošte:

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

    Zatim ponovo pritisnite "Run commands". Budući da smo koristili -vvv opciju za dodatnu verbositet, izlaz ove naredbe treba izgledati kao:

    Ako sve bude dobro, trebali biste dobiti e-poštu za testiranje u roku od nekoliko sekundi.
    Ako sve bude dobro, trebali biste dobiti e-poštu za testiranje u roku od nekoliko sekundi.

    Nadamo se da možete upotrijebiti ove informacije kako biste još više potisnuli ograničenja vašeg kućnog usmjerivača, a onda ste smatrali mogućim i sada upravljate svojim kućnim usmjerivačem i DD-WRT …

    Linux produžuje život, Linux širi svijest … Linux je od vitalnog značaja za paketne putovanje

Preporučeni: