If-Koubou

Atbrīvojiet vēl vairāk jaudas no mājas maršrutētāja ar DD-WRT mod-Kit

Atbrīvojiet vēl vairāk jaudas no mājas maršrutētāja ar DD-WRT mod-Kit (Kā)


Esam jau parādījuši, kā mainīt savu mājas maršrutētāju ar DD-WRT alternatīvo programmaparatūru, lai panāktu ievērojami uzlabotu veiktspēju, un šodien mēs parādīsim, kā to vēl vairāk izmantot, izmantojot DD-WRT mod-Kit.

Ja jūs vēl neesat pārliecināts, pārbaudiet divus iepriekšējos sērijas rakstus:

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

Pieņemot, ka esat pazīstams ar šīm tēmām, turpiniet lasīt. Paturiet prātā, ka šis ceļvedis ir nedaudz vairāk tehniska, un iesācējiem vajadzētu būt uzmanīgiem, modding savu maršrutētāju.

Pārskats

Šajā rokasgrāmatā soli pa solim tiks detalizēti izklāstīts, 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 modificēšanu, to neveidojot no avota. Veicot izmaiņas šādā veidā, izmantojot sniegtos skriptus, kļūst vienkāršs jautājums par dažu failu lejupielādi, aizstāšanu un dzēšanu.

Vispopulārākais šīs metodes izmantošanas iemesls ir tas, ka nesen DD-WRT atbalsts Openwrt IPKG paketēm ir novirzīts maršrutētājiem, kuriem ir cietais disks (izmantojot USB), un tas padara mod-komplektu vienīgi konsekventu darba veidu, lai veiksmīgi instalētu IPKG paketes gadījumos, kad HD nav pieejams. Turklāt šai metodei ir papildu priekšrocība, atbrīvojot jūs no JFFS pakotņu instalēšanas atkarības, kas ir patiesa problēma maršrutētājiem ar 4MB zibspuldzi.

Sabiedrisko enerģiju attēla attēls

Mērķi

Kamēr instrukcijas par šo procedūru ir detalizēti aprakstītas DD-WRT wiki vietnē un izstrādātāja vietnē, mūsu mērķis ir padarīt šo rokasgrāmatu kopēšanas un ielīmēšanas procedūru, ko katrs var izmantot, lai sasniegtu šādus mērķus:

  • Ievietojiet ieslēgto paketi un tās atkarības.
  • Instalējiet ssmtp paketi ar NVRAM bāzētu ģenerētu konfigurāciju.
    • Pēc izvēles ar atbalstu TLS smtp (a.k.a. Gmail atbalsts).

Kad būsiet sekojis šai procedūrai, tam būtu būtiski vienkārši pielāgot citu pakotņu instalāciju.

Brīdinājums: Protektors viegli ... paturiet prātā, ka nepareiza izmantošana modifikācijas komplektu, var atstāt jūs ar maršrutētāju, kas nepieciešams de-ķieģeļu (kā tas savukārt to par bezjēdzīgi ķieģeļu). Tomēr, ja jūs esat īsts geek, jūs, iespējams, parakstījies uz ideoloģiju, ka tas, kas var iznīcināt lietu, kontrolē lietu, un to dara tikai īsti geeks

Priekšnosacījumi

  1. Izmantojot šo procedūru var ķieģelis jūsu maršrutētājs, kā padarīt savu maršrutētāju nelietojams mēs neuzņemamies atbildību par jebkādiem zaudējumiem, kas var būt tieši vai cita veida nodarīti turpmāk minēto procedūru izmantošanas dēļ.
  2. Šī procedūra tika veikta ar Debian balstītām sistēmām (Lenny, Squeeze un Mint), un tālāk sniegtie norādījumi uzņemas, ka jūs to izmantojat arī.
  3. Šī procedūra ir ieteicama tikai tiem lietotājiem, kuriem ir pieredze ar maršrutētāja mirgošanu ar DD-WRT, ar visiem priekšnoteikumiem, brīdinājumiem un ierobežojumiem, kas attiecas uz viņu aparatūras iestatīšanu. laba vieta, kur sākt darboties, būtu mūsu Turn Your Home Router uz Super-Powered maršrutētāju ar DD-WRT guide.
  4. Jūsu maršrutētājam jāatbalsta vismaz "mini" versija DD-WRT.
  5. Šī procedūra tika izveidota un pārbaudīta uz Linksys WRT54GS / L maršrutētāju, ja jūsu izmantojamais maršrutētājs no citiem pārdevējiem, jūsu nobraukums var ļoti.

