A DD-WRT Mod-Kit segítségével még több energiát szabadíthat fel otthoni routeredről

Tartalomjegyzék:

A DD-WRT Mod-Kit segítségével még több energiát szabadíthat fel otthoni routeredről
A DD-WRT Mod-Kit segítségével még több energiát szabadíthat fel otthoni routeredről

Videó: A DD-WRT Mod-Kit segítségével még több energiát szabadíthat fel otthoni routeredről

Videó: A DD-WRT Mod-Kit segítségével még több energiát szabadíthat fel otthoni routeredről
Videó: How to Remove Win 7 Antispyware 2012 by Britec - YouTube 2024, Április
Anonim
 Már bemutattuk, hogy miként lehet módosítani otthoni útválasztóját a DD-WRT alternatív firmware-szel a nagy teljesítmény érdekében, és ma megmutatjuk Önnek, hogy hogyan tovább vegye tovább a DD-WRT Mod-Kit készülékkel.
Már bemutattuk, hogy miként lehet módosítani otthoni útválasztóját a DD-WRT alternatív firmware-szel a nagy teljesítmény érdekében, és ma megmutatjuk Önnek, hogy hogyan tovább vegye tovább a DD-WRT Mod-Kit készülékkel.

Ha még nem tette meg, győződjön meg róla, és nézze meg a sorozat két korábbi cikkét:

  • Kapcsolja be az otthoni útválasztóját egy szuper-táplált routerrel a DD-WRT-vel
  • Hogyan növelheti a Wi-Fi hálózat jelét és növelheti a hatótávolságot a DD-WRT használatával?

Feltéve, hogy ismeri ezeket a témákat, olvassa tovább. Ne feledje, hogy ez az útmutató kevésbé technikai jellegű, és a kezdőknek óvatosnak kell lenniük a router modifikálásakor.

Áttekintés

Ez az útmutató lépésről lépésre lemerül arról, hogy miként hozhat létre saját DD-WRT firmware-t a módosításokkal és kiegészítésekkel a "firmware modifikációs készlet" használatával.

A firmware-módosítási készlet lehetővé teszi a firmware módosítását a forrásból történő összeállítás nélkül. A változtatások így, a mellékelt parancsfájlok segítségével egyszerű fájlok letöltésére, cseréjére és törlésére.

Ennek a módszernek a legfőbb oka, hogy az utóbbi időben az Openwrt IPKG csomagok támogatása a merevlemezes merevlemezek felé (USB-n keresztül) tolódott el, így a mod-kit az egyetlen következetes módon telepíti az IPKG csomagokat sikeresen azokban az esetekben, amikor a HD nem érhető el. Ráadásul ez a módszer azzal az előnnyel jár, hogy felszabadítja Önt a JFFS függőségtől a csomagok telepítéséhez, ami csak 4 MB flashes routerek esetén valós probléma.

Kép publicenergy

célok

