Vapauta entistä enemmän virtaa kotireitittimestäsi DD-WRT Mod-Kitillä
Olemme jo osoittaneet, miten voit muokata kotireitittimesi DD-WRT-vaihtoehtoisen laiteohjelmiston avulla, jotta suorituskyky paranisi huomattavasti, ja tänään aiomme näyttää, miten voit ottaa sen edelleen käyttöön DD-WRT Mod-Kitin kanssa.
Jos et ole jo tehnyt, varmista ja tarkista kaksi aiempaa artikkelin sarjaa:
- Käännä kodin reititin DD-WRT: n kanssa Super-Powered -reitittimeksi
- Wi-Fi-verkon signaalin tehostaminen ja kantaman lisääminen DD-WRT: llä
Olettaen, että olet perehtynyt näihin aiheisiin, jatka lukemista. Muista, että tämä opas on hieman teknisempi, ja aloittelijoiden tulisi olla varovaisia, kun muutetaan reititintä.
Yleiskatsaus
Tämä opas kertoo askel askeleelta, miten voit luoda omia DD-WRT-laiteohjelmistoja muutoksilla ja lisäyksillä käyttämällä firmware-muutospakettia.
Laiteohjelmistomuutospaketin avulla voidaan tehdä muutoksia laiteohjelmistoon kääntämättä sitä ohjelmalähteestä. Muutosten tekeminen näin annettujen komentosarjojen avulla muuttuu yksinkertaiseksi lataamaan, korvaamaan ja poistamaan joitakin tiedostoja.
Pääasiallinen syy käyttää tätä menetelmää on se, että DD-WRT: n tuki Openwrt IPKG -paketeille on viime aikoina siirtynyt reitittimiin, joissa on kiintolevyt (USB-yhteyden kautta), mikä tekee mod-kitistä ainoan johdonmukaisen tavan asentaa IPKG-paketteja tapauksissa, joissa HD ei ole käytettävissä. Tällä menetelmällä on lisäksi se etu, että se vapauttaa sinut JFFS-riippuvuudesta pakettien asennuksesta, joka on vain 4 Mt: n flash-reitittimille todellinen ongelma.
Kuva publicenergy
Tavoitteet
Vaikka tätä menettelyä koskevat ohjeet ovat yksityiskohtaisia DD-WRT: n wikissä ja kehittäjän sivustossa, pyrimme tekemään tästä oppaasta kopiointi- ja liittämismenettelyn, jota kuka tahansa voi käyttää seuraavien tavoitteiden saavuttamiseen:
- Asenna knockd-paketti ja sen riippuvuudet.
- Asenna ssmtp-paketti NVRAM-pohjaisiin tuotettuihin kokoonpanoihin.
- Valinnaisesti tukemalla TLS smtp -ohjelmaa (esim. Gmail-tuki).
Kun olet noudattanut tätä menettelyä, sen on oltava tarkoituksenmukaista muokata sitä muille pakettilaitteille.
Varoitus: Kierrä kevyesti… pidä mielessä, että muutospaketin virheellinen käyttö voi jättää sinut reitittimeen, joka tarvitsee tiiliä (kuten se muuttuu hyödyttömäksi tiiliksi). Kuitenkin, jos olet todellinen geek, luultavasti tilaatte ideologian, että se, joka voi tuhota asian, hallitsee asiaa, ja vain tosi geeksit tekevät sen
edellytykset
- Tämän menettelyn avulla tiili reitittimesi, kuten reitittimen tekeminen käyttökelvoton, emme ota vastuuta mistään vahingoista, jotka voivat aiheutua suoraan tai muuten alla olevien menettelyjen käytöstä.
- Tämä menettely suoritettiin Debian-pohjaisilla järjestelmillä (Lenny, Squeeze ja Mint) ja alla olevat ohjeet edellyttävät, että käytät yhtä.
- Tätä menettelyä suositellaan vain niille, joilla on kokemusta reitittimen vilkkumisesta DD-WRT: llä, ja kaikki tarvittavat edellytykset, varoitukset ja rajoitukset, jotka koskevat niiden laitteiston asennusta. hyvä paikka aloittaa olisi kääntää kodin reitittimesi Super-Powered -reitittimeen, jossa on DD-WRT-opas.
- Reitittimen on tuettava vähintään DD-WRT: n “mini” -versiota.
- Tämä menettely luotiin ja testattiin Linksys WRT54GS / L -reitittimillä, jos käytät reitittimiä muista toimittajista, mittarilukema voi olla hyvin.
Perustaa
Tarvittavien pakettien asentaminen
Laiteohjelmistomuutospaketissa on joitakin riippuvuuksia, jotta se voi koota ja työskennellä. Jotta voit asentaa / päivittää ne kaikki kerralla, anna tämä komento päätelaitteessa:
sudo aptitude install gcc g ++ binutils patch bzip2 flex bison tehdä gettext unzip zlib1g-dev libc6 subversion
Lataa mod-kit
Luo alikansio ja hanki paketti viralliselta SVN: ltä:
mkdir firmware_mod_kit
cd firmware_mod_kit
svn checkout http://firmware-mod-kit.googlecode.com/svn/trunk/ firmware-mod-kit-read-only
cd-laiteohjelmisto-mod-kit-read-only / trunk /
Lataa laiteohjelmisto
Ensimmäinen asia on harkita sitä, mitä versiota haluat käyttää?
Nyrkkisääntö on: jos olet epävarma, käytä ”mini”. Tämä johtuu siitä, että niin kauan kuin reitittimesi tukee vähintään "mini" -versiota, sen avulla voit käyttää kaikkia yleisimmin käytettyjä ominaisuuksia ilman minkäänlaista bluware-ohjelmaa. siten jättää sekä tilan että jopa JFFS-tilan muille tavoille useimmissa tapauksissa.
Kun olet päättänyt versiosta, on suositeltavaa käyttää viimeisintä saatavilla olevaa firmware-versiota, koska niillä on yleensä paljon vikakorjauksia verrattuna niiden "vakaisiin" vastineisiin.
Tämän kirjoituksen aikaan viimeisin oli "03-17-11-r16454" ja tätä versiota käytetään seuraavissa komentoissa..
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
Jotta voisimme helpommin seurata käyttämämme versiota, nimeä ladattu tiedosto uudelleen sen versionumeroksi:
mv dd-wrt.v24_mini_generic.bin dd-wrt.v24_mini_generic-03-17-11-r16454.bin
Tämä on tietenkin valinnainen, mutta alla olevat komennot olettavat, että olet nimennyt tiedoston uudelleen.
Laiteohjelmiston poisto
Jotta voisit vaihtaa laiteohjelmiston sisällä olevia tiedostoja, meidän on poistettava sen sisältö väliaikaiseksi hakemistoksi.
Tämän komennon syntaksi on:
./extract_firmware.sh FIRMWARE_IMAGE WORKING_DIRECTORY
Tällöin tämä kääntää:
./extract_firmware.sh dd-wrt.v24_mini_generic-03-17-11-r16454.bin ./working_dir_mini1
Huomautus: Kun käynnistät tämän komennon ensimmäisen kerran, se rakentaa järjestelmän mod-kit-työkalut. tämä tapahtuu vain kerran ja voi kestää jonkin aikaa… niin ole kärsivällinen…
Pakettien asentaminen
Nyt kun laiteohjelmisto on purettu, voimme asentaa paketit siihen.
Yleensä menettely on ladata paketti ja sen riippuvuudet ipk-tiedostona openWRT-arkistosta. Kun ne on ladattu, asenna ne uutettuun laiteohjelmistoon mukana toimitetulla komentosarjalla.
Knockd-paketti
Yksityiskohtaiset ohjeet Knockd-laitteen määrittämisestä ja käytöstä on kuvattu tulevassa artikkelissa, joten voit halutessasi ohittaa tämän vaiheen nyt tai tehdä sen valmistautumalla tulevaisuuteen, koska Knockd ei ota paljon tilaa.
Knockd on demoni, joka kuuntelee viestintätapahtumia linkkikerroksessa sekvensseille ja toimii sitten niihin.
Tämä tarkoittaa sitä, että laite voi ajaa daemonia edes "kuunnella" porteissa (portin skannaus ei näe niitä avoimina) ja tekee siitä vielä jotain, mitä tarvitset, yhdestä komennosta aina ylöspäin täydelliseen komentosarjaan. Tämän tekniikan avulla voit käynnistää palvelimen suorittamaan minkä tahansa sellaisen operaation, jota tarvitset sitä etänä (internetin kautta) ilman, että kotiverkkoa paljastetaan.
Knockdissa on vain yksi lueteltu riippuvuus, joten lataa paketti ja sen riippuvuus antamalla:
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
Asenna "knock daemon" (knockd) ipk laiteohjelmistoon:
./ipkg_install.sh knockd_0.5-1_mipsel.ipk ./working_dir_mini1/
Asenna "pakettien kaappaus" (libpcap) ipk firmware: iin:
./ipkg_install.sh libpcap_0.9.4-1_mipsel.ipk ./working_dir_mini1/
Koska "knockd" voidaan kutsua vaihtoehtoisella kokoonpanotiedostolla (miten selitetään tulevassa artikkelissa), mitään muuta toimintoa ei tarvitse suorittaa, ja voit siirtyä firmware-rakennuksen osaan, jos sen kaikki haluat asentaa.
SSMTP-paketti
SSMTP-paketin avulla reitittimesi voi lähettää sähköpostiviestejä aivan kuten näytimme sähköpostiosoitteiden määrittämisessä Linuxissa Gmailin tai SMTP: n avulla palvelimille. Lupasimme teille sitten, että näytämme, miten tämä DD-WRT: lle määritetään ja toimitamme nyt.
Tämä on pääosin hyödyllistä, jos aiot luoda reitittimelle skriptejä, jotka haluat saada palautetta sähköpostitse.
Tämä paketin asennus on hieman monimutkaisempi, sitten se on normaaleissa Linux-järjestelmissä, koska sulautetun järjestelmän asettama rajoitus on niin, niin ota syvään henkeä… valmiina?…. mennään… :)
Lataa paketti:
wget http://downloads.openwrt.org/backports/rc5/ssmtp_2.61-1_mipsel.ipk
Asenna "ssmtp" ipk laiteohjelmistoon:
./ipkg_install.sh ssmtp_2.61-1_mipsel.ipk ./working_dir_mini1/
TLS-tuki (valinnainen)
SSMTP ei luetteloita muita paketteja riippuvuuksiksi, mutta jos haluat käyttää smtp-yhdyskäytävää, joka vaatii TLS-todennuksen (ts.. gmail), sinun on asennettava myös openSSL pakage.
Huomautus: On valtava haitta tehdä näin JFFS: n reitittimen huomattavasti pienemmäksi tilaksi myöhemmin. Tämä tarkoittaa, että openSSL-paketti vie noin 500 kilotilaa 4MB: n kokonaismäärästä (normaalille ei-mega-tuelle tukevalle reitittimelle), yhdistelmä siihen JFFS: n yläpuolelle, ja huomaat, että vasen, mutta arvokas muutama lohko ilmainen JFFS-tila (noin 60 KB WRT54GL: ssä).
Koska ei vielä ole TLS-palveluita, jotka vaativat smtp-palvelimia siellä (yleensä Internet-palveluntarjoajasi), suosittelen ottamaan hetken ajattelemaan, jos tarvitset todella yhdyskäytävän, joka vaatii yhdyskäytävän.
Jos olet päättänyt ottaa TLS-tuen käyttöön haittapuolelta, lataa openSSL-paketti:
wget http://downloads.openwrt.org/whiterussian/packages/libopenssl_0.9.8d-1_mipsel.ipk
Asenna “openSSL” (libopenssl) ipk laiteohjelmistoon:
./ipkg_install.sh libopenssl_0.9.8d-1_mipsel.ipk ./working_dir_mini1/
kokoonpanot
SSMTP-paketissa on rajoitus, että sitä ei voi kutsua vaihtoehtoisella kokoonpanotiedostolla.
Koska laiteohjelmisto on luettavissa vain, kun se on reitittimessä, se tarkoittaa, että laatikosta voimme vain koodata kokoonpanon laiteohjelmistoon.
Entä jos emme halua käydä läpi kaikkia firmware-modifikaatiovaiheita, vain muuttaaksesi sähköpostiasetuksia? (esimerkiksi salasanan vaihto).
Tätä varten sekä Jeremy (firmware-mod-kit-luoja) että minä pääsimme päätelmään (itsenäisesti, jos voin lisätä nöyrästi), että ainoa järkevä tapa tehdä tämä olisi:
- Tee kokoonpanotiedostojen sijainti, johon ssmtp-paketti osoittaa vain luku -kohtaan, osoita tmp-hakemistoa, joka on kirjoitettavissa ajon aikana.
- Luo skripti, joka generoi dynaamisesti NVRAM-muuttujista poikkeavat kokoonpanot käynnistyksen yhteydessä.
Tämän saavuttamiseksi tarvitaan joitakin lisätoimia…
Yhdistä ssmtp-määrityshakemisto
Kuten edellä on selitetty, meidän on tehtävä / Etc / ssmtp sijainti reitittimessä, osoita / tmp hakemisto on ainoa kirjoitettava paikka, joka meillä on reitittimessä ajonaikana. Voit tehdä tämän poistamalla ipk-asentajan luoman ssmtp-hakemiston:
rm -rf ./working_dir_mini1/rootfs/etc/ssmtp/
Luo uusi symbolinen linkki, joka osoittaa reitittimen juuretiedostoon / etc / ssmtp: n, osoittamaan / tmp / etc / ssmtp: ksi absoluuttisen polun:
ln -s / tmp / etc / ssmtp / ./working_dir_mini1/rootfs/etc/ssmtp
Huomautus: Vaikka tämä näyttää nyt epäjohdonmukaiselta, koska osoitamme paketin kokoonpano-hakemiston paikkaan, joka ei ole laiteohjelmistomuutospakkauksen työhakemiston ulkopuolella, vakuutan teille, että tämä näyttää täysin hienolta reitittimien näkökulmasta ajoaikana.
Aloitusskripti
Vaikka ei ole mahdollista, että tätä komentosarjaa voidaan pistää laiteohjelmistoon ja käyttää sitä käynnistysskriptiä myöhemmin, mielestäni se on tarkoituksenmukaista laittaa se tähän, jos se on vain esimerkki tulevaa käyttöä varten.
Alun perin Jeremy loi jonkun pyyntöön räätälöidyn käsikirjoituksen, jonka jälkeen säädin ja lisäsin sen yhteensopivammaksi DD-WRT: n ja syslog-raportoinnin kanssa.
Luo uusi init (käynnistys) -skripti:
vi ./working_dir_mini1/rootfs/etc/init.d/S80ssmtp
Huomautus: Voit käyttää toista editoria, käytän vi: tä, koska se on yhteensopiva reitittimen kanssa saatavilla olevan kanssa.
Tee tästä sisältö:
#! / Bin / sh
#
# title: ssmtp_nvram.sh
# tekijä: Jeremy Collake ja Aviad Raviv
# site: http://www.bitsum.com, http://howtogeek.com
#
# skripti rakentaa config-tiedosto nvram vars.
# toimii missä tahansa määritystiedostossa, joka käyttää
# var = arvotyyppiparit.
#
# käyttää etuliitteitä nvram-muuttujille.
#
# so.
# ssmtp_hostname = jotain
# kääntää ssmtp.conf
# isäntänimi = jotain
#
logger_func ()
logger -s -p local0.notice -t SSMTP_init $ 1
logger_func "########### Aloitti SSMTP-init-käynnistyksen ###########"
logger_func "etc-hakemiston luominen / 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_FILEn luominen paketille $ PACKAGE_NAME"
#echo $ 0: $ CONFIG_FILE -palvelun luominen paketille $ PACKAGE_NAME
echo "#! / bin / sh"> $ CONFIG_FILE
echo "#" >> $ CONFIG_FILE
echo "# auto generoitu nvramin perusteella $ 0" >> $ CONFIG_FILE
echo "#" >> $ CONFIG_FILE
jos [-z "'nvram show | grep ssmtp'"]
sitten
logger_func "Näyttää siltä, että et ole asettanut konfig-tiedoston luomiseen tarvittavia NVRAM-muuttujia"
logger_func "** Harkitse ** käyttämällä näitä komentoja käynnistyksen komentosarjassa:"
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 = käyttäjätunnus"
logger_func "nvram set ssmtp_AuthPass = salasana"
logger_func "nvram set ssmtp_FromLineOverride = YES"
logger_func "luo NVRAM-muuttujat ja suorita init-komentosarjan uudelleen tai käynnistä uudelleen, jotta asetukset vaikuttavat."
Lopeta 0
fi
################################################## #########
#
# pääpiiri
#
SED_COMMAND = "s / $ NVRAM_PREFIX / /"
CONFIG_VARS = "nvram show | grep $ NVRAM_PREFIX | sed" $ SED_COMMAND ""
i: lle $ CONFIG_VARS; tehdä
echo $ i >> $ CONFIG_FILE
tehty
################################################## #########
#
# sanity tarkistus
#
jos [! -f "$ CONFIG_FILE"]; sitten
# echo "$ 0: ERROR - ei voinut luoda $ CONFIG_FILE. Ehkä ei ole symink / etc / XXXX -> / tmp / etc / XXXX?"
logger_func "ERROR - ei voinut luoda $ CONFIG_FILE. Ehkä ei ole symink / etc / XXXX -> / tmp / etc / XXXX?"
fi
logger_func "########### Päättynyt SSMTP init -käynnistys ###########"
Tee se suoritettavaksi:
chmod + x ./working_dir_mini1/rootfs/etc/init.d/S80ssmtp
Huomaa NVRAMin odottavat muuttujat komentosarjassa, meidän velvollisuutemme on antaa heille jotain työtä, kun olemme asentaneet modifioidun laiteohjelmiston reitittimeen.
Rakenna muokattu Firmware
Nyt kun kaikki on paikallaan, on aika pakata muokattu laiteohjelmisto uudelleen pakattuun binaariin, jonka voimme vilkaista reitittimelle.
”Build.sh” -komentosyntaksi on:
./build_firmware.sh OUTPUT_DIR WORKING_DIRECTORY
Voit tehdä tämän käyttämällä mukana toimitettua komentosarjaa.
./build_firmware.sh output_mini1 ./working_dir_mini1/
Kun "rakentaa" -toiminto on suoritettu, "tulostus" -hakemistossa käytetään useita laiteohjelmistokuvia.
Voit nyt vilkkua "custom_image_00001-generic.bin" -nimellä reitittimellesi, kuten tavallisesti DD-WRT-laiteohjelmisto.
Huomautus: Älä unohda palauttaa "tehdasasetukset" ennen firmware-ohjelmiston salamaa, sen aikana ja sen jälkeen.
Lähetä flash-vaiheet
Koska teimme SSMTP-paketin etsimään NVRAM-muuttujia, jotta voit luoda ssmtp-määritystiedoston, meidän on nyt toimitettava sille puuttuvat tiedot.
Toteutamme tämän käyttämällä web-GUI “Suorita komentoja” -toimintoa.
Siirry web-GUI -> "hallinnointi" -> "komennot" -> liitä tekstikenttään seuraavasti:
nvram-sarja [email protected]
nvram set ssmtp_mailhub = smtp.gmail.com: 587
nvram-sarja [email protected]
nvram-sarja ssmtp_UseSTARTTLS = YES
nvram-sarja ssmtp_AuthUser = your-gmail-user-name (ilman @ gmail.com)
nvram-sarja ssmtp_AuthPass = you-gmail-salasana
nvram-sarja ssmtp_FromLineOverride = YES
nvram sitoutuu
Korvaa teksti vastaavan (=) -merkin jälkeen todellisilla tiedoillasi ja osoita sitten "Suorita komentoja".
Huomautus: jos käytät tavallista, ei TLS: ää käyttävää smtp-palvelinta, käytettävä portti on 25 sijasta 587.
Nyt kun SSMTP-tiedot ovat valmiina käyttöön, sinun täytyy käynnistää init-komentosarja. Voit siis käynnistää reitittimen uudelleen, tai liittää sen "komentoihin" -tekstiruutuun:
/etc/init.d/S80ssmtp
Paina sitten "Suorita komentoja" uudelleen.
Tämän komennon tuotoksen pitäisi näyttää siltä:
Testaa, että voit lähettää sähköpostia
Liitä tämä uudelleen "komennot" -tekstikenttään seuraavaan komentoon sähköpostiosoitteesi kanssa:
echo "testaus upokkaan lähettäminen 123 qwe" | ssmtp -vvv [email protected]
Paina sitten "Suorita komentoja" uudelleen.
Koska käytimme -vvv-vaihtoehtoa ylimääräiseen äänettömyyteen, tämän komennon tulos näyttää siltä:
Jos kaikki meni hyvin, sinun pitäisi saada testiviesti muutamassa sekunnissa.
Toivomme, että voit käyttää tätä informaatiota siirtämään kotisi reitittimen raja-arvot vieläkin pidemmälle, kun luulit mahdolliseksi, ja nyt hallitset todella kotisi reititintäsi ja DD-WRT: tä.
Linux laajentaa elämää, Linux laajentaa tietoisuutta… Linux on pakettimatkojen kannalta elintärkeä