Uzstādīt

Nepieciešamo paku instalēšana

Programmatūras modifikācijas komplekts ir atkarīgs no tā, kā to apkopot un strādāt. Lai tos visus instalētu / atjauninātu uzreiz, izlaist šo komandu terminālā:

sudo aptitude instalēt gcc g + + binutils patch bzip2 flex bison padarīt gettext unzip zlib1g-dev libc6 sagrābšana

Lejupielādējiet mod-komplektu

Izveidojiet apakšmapi un iegūstiet 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-read-only
cd firmware-mod-kit-read-only / bagāžnieks /

Lejupielādējiet programmaparatūru darbam

Pirmā lieta, kas jāizskata, ir kāda versija vēlaties izmantot?
Īkšķis ir: ja rodas šaubas, 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 bloatware. tādēļ lielākajā daļā gadījumu atstājot abas telpas procedūrām un pat dažām JFFS telpām citām lietojumprogrammām.

Kad esat nolēmis par versiju, ieteicams izmantot jaunāko programmatūras versiju pārskatīšanu, jo tiem parasti ir daudz kļūdu labojumu, salīdzinot ar to "stabilajiem" partneriem.
Šī raksta laikā jaunākā versija bija "03-17-11-r16454", un šī pārskatīšana tiek izmantota sekojošās komandās.

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 atvieglotu sekot tam, kāda versija mēs izmantojam, pārdēvējiet lejupielādēto failu, lai attēlotu 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 norādītās komandas pieņem, ka esat pārdēvējis failu.

Izgūstot programmaparatūru

Lai varētu mainīt failus programmaparatūras ietvaros, mums tas ir jāizslēdz par pagaidu direktoriju.
Šīs komandas sintakse ir:
./extract_firmware.sh FIRMWARE_IMAGE WORKING_DIRECTORY
Mūsu gadījumā tas nozīmē:

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

Piezīme. Pirmo reizi, kad palaižat šo komandu, tā izveido sistēmas mod-kit rīkus. tas notiek tikai vienu reizi un var aizņemt kādu laiku ... tādēļ esiet pacietīgi ...

Iepakojumu instalēšana

Tagad, kad tiek ielādēta programmaparatūra, mēs varam instalēt paketes uz to.
Parasti procedūra ir lejupielādēt pakotni un tās atkarības ipk faila formā no openWRT repozitorija. Pēc lejupielādes instalējiet tos izņemtajā programmaparatūrā, izmantojot norādīto skriptu.

Izlaupīta pakete

Detalizēti norādījumi par to, kā konfigurēt un lietot Knockd, tiks detalizēti izklāstīti nākamajā rakstā, tāpēc jūs varat izvēlēties izlaist šo darbību uzreiz vai izdarīt to, gatavojoties nākotnei, jo Knockd neko aizņem daudz vietas.

Knockd ir dēmons, kas dzird sekvenču saziņas notikumus saites slānī, pēc tam uz tiem iedarbojas.
Tas nozīmē, ka ierīce, kurā darbojas dēmons, pat netiks "klausīta" ostās (ostas skenēšana tos neuztver kā atvērtu), un tā joprojām ļauj jums kaut ko darīt no vienas komandas līdz galam uz pilnu skriptu. Izmantojot šo paņēmienu, jūs varētu aktivizēt serveri, lai no attāluma (visā internetā) veiktu jebkādas operācijas, kas jums vajadzīgas, nepakļaujot jūsu mājas tīklu.

Knockd ir tikai viena sarakstā iekļauta atkarība, tāpēc lejupielādējiet pakotni un tā atkarību, izlaižot:

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

Ievietojiet firmware programmā ipk "knockdemon" (knockd):

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