Bár az eljárásra vonatkozó utasításokat a DD-WRT wikijáján és a fejlesztő webhelyén részletezzük, arra törekszünk, hogy ezt az útmutatót egy másolás és beillesztés folyamatába illesszük, amelyet bárki használhat a következő célok eléréséhez:

  • Telepítse a knockd csomagot és annak függőségét.
  • Telepítse az ssmtp csomagot NVRAM alapú konfigurációkkal.

    Opcionálisan a TLS smtp támogatásával (például Gmail támogatással).

    Miután ezt az eljárást követtük, az egyéb csomagok telepítéséhez egyszerűen alkalmazkodnunk kell.

    Figyelem: Tapintás könnyedén … Ne felejtsük el, hogy a módosító készlet hibás használata, egy olyan útválasztóval hagyhatja el Önt, amelyre szükség van a téglafestéshez (mint ez egy haszontalan téglához). Azonban ha valódi geek vagy, valószínûleg feliratkozol az ideológiára, hogy aki elpusztít egy dolgot, irányít egy dolgot, és csak az igazi geek teszik ezt

    Image
    Image

    Előfeltételek

    1. Ezzel az eljárással lehet tégla az útválasztó, ahogy az útválasztó használhatatlan, semmilyen felelősséget nem vállalunk az alábbi eljárások alkalmazásából közvetlenül vagy más módon okozott károkért.
    2. Ezt az eljárást Debian alapú rendszereken (Lenny, Squeeze és Mint) végeztük, és az alábbi utasítások azt feltételezik, hogy az egyiket is használja.
    3. Ez az eljárás csak azokra a felhasználókra vonatkozik, akiknek tapasztalata van a DD-WRT forgalomirányítójának villámgyorsításával, és minden előfeltevésükre, figyelmeztetésükre és korlátozásukra a hardveres beállításukra vonatkoznak. egy jó kiindulópont lenne a Turn Your Home Router a Super-Powered Router a DD-WRT útmutató.
    4. A forgalomirányítónak legalább a DD-WRT "mini" változatát támogatnia kell.
    5. Ezt az eljárást a Linksys WRT54GS / L útválasztókon hozták létre és tesztelték, ha más gyártók routerét használják, akkor a futásteljesítmény is igen.

    Beállít

    A szükséges csomagok telepítése

    A firmware-módosítási készletnek bizonyos függőségek vannak ahhoz, hogy összeálljanak és működjenek. A telepítéshez / frissítéshez egyszerre Adja ki ezt a parancsot egy terminálban:

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

    Töltse le a mod-készletet

    Hozzon létre egy almappát és kapja meg a készletet a hivatalos SVN-től:

    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/

    Töltse le a firmware-t, hogy dolgozhasson

    Az első dolog, hogy fontolja meg, melyik verziót szeretné használni? A hüvelykujjszabály: ha kétségei vannak, használja a "mini" szót. Ez azért van, mert amíg az útválasztó legalább a "mini" verziót támogatja, akkor a leggyakrabban használt funkciók használatával minden felfrissítés nélkül elérhető. így a legtöbb esetben helyet hagy a folyamatoknak és még néhány JFFS helyet is más alkalmazások számára.

    Miután eldöntötte a verziót, javasoljuk, hogy a rendelkezésre álló firmware legújabb verzióját használja, mivel általában "hibátlan" hibaelhárítással rendelkeznek. Az írás idején a legfrissebb "03-17-11-r16454" volt, és ezt a változatot használják a következő parancsok.

    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

    Annak érdekében, hogy könnyebben nyomon tudjuk követni, hogy milyen verziót használunk, nevezzük át a letöltött fájlt annak verziószámának megjelenítéséhez:

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

    Ez természetesen opcionális, de az alábbi parancsok feltételezik, hogy átneveztük a fájlt.

    A firmware kibontása

    Annak érdekében, hogy a firmware-ben lévő fájlokat megváltoztathassuk, át kell adnunk egy ideiglenes könyvtárba. A parancs szintaxisa:./extract_firmware.sh FIRMWARE_IMAGE WORKING_DIRECTORY A mi esetünkben ez lefordítaná:

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

    Megjegyzés: Amikor először futtatod ezt a parancsot, felépíti a mod-kit eszközöket a rendszereden. ez csak egyszer megtörténik, és kis időbe telhet … ezért legyen türelmes …

    Csomagok telepítése

    Most, hogy a firmware-t kivontuk, telepíthetjük a csomagokat. Általánosságban elmondható, hogy az eljárás a csomag és annak függőségeinek letöltését az ipK fájlból a openWRT adattárból. Miután letöltötte, telepítse őket a kibontott firmware-re a megadott szkript segítségével.

    A knockd csomag

    A részletes utasításokat a Knockd konfigurálásáról és használatáról részletesebben leírja egy jövőbeni cikkben, ezért dönthet úgy, hogy kihagyja ezt a lépést mostantól, vagy készen áll a jövőre való felkészülésben, mivel a Knockd nem sok helyet igényel.

    A Knockd egy olyan démon, amely a kapcsolódási rétegben lévő kommunikációs eseményeket figyeli a szekvenciák számára, majd cselekszik rájuk. Ez azt jelenti, hogy az eszközön futó démon nem "hallgathatja" a portokat (a portkeresés nem fogja látni őket nyitottnak), és még mindig csinál valamit, amire szüksége van, egyetlen parancsból egészen egy teljes szkripthez. Ennek a technikának a használatával a kiszolgáló bármelyik távmódú műveletet (az interneten keresztül) kiválaszthatja az otthoni hálózat felfedése nélkül.

    A Knockd csak egy felsorolt függőséggel rendelkezik, ezért töltse le a csomagot és annak függőségét a következő kiadásával:

    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

    Telepítse a "knock daemon" (knockd) ipk-t a firmware-be:

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

    Telepítse a "packet capture" (libpcap) ipk-t a firmware-be:

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

    Mivel a "knockd" egy alternatív konfigurációs fájllal hívható meg (amint azt egy későbbi cikk is megmagyarázza), nincs szükség semmilyen más művelet elvégzésére, és a firmware-építői részre ugorhat, ha mindaz, amit telepíteni szeretne.

    Az SSMTP csomag

    Az SSMTP csomag lehetővé teszi az útválasztó számára az e-mail üzenetek küldését, ahogyan azt a Gmail beállítása vagy a SMTP szervereken futó e-mailes figyelmeztetések beállítása során. Megígértük Önnek, hogy megmutatjuk, hogyan konfigurálhatjuk ezt a DD-WRT-nek, és mi most szállítjuk. Ez elsősorban akkor hasznos, ha szkripteket fog létrehozni az útválasztón, amelyről visszajelzést szeretne kapni e-mailes működéséről.

    Ez a csomag beállítása egy kicsit bonyolultabb, mint a normál Linux rendszereken, mivel a beágyazott rendszer által okozott korlátozás miatt mély lélegzetet kell készíteni … készen áll …? Gyerünk…:)

    Töltse le a csomagot:

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

    Telepítse az "ssmtp" ipk-t a firmware-be:

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

    TLS támogatás (opcionális) Az SSMTP nem sorolja fel a többi csomagot függőségekként, de ha olyan SMTP-átjárót szeretne használni, amely TLS hitelesítést igényel (pl. Gmail), akkor telepítenie kell az openSSL csomagot is. jegyzet: Hatalmas hátrány ezt a JFFS későbbi szakaszában a forgalomirányító jelentősen csökkentett térben teszi. Ez azt jelenti, hogy az openSSL csomag körülbelül 500K helyet foglal el a 4 MB-ról (egy normál nem "mega" támogató útválasztóhoz), amelyhez a JFFS fölött van, és rájössz, hogy a baloldali, de értékes néhány blokk ingyenes JFFS helyet (kb. 60KB a WRT54GL-en).

    Mivel még mindig nem TLS igényel smtp kiszolgálókat odakinn (általában az internetszolgáltatókat), azt javaslom, hogy egy percet gondoljon arra az esetre, ha valóban szüksége van az átjárót igénylő TLS-re.

    Ha úgy döntött, hogy hátránya ellenére engedélyezi a TLS támogatást, töltse le az openSSL csomagot:

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

    Telepítse az "openSSL" (libopenssl) ipk-t a firmware-be:

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

    konfigurációk Van egy korlátozás az SSMTP csomaggal, hogy egy másik konfigurációs állománysal nem lehet meghívni. Mivel a firmware csak akkor olvasható, ha az az útválasztón van, ez azt jelenti, hogy a dobozon kívül csak a firmware-t csak hardkódolhatjuk. De mi van, ha nem akarjuk átvenni az összes firmware-módosítási lépést, csak az e-mail beállítások módosításához? (például jelszóváltás).

    Ebből a célból mind Jeremy (a firmware mod-kit készítője), akár magam is megérkeztem (függetlenül attól, hogy alázatosan hozzáteszem), hogy az egyetlen jó módszer erre lenne:

    1. Végezze el a konfigurációs fájlok helyét, amelyre az ssmtp csomag pontosan az olvasási helyre mutat, stb., Mutasson a tmp könyvtárra, amely futás közben írható.
    2. Hozzon létre egy parancsfájlt, amely dinamikusan létrehozza az NVRAM változók alapú konfigurációkat az indításkor.

    Ennek eléréséhez további lépésekre van szükség …

    Jelölje be az ssmtp konfigurációs könyvtárat Amint a fentiekből kiderül, meg kell csinálnunk / Etc / ssmtp hely az útválasztón, mutasson a / tmp könyvtárat, mivel ez az egyetlen írható hely, amelyet a forgalomirányítón futunk. Ehhez törölje az ipk telepítő által létrehozott ssmtp könyvtárat:

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

    Hozzon létre egy új szimbolikus linket, amely az / etc / ssmtp-t az útválasztó gyökérfájlrendszerére irányítja, és a / tmp / etc / ssmtp-t abszolút útvonalaként mutassa be:

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

    jegyzet: Bár ez jelenleg nem logikus, mert a csomag konfigurációs könyvtárát a firmware-módosítási készlet munkakönyvtárán kívüli helyre mutatjuk, biztosíthatom Önöket, hogy a routerek szempontjából a futás idején teljesen jól néz ki.

    Init script Bár teljesen be lehet fejezni a szkriptet a firmware-be, és ezt később indítószkriptként futtathatja, úgy érzem, helyénvaló itt, ha csak példaként szolgál a későbbi felhasználásra. Eredetileg Jeremy létrehozta a kéréshez szabott forgatókönyvet, később módosítottam és kiegészítettem, hogy jobban kompatibilis legyen a DD-WRT és a syslog jelentésekkel.

    Hozzon létre egy új init (indítási) parancsfájlt:

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

    Megjegyzés: Használhatsz egy másik szerkesztőt, én használom a vi-ot, mert összhangban van azzal, ami elérhető az útválasztón … Tegye ezt a tartalmat:

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

    Futtathatóvá tétele:

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

    Vegye figyelembe az NVRAM várakozó változókat a szkriptben, a mi felelősségünk, hogy adjon nekik valamit, miután telepítettük a módosított firmware-t a routeren.

    Építsd a módosított firmware-t

    Most, hogy minden a helyén van, itt az ideje, hogy újracsomagolja a módosított firmware-t egy tömörített binárisba, amelyre az útválasztó felé villoghatunk. A build.sh script szintaxisa:./build_firmware.sh OUTPUT_DIR WORKING_DIRECTORY

    Ehhez a mellékelt szkriptet használjuk, ezért kérjük:

    ./build_firmware.sh output_mini1./working_dir_mini1/

    Miután elkészült a "build" művelet, több firmware-kép fog várni a "kimeneti" könyvtárban való használatra.

    Mostantól a "custom_image_00001-generic.bin" nevű fájlt az útválasztóhoz hasonlóan a DD-WRT firmware-hez hasonlóan készítheti el.

    jegyzet: Ne felejtsd el visszaállítani a "gyári alapértékeket" a firmware-flash előtt, alatt és után.

    Post flash lépések

    Mivel az SSMTP csomagot az NVRAM változók megkeresésére használtuk, hogy létrehozhassuk az ssmtp konfigurációs fájlt, a hiányzó információkat kell megadnunk. Ezt a webes GUI "Futtatás parancsok" funkció segítségével végezzük el.

    Menj a web-GUI -> "adminisztráció" -> "parancsok" -> illessze be a szövegdobozba a következőket:

    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

    Helyezze vissza a szöveget az egyenlő (=) jel után, a tényleges információkkal, majd nyomja meg a "Run parancsok" gombot. jegyzet: ha a rendszeres, nem TLS-t használó, smtp kiszolgálót használja, a használni kívánt port 25 helyett 587.

    Most, hogy az SSMTP információk használatra készek, be kell hívnia az init parancsfájlt. Így újraindíthatja az útválasztót, vagy illessze be a "parancsok" szövegdobozba:

    /etc/init.d/S80ssmtp

    Ezután nyomja meg újra a "Run parancsok" gombot. A parancs kimenete a következőképpen néz ki:

    Tesztelje, hogy küldhet e-mailt Ezután illessze be a "parancsok" szövegdobozba a következő parancsot az e-mail címével:
    Tesztelje, hogy küldhet e-mailt Ezután illessze be a "parancsok" szövegdobozba a következő parancsot az e-mail címével:

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

    Ezután nyomja meg újra a "Run parancsok" gombot. Mivel a -vvv opciót extra verbositáshoz használjuk, ennek a parancsnak a kimenete a következőnek kell kinéznie:

    Ha minden jól megy, akkor másodperceken belül be kell szerezned a tesztüzeneteket.
    Ha minden jól megy, akkor másodperceken belül be kell szerezned a tesztüzeneteket.

    Reméljük, hogy ezt az információt tovább használhatja az otthoni útválasztó korlátainak továbblépésére, amint lehetségesnek tartja, és most igazán irányíthatja otthoni útválasztóját, és a DD-WRT …

    A Linux kiterjeszti az életet, a Linux kiterjeszti a tudatosságot … A Linux elengedhetetlen a csomag utazáshoz

Ajánlott: