Mājas lapa » » Atbrīvojiet vēl vairāk enerģijas no mājas maršrutētāja ar DD-WRT Mod-Kit

    Atbrīvojiet vēl vairāk enerģijas no mājas maršrutētāja ar DD-WRT Mod-Kit


    Mēs jau esam parādījuši, kā modēt mājas maršrutētāju ar alternatīvu DD-WRT programmaparatūru, lai uzlabotu veiktspēju, un šodien mēs jums parādīsim, kā to lietot vēl vairāk ar DD-WRT Mod-Kit.

    Ja neesat jau iepriekš, pārliecinieties un pārbaudiet divus iepriekšējos sērijas rakstus:

    • Pārvērtiet savu mājas maršrutētāju Super-Powered Router ar DD-WRT
    • Kā palielināt Wi-Fi tīkla signālu un palielināt diapazonu ar DD-WRT

    Pieņemot, ka esat iepazinies ar šīm tēmām, turpiniet lasīt. Paturiet prātā, ka šī rokasgrāmata ir nedaudz tehniskāka, un iesācējiem jābūt uzmanīgiem, mainot savu maršrutētāju.

    Pārskats

    Šī rokasgrāmata sniegs soli pa solim, kā izveidot savu DD-WRT programmaparatūru ar izmaiņām un papildinājumiem, izmantojot “programmaparatūras modifikācijas komplektu”.

    Programmatūras modifikācijas komplekts ļauj veikt programmaparatūras modifikācijas, neizveidojot to no avota. Veicot izmaiņas šādā veidā, ar sniegto skriptu palīdzību kļūst par vienkāršu jautājumu par dažu failu lejupielādi, aizstāšanu un dzēšanu..

    Galvenais iemesls, kāpēc izmantot šo metodi, ir tāpēc, ka pēdējā laikā DD-WRT atbalsts Openwrt IPKG paketēm ir novirzīts uz maršrutētājiem, kuriem ir cietie diski (izmantojot USB), kas padara mod-kit vienīgo konsekventu veidu, kā veiksmīgi instalēt IPKG paketes gadījumiem, kad HD nav pieejams. Turklāt šai metodei ir papildu priekšrocība - atbrīvot jūs no JFFS atkarības no pakotņu instalēšanas, kas maršrutētājiem ar tikai 4MB zibspuldzi ir reāla problēma.

    Attēls ar publiceneriju

    Mērķi

    Lai gan instrukcijas par šo procedūru ir detalizētas DD-WRT wiki un izstrādātāja vietnē, mēs cenšamies padarīt šo rokasgrāmatu par kopēšanas un ielīmēšanas procedūru, ko ikviens var izmantot, lai sasniegtu šādus mērķus:

    • Instalējiet kopēšanas pakotni un tās atkarības.
    • Instalējiet ssmtp paketi ar ģenerētām NVRAM konfigurācijām.
      • Pēc izvēles ar atbalstu TLS smtp (a.k.a Gmail atbalsts).

    Kad esat ievērojis šo procedūru, ir lietderīgi to pielāgot citām iepakojuma iekārtām.

    Brīdinājums: Viegli apgrieziet ... paturiet prātā, ka nepareiza modifikācijas komplekta lietošana var atstāt jūs ar maršrutētāju, kuram ir vajadzīgs ķieģelis (kā tas savukārt ir bezjēdzīgs ķieģelis). Tomēr, ja jūs esat īsts geeks, jūs, iespējams, piesakāties ideoloģijai, ka tas, kurš var iznīcināt lietu, kontrolē lietu, un tikai to dara taisnība.

    Priekšnoteikumi

    1. Izmantojot šo procedūru, var ķieģelis jūsu maršrutētāju, tāpat kā padarīt savu maršrutētāju nelietojama, mēs neuzņemamies nekādu atbildību par jebkādiem zaudējumiem, kas var rasties tieši vai citādi, izmantojot zemāk minētās procedūras.
    2. Šī procedūra tika veikta, izmantojot Debian balstītas sistēmas (Lenny, Squeeze un Mint), un tālāk minētās instrukcijas pieņem, ka jūs izmantojat arī vienu.
    3. Šī procedūra ir ieteicama tikai tiem cilvēkiem, kuriem ir pieredze ar maršrutētāju ar DD-WRT mirgošanu, ar visiem priekšnoteikumiem, brīdinājumiem un ierobežojumiem, kas attiecas uz to aparatūras iestatīšanu. laba vieta, kur sākt, būtu mūsu mājas maršrutētājs pārvērsties Super-Powered Router ar DD-WRT rokasgrāmatu.
    4. Jūsu maršrutētājam ir jāatbalsta vismaz DD-WRT “mini” versija.
    5. Šī procedūra tika izveidota un pārbaudīta maršrutos Linksys WRT54GS / L, ja izmantojat citu piegādātāju maršrutētājus, jūsu nobraukums var būt ļoti liels.

    Uzstādīt

    Nepieciešamo pakotņu instalēšana

    Firmas programmaparatūras modifikācijas komplektam ir dažas atkarības, lai tās varētu apkopot un strādāt. Lai tos visus instalētu / atjauninātu uzreiz, izlaidiet šo komandu terminālā:

    sudo aptitude instalēt gcc g ++ binutils plāksteris bzip2 flex bison make gettext unzip zlib1g-dev libc6 subversion

    Lejupielādējiet mod-kit

    Izveidojiet apakšmapi un saņemiet komplektu no oficiālā SVN:

    mkdir firmware_mod_kit
    cd firmware_mod_kit
    svn checkout http://firmware-mod-kit.googlecode.com/svn/trunk/ firmware-mod-kit-tikai lasāms
    cd firmware-mod-kit-tikai lasāms / stumbrs /

    Lejupielādējiet programmaparatūru, lai strādātu

    Pirmā lieta, kas jāapsver, ir tā, kuru versiju vēlaties izmantot?
    Īkšķis ir šāds: šaubu gadījumā izmantojiet “mini”. Tas ir tāpēc, ka tik ilgi, kamēr jūsu maršrutētājs atbalsta vismaz “mini” versiju, izmantojot to, jums tiek piedāvātas visas visbiežāk izmantotās funkcijas bez jebkādiem bloatware. tādējādi vairumā gadījumu atstājot gan vietas procedūrām, gan pat dažām JFFS telpām.

    Kad esat nolēmis par versiju, ieteicams izmantot jaunāko pieejamo programmaparatūras versiju, jo tiem ir daudz kļūdu labojumu salīdzinājumā ar to „stabilajiem” kolēģiem.
    Šīs rakstīšanas laikā jaunākais bija “03-17-11-r16454”, un šī pārskatīšana tiek izmantota komandās, kas seko.

    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

    Lai būtu vieglāk izsekot, kādu versiju mēs izmantojam, pārdēvējiet lejupielādēto failu, lai atspoguļotu tā versijas numuru:

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

    Tas, protams, nav obligāti, bet tālāk redzamajās komandās ir pieņemts, ka esat mainījis failu.

    Programmatūras ieguve

    Lai varētu nomainīt failus programmaparatūras ietvaros, ir jāiegūst tā saturs pagaidu direktorijā.
    Šīs komandas sintakse ir:
    ./extract_firmware.sh FIRMWARE_IMAGE WORKING_DIRECTORY
    Mūsu gadījumā tas iztulkotu uz:

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

    Piezīme. Pirmo reizi palaižot šo komandu, tā sistēmā izveido mod-kit rīkus. tas notiek tikai vienu reizi, un tas var aizņemt mazliet laika ... tāpēc esiet pacietīgi…

    Iepakojumu instalēšana

    Tagad, kad programmaparatūra ir iegūta, mēs varam to instalēt.
    Kopumā procedūra ir lejupielādēt paketi un tās atkarības ipk faila veidā no openWRT repozitorijas. Pēc lejupielādes instalējiet tos iegūtajā programmaparatūrā, izmantojot paredzēto skriptu.

    Knockd pakete

    Detalizēti norādījumi par to, kā konfigurēt un lietot Knockd, tiks detalizēti izklāstīti turpmākajā rakstā, lai jūs varētu izlaist šo soli tagad vai arī to darīt, gatavojoties nākotnei, jo Knockd nekādā gadījumā neņem daudz vietas.

    Knockd ir dēmons, kas klausās saziņas slāņu sakaru notikumus sekvencēm, un pēc tam darbojas uz tiem.
    Tas nozīmē, ka ierīce var darbināt dēmonu pat ne “klausīties” portos (ostas skenēšana tos neredzēs kā atvērtus) un joprojām padara to par kaut ko nepieciešamu, no vienas komandas uz augšu uz pilnu skriptu. Izmantojot šo paņēmienu, jūs varat aktivizēt serveri, lai veiktu jebkāda veida operāciju, kas tai nepieciešama attālināti (visā internetā), neatklājot mājas tīklu.

    Knockd ir tikai viena uzskaitītā atkarība, tāpēc lejupielādējiet paketi un tās atkarību, izsniedzot:

    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

    Instalējiet “knock daemon” (knockd) ipk firmware:

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

    Instalējiet “pakešu uztveršanas” (libpcap) ipk programmaparatūrā:

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

    Tā kā “knockd” var izmantot, izmantojot alternatīvu konfigurācijas failu (kā tas tiks paskaidrots turpmākajā rakstā), nav nepieciešams veikt kādu citu darbību, un jūs varat pāriet uz programmaparatūras ēkas sadaļu, ja tā viss, ko vēlaties instalēt.

    SSMTP pakete

    SSMTP pakotne ļauj maršrutētājam nosūtīt e-pasta ziņojumus tāpat kā mēs parādījām, kā iestatīt e-pasta brīdinājumus par Linux, izmantojot Gmail vai SMTP serveriem. Toreiz mēs apsolījām, ka mēs parādīsim, kā to konfigurēt DD-WRT, un mēs tagad piegādāsim.
    Tas ir galvenokārt noderīgi, ja plānojat izveidot maršrutētājus skriptus, kurus vēlaties saņemt, izmantojot e-pastu.

    Šī pakotnes iestatīšana ir mazliet sarežģītāka, tad tā ir parastās Linux sistēmās, jo iegulto sistēmu ierobežo ierobežojumi, tāpēc ieņemiet dziļu elpu ... gatavs?…. ejam… :)

    Lejupielādēt paketi:

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

    Instalējiet “ssmtp” ipk firmware:

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

    TLS atbalsts (pēc izvēles)
    SSMTP neparāda nekādas citas paketes kā atkarības, tomēr, ja vēlaties izmantot smtp vārteju, kas prasa TLS autentifikāciju (ti,. Gmail), jums ir jāinstalē arī openSSL pakage.
    Piezīme: Ir milzīgs šķērslis lai to izdarītu vēlāk, ievērojami samazinot JFFS maršrutētāja vietu. Tas nozīmē, ka openSSL pakete aizņem aptuveni 500K vietas no jūsu kopējā 4MB (parastam, ne “mega” atbalstošajam maršrutētājam), savienojuma ar JFFS pieskaitāmo un jūs atklāsiet, ka jūsu kreisajā pusē ir, bet dārgais mazais bloks bezmaksas JFFS telpa (aptuveni 60KB uz WRT54GL).

    Tā kā joprojām nav TLS, kas pieprasa smtp serverus (parasti jūsu ISP), es iesaku minūti, lai domātu, vai jums tiešām ir nepieciešams izmantot TLS, kas prasa vārteju.

    Ja esat nolēmis atļaut TLS atbalstu, neskatoties uz tās trūkumiem, lejupielādējiet openSSL paketi:

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

    Instalējiet “openSSL” (libopenssl) ipk firmware:

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

    Konfigurācijas
    SSMTP pakotnei ir ierobežojums, ka to nevar izmantot ar citu konfigurācijas failu.
    Tā kā programmaparatūra ir tikai lasāma tikai tad, kad tā atrodas maršrutētājam, tas nozīmē, ka no kastes mēs varam tikai kodēt konfigurāciju programmaparatūrā.
    Tomēr, ja mēs nevēlamies iet cauri visiem programmaparatūras modifikācijas soļiem, tikai lai mainītu e-pasta iestatījumus? (piemēram, paroles maiņa).

    Šajā nolūkā gan Jeremy (programmaparatūras moduļa veidotājs), gan es nonācu pie secinājuma (neatkarīgi, ja es varu pazemīgi pievienot), ka vienīgais saprātīgais veids, kā to izdarīt, būtu:

    1. Veiciet konfigurācijas failu atrašanās vietu, uz kuru ssmtp pakotne norāda uz tikai lasāmu vietu, utt., Norādiet uz tmp direktoriju, kas ir rakstāms runtime.
    2. Izveidojiet skriptu, kas dinamiski ģenerētu konfigurācijas, kas balstās uz NVRAM mainīgajiem lielumiem, startējot.

    Lai to panāktu, ir nepieciešami daži papildu pasākumi ...

    Sasaistiet ssmtp konfigurācijas direktoriju
    Kā paskaidrots iepriekš, mums tas ir jādara / etc / ssmtp atrašanās vietu maršrutētājam, norādiet uz / tmp direktorija ir vienīgā rakstāmā vieta, kas mums ir uz maršrutētāja darbības laikā. Lai to izdarītu, izdzēsiet ssmtp direktoriju, ko izveidoja ipk instalētājs:

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

    Izveidojiet jaunu simbolisku saiti, kas norāda maršrutētāja root faila sistēmā / etc / ssmtp, lai norādītu uz / tmp / etc / ssmtp kā absolūtu ceļu:

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

    Piezīme: Lai gan tas šobrīd izskatās neloģiski, jo mēs norādām uz iepakojuma konfigurācijas direktoriju vietā, kas atrodas ārpus programmaparatūras modifikācijas komplekta darba direktorijas, es apliecinu, ka tas ir pilnīgi naudas sods no maršrutētāju viedokļa darbības laikā.

    Sākuma skripts
    Lai gan ir pilnīgi iespējams neinjicēt šo skriptu programmaparatūrā un vēlāk to palaist kā palaišanas skriptu, man šķiet, ka tas ir piemērots, lai to ievietotu šeit, ja tas ir tikai piemērs turpmākai lietošanai.
    Sākotnēji Džeremijs izveidoja skriptu, kas pielāgots kādas personas pieprasījumam, vēlāk es to pielāgoju un papildināju, lai tas būtu vairāk saderīgs ar DD-WRT un syslog ziņojumiem.

    Izveidojiet jaunu init (starta) skriptu:

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

    Piezīme. Varat izmantot citu redaktoru, es izmantoju vi, jo tas atbilst tam, kas ir pieejams maršrutētājam…
    Padariet to tā saturu:

    #! / bin / sh
    #
    # nosaukums: ssmtp_nvram.sh
    # autors: Jeremy Collake un Aviad Raviv
    # vietne: http://www.bitsum.com, http://howtogeek.com
    #
    # skripts, lai izveidotu konfigurācijas failu no nvram vars.
    # darbosies jebkuram konfigurācijas failam, kas izmanto
    # var = vērtību tipa pāri.
    #
    # izmanto prefiksus nvram mainīgajiem.
    #
    #.
    # ssmtp_hostname = kaut kas
    # tulko uz ssmtp.conf
    # hostname = kaut kas
    #
    logger_func ()

    logger -s -p local0.notice -t SSMTP_init $ 1

    logger_func "########### Sāka SSMTP init palaist ###########"
    logger_func "etc direktorijas izveide / 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 "$ CONFIG_FILE ģenerēšana pakotnei $ PACKAGE_NAME"
    #echo $ 0: $ CONFIG_FILE ģenerēšana paketei $ PACKAGE_NAME
    atbalss "#! / bin / sh"> $ CONFIG_FILE
    echo "#" >> $ CONFIG_FILE
    echo "# auto ģenerēts, pamatojoties uz nvram, par $ 0" >> $ CONFIG_FILE
    echo "#" >> $ CONFIG_FILE

    ja [-z "'nvram parādīt | grep ssmtp'"]
    tad
    logger_func "Šķiet, ka neesat iestatījis NVRAM mainīgos, kas vajadzīgi, lai izveidotu conf failu"
    logger_func "** Apsveriet **, izmantojot šīs komandas starta skriptu:"
    logger_func "nvram komplekts [email protected]"
    logger_func "nvram set ssmtp_mailhub = smtp.gmail.com: 587"
    logger_func "nvram komplekts [email protected]"
    logger_func "nvram set ssmtp_UseSTARTTLS = YES"
    logger_func "nvram set ssmtp_AuthUser = lietotājvārds"
    logger_func "nvram komplekts ssmtp_AuthPass = parole"
    logger_func "nvram set ssmtp_FromLineOverride = YES"
    logger_func "izveido NVRAM mainīgos un atkārtoti palaiž inicializēto skriptu vai atsāknēšana, lai iestatījumi varētu ietekmēt."
    iziet no 0
    fi

    #################################################### #########
    #
    # galvenā cilpa
    #
    SED_COMMAND = "s / $ NVRAM_PREFIX / /"
    CONFIG_VARS = "nvram parādīt | grep $ NVRAM_PREFIX | sed" $ SED_COMMAND ""
    par i $ CONFIG_VARS; darīt
    echo $ i >> $ CONFIG_FILE
    izdarīts

    #################################################### #########
    #
    # saprāta pārbaude
    #
    ja [! -f "$ CONFIG_FILE"]; tad
    # echo "$ 0: ERROR - nevarēja izveidot $ CONFIG_FILE. Varbūt nav simink / etc / XXXX -> / tmp / etc / XXXX?"
    logger_func "ERROR - nevarēja izveidot $ CONFIG_FILE. Varbūt nav simink / etc / XXXX -> / tmp / etc / XXXX?"
    fi
    logger_func "########### Pabeidzis SSMTP init palaist ###########"

    Padariet to izpildāmu:

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

    Ņemiet vērā NVRAM gaidīšanas mainīgos skriptu, mūsu pienākums ir dot viņiem kaut ko strādāt, kad mēs esam instalējuši mūsu modificēto programmaparatūru maršrutētājam.

    Izveidojiet modificēto programmaparatūru

    Tagad, kad viss ir izveidots, ir pienācis laiks pārvērst modificēto programmaparatūru saspiestā binārijā, kuru mēs varam flash ar maršrutētāju..
    Skripta "build.sh" sintakse ir:
    ./build_firmware.sh OUTPUT_DIR WORKING_DIRECTORY

    Lai to izdarītu, mēs izmantojam piegādāto skriptu, tāpēc izdodiet:

    ./build_firmware.sh output_mini1 ./working_dir_mini1/

    Kad būs pabeigta operācija “būvēt”, “izejas” direktorijā tiks izmantoti vairāki programmaparatūras attēli.

    Tagad jūs, izmantojot DD-WRT programmaparatūru, tagad varēsiet vilkt failu ar nosaukumu „custom_image_00001-generic.bin”..

    Piezīme: Neaizmirstiet atjaunot “rūpnīcas noklusējumus” pirms programmaparatūras zibspuldzes, tās laikā un uzreiz pēc tās.

    Publicējiet zibspuldzes soļus

    Tā kā SSMTP pakete tika meklēta NVRAM mainīgajiem, lai izveidotu ssmtp konfigurācijas failu, mums tagad ir jāiesniedz trūkstošā informācija.
    Mēs to paveiksim, izmantojot web-GUI “Run komandas” funkciju.

    Dodieties uz web-GUI -> “administrācija” -> “komandas” -> ielīmējiet tekstlodziņā:

    nvram komplekts [email protected]
    nvram set ssmtp_mailhub = smtp.gmail.com: 587
    nvram komplekts [email protected]
    nvram komplekts ssmtp_UseSTARTTLS = YES
    nvram komplekts ssmtp_AuthUser = your-gmail-user-name (bez @ gmail.com)
    nvram komplekts ssmtp_AuthPass = you-gmail-parole
    nvram komplekts ssmtp_FromLineOverride = YES
    nvram izdarīt

    Aizstājiet tekstu pēc vienādas (=) zīmes ar savu faktisko informāciju un pēc tam noklikšķiniet uz “Palaist komandas”.
    Piezīme: ja izmantojat parastu, ne TLS, smtp serveri, lietojamā osta ir 257 vietā.

    Tagad, kad SSMTP informācija ir gatava lietošanai, jums būs jāizsauc init skripts. Tātad jūs varat vai nu atsāknēt maršrutētāju, vai arī ielīmēt to "komandu" tekstlodziņā:

    /etc/init.d/S80ssmtp

    Pēc tam vēlreiz nospiediet „Palaist komandas”.
    Šīs komandas izvadam vajadzētu izskatīties šādi:

    Pārbaudiet, vai varat nosūtīt e-pastu
    Vēlreiz ielīmējiet šo tekstu “komandu” tekstlodziņā ar šādu e-pasta adresi:

    atbalss "testa tīģelīšu sūtīšana pa e-pastu 123 qwe" | ssmtp -vvv [email protected]

    Pēc tam vēlreiz nospiediet „Palaist komandas”.
    Tā kā mēs izmantojām opciju -vvv papildu verbāliskumam, šīs komandas izvadam vajadzētu izskatīties šādi:

    Ja viss noritēja labi, jums vajadzētu saņemt testa e-pastu dažu sekunžu laikā.

    Mēs ceram, ka jūs varat izmantot šo informāciju, lai vēl vairāk ierobežotu mājas maršrutētāja ierobežojumus, tad jūs domājat par iespējamu, un jūs patiešām kontrolējat mājas maršrutētāju un DD-WRT ...


    Linux paplašina dzīvi, Linux paplašina apziņu ... Linux ir svarīgs pakešu ceļojumiem