Instalējiet "pakešu uztveršanu" (libpcap) ipk programmaparatūrā:

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

Tā kā var tikt izmantota alternatīva konfigurācijas fails (tas tiks izskaidrots nākamajā rakstā), tad nav nepieciešams veikt citas operācijas, un jūs varat pāriet uz inžektora celtņu sadaļu, ja tā viss, kuru vēlaties instalēt.

SSMTP pakete

SSMTP pakotne ļauj maršrutētājam sūtīt e-pasta ziņojumus tā, kā mēs parādījām mūsu e-pasta brīdinājumos par e-pasta iestatīšanu e-pastā, izmantojot serverus, izmantojot Gmail vai SMTP. Tad mēs solījām jums to, ka mēs parādīsim, kā to konfigurēt DD-WRT, un mēs to tagad piegādāsim.
Tas ir galvenokārt noderīgi, ja jūs gatavojaties veidot skriptus maršrutētājā, kuru vēlaties saņemt pa e-pastu.

Šīs pakotnes iestatīšana ir nedaudz sarežģītāka, jo tas ir parastajās Linux sistēmās, pateicoties iegultās sistēmas radītajam ierobežojumam, tādēļ dziļi ieelpojiet ... gatavs ...? ejam… :)

Lejupielādējiet paku:

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

Instalējiet "ssmtp" ipk programmaparatūrā:

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

TLS atbalsts (pēc izvēles)
SSMTP neuzrāda nevienu citu pakotni kā tā atkarību, tomēr, ja vēlaties izmantot smtp vārteju, kam nepieciešams TLS autentifikācija (t.i. Gmail), jums ir arī jāinstalē openSSL pakage.
Piezīme: Ir milzīgs šķērslis to darot, ievērojami samazinot vietu JFFS maršrutētājam vēlāk. Tas nozīmē, ka openSSL pakete aizņem aptuveni 500K no kopējā 4MB platuma (parastam "mega" atbalstošajam maršrutētājam), kas savienots ar JFFS pieskaitāmajiem izdevumiem, un jūs atklāsiet, ka esat pa kreisi, bet nedaudz mazu bloku bezmaksas JFFS telpa (aptuveni 60KB uz WRT54GL).

Tā kā joprojām pastāv ne TLS, kas prasītu smtp serverus (parasti jūsu ISP), es ieteiktu pagaidīt minūti, lai domātu, vai jums tiešām ir nepieciešams izmantot TLS, kam nepieciešams vārteja.

Ja esat nolēmis aktivizēt TLS atbalstu, lai gan tas ir neizdevīgā stāvoklī, lejupielādējiet openSSL pakotni:

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

Instalējiet "openSSL" (libopenssl) ipk programmaparatūru:

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

Konfigurācijas
Ar SSMTP paketi ir ierobežojums, ka to nevar atsaukties ar alternatīvu konfigurācijas failu.
Tā kā programmaparatūra ir lasāma tikai tad, kad tā ir maršrutētājā, tas nozīmē, ka no kastes mēs varam konfigurēt tikai programmaparatūru.
Tomēr, ko mēs darīsim, ja mēs nevēlamies iziet visas programmaparatūras modifikācijas darbības, lai mainītu e-pasta iestatījumus? (piemēram, paroles maiņa).

Lai to panāktu, gan Jeremy (firmware mod-kit veidotājs), gan pats esmu izdarījis (neatkarīgi no tā, ja es varētu pazemīgi piebilst), ka vienīgais pamatīgais veids, kā to izdarīt, būtu:

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

Lai to panāktu, ir vajadzīgi daži papildu soļi ...

Sinhronizē ssmtp konfigurācijas direktoriju
Kā paskaidrots iepriekš, mums ir jāizdara / etc / ssmtp atrašanās vieta maršrutētājā, norādiet uz / tmp direktoriju, jo tā ir vienīgā rakstāmā vieta, kurā mēs esam pie maršrutētāja izpildes laikā. Lai to izdarītu, izdzēsiet ssmtp direktoriju, ko izveidojis ipk instalētājs:

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

Izveidojiet jaunu simbolisku saiti, kas norāda / etc / ssmtp maršrutētāja saknes failu sistēmā, norādot uz / tmp / etc / ssmtp kā absolūtu ceļu:

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

Piezīme: Pat ja tas pašlaik izskatās neloģiski, jo mēs norādām paketes konfigurācijas direktoriju uz atrašanās vietu, kas atrodas ārpus programmaparatūras modifikācijas komplekta darba direktorijas, es jums apliecinu, ka tas darbojas pilnīgi labi no maršrutētāju viedokļa izpildes laikā.

Init skripts
Kaut arī ir pilnīgi iespējams neiespiest šo skriptu programmaparatūras darbā un vēlāk palaist to kā palaišanas skriptu, es uzskatu, ka ir lietderīgi to ierakstīt šeit, tikai kā piemēru turpmākai lietošanai.
Sākotnēji Džeremijs izveidoja skriptu, kas pielāgots kāda klienta vēlmēm, vēlāk es to pielāgoju un papildināju, jo tas ir vairāk saderīgs ar DD-WRT un syslog pārskatu sniegšanu.

Izveidojiet jaunu init (startēšanas) skriptu:

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

Piezīme. Varat izmantot citu redaktoru, es izmantoju vi, jo tas atbilst maršrutētājam pieejamai informācijai ...
Padariet šo saturu:

#! / bin / sh
#
# nosaukums: ssmtp_nvram.sh
# autors: Jeremijs Collake un Aviad Raviv
# vietne: http://www.bitsum.com, http://howtogeek.com
#
# skriptu, lai izveidotu konfigurācijas failu no nvram vars.
# strādās ar jebkuru konfigurācijas failu, kas izmanto
# var = vērtība veida pāriem.
#
# izmanto prefiksus nvram mainīgajiem.
#
# t.i.
# ssmtp_hostname = kaut kas
# tulko ssmtp.conf
# hostname = kaut kas
#
logger_func ()

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

logger_func "########### Sākt SSMTP init palaist ###########"
logger_func "utt kataloga izveidošana / 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 "Veidojot $ CONFIG_FILE paketē $ PACKAGE_NAME"
#echo $ 0: ģenerējot $ CONFIG_FILE paketē $ PACKAGE_NAME
echo "#! / bin / sh"> $ CONFIG_FILE
echo "#" >> $ CONFIG_FILE
echo "# auto ģenerēts, pamatojoties uz nvram ar $ 0" >> $ CONFIG_FILE
echo "#" >> $ CONFIG_FILE

ja [-z "" nvram show | grep ssmtp "]]
tad
logger_func "Šķiet, ka neesat iestatījis NVRAM mainīgos, kas vajadzīgi, lai ģenerētu conf failu"
logger_func "** Apsveriet **, izmantojot šīs komandas startēšanas skriptā:"
logger_func "nvram iestatīts [email protected]"
logger_func "nvram iestatīts ssmtp_mailhub = smtp.gmail.com: 587"
logger_func "nvram iestatīts [email protected]"
logger_func "nvram set ssmtp_UseSTARTTLS = YES"
logger_func "nvram iestatīts ssmtp_AuthUser = lietotājvārds"
logger_func "nvram set ssmtp_AuthPass = parole"
logger_func "nvram iestatīts ssmtp_FromLineOverride = JĀ"
logger_func "izveidojiet NVRAM mainīgos un no jauna palaidiet init skriptu vai atsāknējiet, lai iestatījumi ietekmētu."
iziet no 0
fi

###########################################################
#
# galvenā cilpa
#
SED_COMMAND = "s / $ NVRAM_PREFIX / /"
CONFIG_VARS = "nvram show | grep $ NVRAM_PREFIX | sed" $ SED_COMMAND ""
par i $ CONFIG_VARS; dari
echo $ i >> $ CONFIG_FILE
pabeigts

###########################################################
#
# saprāta pārbaude
#
ja [! -f "$ CONFIG_FILE"]; tad
# echo "$ 0: KĻŪDA - nevarēja izveidot $ CONFIG_FILE. Iespējams, ka nav simink / etc / XXXX -> / tmp / etc / XXXX?"
logger_func "KĻŪDA - nevarēja izveidot $ CONFIG_FILE. Varbūt nav simink / etc / XXXX -> / tmp / etc / XXXX?"
fi
logger_func "########### Pabeigts SSMTP init palaist ###########"

Padarīt to izpildāmu:

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

Ņemt vērā NVRAM gaidošos mainīgos skriptā, mūsu pienākums ir dot viņiem kaut ko strādāt, kad mēs esam uzstādījuši mūsu modificēto programmaparatūru maršrutētājā.

Izveidojiet modificēto programmaparatūru

Tagad, kad viss ir izveidots, ir laiks atkārtoti iesaiņot modificēto programmaparatūru saspiestā binārajā formātā, ko mēs varam mirgot maršrutētājā.
Sinhronizācijas "build.sh" skripts ir:
./build_firmware.sh OUTPUT_DIR WORKING_DIRECTORY

Lai to izdarītu, mēs izmantojam piegādāto skriptu, tādēļ izsniedzam:

./build_firmware.sh output_mini1 ./working_dir_mini1/

Kad "build" darbība ir pabeigta, būs vairāki programmaparatūras attēli gaida, lai to izmantotu "izejas" direktorijā.

Tagad jūs varat mirgot failu ar nosaukumu "custom_image_00001-generic.bin" savam maršrutētājam, kā jūs parasti būtu DD-WRT programmaparatūras.

Piezīme: Neaizmirstiet atjaunot "rūpnīcas noklusējuma iestatījumus" pirms, laikā un uzreiz pēc programmaparatūras zibspuldzes.

Izlikt flash solījumus

Tā kā mēs izveidojām SSMTP paketi, meklējam NVRAM mainīgos, lai ģenerētu ssmtp konfigurācijas failu, mums tagad ir jānorāda informācija par trūkstošo informāciju.
Mēs to paveicam, izmantojot funkciju "Palaist komandas" tīmekļa GUI.

Iet uz tīmekļa GUI -> "administrācija" -> "komandas" -> ielīmējiet teksta lodziņā sekojošo:

nvram iestatīts [email protected]
nvram iestatīt ssmtp_mailhub = smtp.gmail.com: 587
nvram iestatīts [email protected]
nvram iestatīt ssmtp_UseSTARTTLS = YES
nvram iestatīts ssmtp_AuthUser = jūsu-gmail-lietotāja vārds (bez @ gmail.com)
nvram iestatīt ssmtp_AuthPass = jums-gmail-paroli
nvram iestatīts ssmtp_FromLineOverride = YES
nvram izdarīt

Nomainiet tekstu pēc vienādas (=) zīmes ar savu faktisko informāciju, pēc tam nospiediet "Palaist komandas".
Piezīme: ja jūs, izmantojot regulāru, nevis TLS, izmantojot SMTP serveri, izmantojamais ports ir 25, nevis 587.

Tagad, kad SSMTP informācija ir gatava lietošanai, jums būs jāizmanto init script. Tātad jūs varat vai nu pārstartēt maršrutētāju, vai ielīmēt to teksta lodziņā "komandas":

/etc/init.d/S80ssmtp

Tad atkal pieskarieties "Palaist komandas".
Šīs komandas izejai vajadzētu izskatīties šādi:

Pārbaudiet, vai jūs varat nosūtīt e-pastu
Atkal ielīmējiet to teksta lodziņā "komandas" ar šādu e-pasta adresi:

echo "testēšanas tīģelis pa e-pastu 123 qwe" | ssmtp -vvv [email protected]

Tad atkal pieskarieties "Palaist komandas".
Tā kā mēs izmantojām -vvv iespēju papildu verbosity, šīs komandas izejas izskatās šādi:

Ja viss notiks 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 nospiestu mājas maršrutētāja ierobežojumus vēl tālāk, kad jūs domājat, ka iespējams, un tagad jūs patiešām kontrolē savu mājas maršrutētāju un DD-WRT ...

Linux paplašina dzīvi, Linux paplašina apziņu ... Linux ir svarīga pakešu ceļošanai