Anasayfa » nasıl » DD-WRT Mod-Kit ile Ev Yönlendiricinizden Daha Fazla Güç Alın

    DD-WRT Mod-Kit ile Ev Yönlendiricinizden Daha Fazla Güç Alın


    Çok daha iyi performans için ev yönlendiricinizi DD-WRT alternatif üretici yazılımı ile nasıl modlandıracağınızı gösterdik ve bugün size DD-WRT Mod Kit ile nasıl daha da ileri gideceğinizi göstereceğiz..

    Henüz yapmadıysanız, serideki önceki iki makaleye dikkat edin ve kontrol edin:

    • Ev Yönlendiricinizi DD-WRT ile Süper Güçlendirilmiş Bir Yönlendiriciye Dönüştürün
    • Wi-Fi Ağ Sinyalinizi Nasıl Artırır ve DD-WRT ile Menzili Artırın

    Bu konuları bildiğinizi varsayarak okumaya devam edin. Bu kılavuzun biraz daha teknik olduğunu ve yeni başlayanların yönlendiricilerini değiştirirken dikkatli olmaları gerektiğini unutmayın..

    genel bakış

    Bu kılavuz, “ürün yazılımı değişiklik kitini” kullanarak kendi DD-WRT ürün yazılımınızı değişiklik ve eklemelerle nasıl oluşturacağınızı adım adım anlatacak.

    Üretici yazılımı modifikasyon kiti, bir cihaz yazılımından derlemeden değişiklik yapmasını sağlar. Bu şekilde değişiklik yapılması, sağlanan komut dosyaları yardımıyla, bazı dosyaların indirilmesi, değiştirilmesi ve silinmesi basit bir mesele haline gelir.

    Bu yöntemi kullanmanın en baskın nedeni, son zamanlarda DD-WRT'nin Openwrt IPKG paketlerine olan desteğinin, sabit seti olan yönlendiricilere (USB üzerinden) kaymasıdır, bu da mod-kitini IPKG paketlerini başarılı bir şekilde kurmak için sürekli çalışan bir yoldur. HD kullanılamayan durumlar için. Ek olarak, bu yöntem, yalnızca 4 MB flash olan yönlendiriciler için gerçek bir sorun olan paket kurulumunda sizi JFFS bağımlılığından kurtarmanın ek avantajına sahiptir..

    Publicenergy tarafından resim

    Hedefleri

    Bu prosedürle ilgili talimatlar, DD-WRT'nin wiki'sinde ve geliştiricinin sitesinde ayrıntılı olarak açıklanırken, bu kılavuzu, aşağıdaki hedeflere ulaşmak için herkesin kullanabileceği bir kopyalama ve yapıştırma işlemi yapmayı hedefliyoruz:

    • Nakavt paketi ve bağımlılıklarını yükleyin..
    • NVRAM tabanlı oluşturulan yapılandırmalarla ssmtp paketini kurun.
      • İsteğe bağlı olarak TLS smtp desteği ile (a.k.a. Gmail desteği).

    Bu prosedürü takip ettikten sonra, diğer paket kurulumlarına adapte etmek, uygun şekilde basit olmalıdır..

    Uyarı: Hafifçe basınız… modifikasyon kitinin yanlış kullanılmasının sizi tuğla sökme gerektiren bir yönlendirici ile bırakabileceğini unutmayın (sıradan işe yaramaz bir tuğlaya dönüşür). Ancak eğer gerçek bir inekseniz, muhtemelen bir şeyi yok edebilen, bir şeyi kontrol edebilen, sadece gerçek inekler yapan ideolojiye abone olursunuz.

    Ön şartlar

    1. Bu yordamı kullanarak yapabilirsiniz tuğla yönlendiricinizi yapmak, yönlendiricinizi yapmak kullanılmaz, Aşağıdaki prosedürlerin kullanılması nedeniyle doğrudan veya başka bir şekilde doğabilecek zararlar için sorumluluk kabul etmiyoruz.
    2. Bu prosedür Debian tabanlı sistemlerde (Lenny, Squeeze ve Nane) yapıldı ve aşağıdaki talimatlar sizin de bir tane kullandığınızı varsayıyor..
    3. Bu yordam yalnızca, yönlendiricilerini DD-WRT ile yanıp sönme deneyimi olan, donanım ayarları için uygulanan tüm önkoşullar, uyarılar ve sınırlamalar olan kişiler için önerilir. Başlamak için iyi bir yer, Ev Yönlendiricinizi DD-WRT kılavuzu ile Süper Güçlendirilmiş Yönlendiriciye Dönüştürmek olacaktır..
    4. Yönlendiriciniz en azından DD-WRT'nin “mini” sürümünü desteklemeli.
    5. Bu prosedür Linksys WRT54GS / L yönlendiricilerde oluşturuldu ve test edildi, eğer diğer satıcılardan yönlendiriciler kullanıyorsanız, kilometreniz çok.

    Kurmak

    Gerekli paketleri yükleme

    Yazılım değiştirme kiti, derlenmesi ve çalışması için bazı bağımlılıklara sahiptir. Hepsini bir kerede kurmak / güncellemek için Bir terminalde bu komutu verin:

    sudo yetenek yüklemek gcc g + + binutils yama bzip2 flex bison gettext yapmak unzip zlib1g-dev libc6 subversion

    Mod kitini indirin

    Bir alt klasör oluşturun ve kiti resmi SVN'den edinin:

    mkdir firmware_mod_kit
    cd firmware_mod_kit
    svn ödeme http://firmware-mod-kit.googlecode.com/svn/trunk/ firmware-mod-kit-salt okunur
    cd üretici yazılımı-mod-kit-salt okunur / trunk /

    Üzerinde çalışmak için bir ürün yazılımı indirin

    Dikkate alınması gereken ilk şey, hangi sürümü kullanmak istediğiniz.?
    Bir kural olarak: şüphe duyulduğunda “mini” kullanın. Bunun nedeni, yönlendiricinizin en azından “mini” sürümünü desteklediği sürece, onu kullanmanız size en yaygın kullanılan tüm özellikleri herhangi bir yazılım yazılımı olmadan verir. Böylece hem işlemler için hem de çoğu zaman diğer kullanımlar için bazı JFFS alanları bırakılıyor.

    Bir sürüme karar verdikten sonra, mevcut sabit yazılımın en son revizyonunu kullanmanız önerilir, zira bunlar “kararlı” emsallerine göre daha fazla hata düzeltmesi yapma eğilimindedir..
    Bu yazının yapıldığı sırada en geç “03-17-11-r16454” idi ve bu revizyon takip eden komutlarda kullanılıyor..

    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

    Hangi sürümü kullandığımızı takip etmeyi kolaylaştırmak için indirilen dosyayı sürüm numarasını temsil edecek şekilde yeniden adlandırın:

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

    Bu elbette isteğe bağlıdır, ancak aşağıdaki komutlar dosyayı yeniden adlandırdığınızı varsayar..

    Bellenimi çıkarma

    Bellenim içindeki dosyaları değiştirebilmek için içeriğini geçici bir dizine çıkarmamız gerekiyor..
    Bu komutun sözdizimi:
    ./extract_firmware.sh FIRMWARE_IMAGE WORKING_DIRECTORY
    Bizim durumumuzda bu şu şekilde olabilir:

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

    Not: Bu komutu ilk defa çalıştırdığınızda, mod takımı araçlarını sisteminizde oluşturur. bu sadece bir kez olur ve biraz zaman alabilir… bu yüzden sabırlı olun…

    Paketleri yükleme

    Şimdi, bellenim çıkartıldığı için, paketleri kurabiliriz..
    Genel olarak, prosedür paketi ve bağımlılıklarını bir ipk dosyası biçiminde openWRT deposundan indirmektir. Bir kere indirildikten sonra, sağlanan betiği kullanarak çıkarılan ürün yazılımına yükleyin.

    Nakavt paketi

    Knockd'yi nasıl yapılandıracağınız ve kullanacağınıza ilişkin ayrıntılı talimatlar ileriki bir makalede ayrıntılı olarak açıklanacaktır; bu nedenle, bu adımı şimdilik atlamayı seçebilir ya da Knockd hiçbir şekilde fazla yer kaplamadığı için geleceğe hazırlık aşamasında yapabilirsiniz..

    Knockd, sekanslar için link katmanındaki iletişim olaylarını dinleyen ve daha sonra bunlara etki eden bir servistir.
    Bunun anlamı, cihaza giden cihazı portlarda “dinlememek” (bir port taraması onları açık olarak görmeyecek) ve aynı zamanda tek bir komuttan baştan sona tek bir komutla ihtiyacınız olan bir şeyi yapmasını sağlayabilmenizdir. tam bir komut dosyasına. Bu tekniği kullanarak sunucuyu, ev ağınızı açığa çıkarmadan uzaktan (internet üzerinden) istediğiniz herhangi bir işlemi yapması için tetikleyebilirsiniz..

    Knockd'de yalnızca bir bağımlılık listelenmiştir, bu yüzden paketi ve bağımlılığını aşağıdakileri vererek indirin:

    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

    “Knock daemon” (knockd) ipk'i bellenime yükleyin:

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

    “Packet capture” (libpcap) ipk'i bellenime yükleyin:

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

    “Knockd” alternatif bir konfigürasyon dosyası ile başlatılabildiğinden (gelecekteki bir makalede nasıl açıklanacaktır), başka bir işlem yapmanıza gerek kalmaz ve eğer yüklemek istediğiniz her şey varsa, firmware kurma bölümüne geçebilirsiniz..

    SSMTP paketi

    SSMTP paketi, yönlendiricinizin, Linux için E-posta Uyarıları Kurulumu'ndaki gibi, Sunucular için Gmail veya SMTP Kullanarak gösterdiğimiz şekilde E-posta mesajları göndermesini sağlar. Bunu DD-WRT için nasıl yapılandıracağımızı göstereceğimize ve şimdi size sunacağımıza söz verdik..
    Bu, yönlendirici üzerinde e-postayla işlemleriyle ilgili geri bildirim almak istediğiniz komut dosyaları oluşturacaksanız, kullanışlıdır..

    Bu paketin kurulumu biraz daha karmaşık, o zaman gömülü bir sistemin getirdiği sınırlama nedeniyle normal Linux sistemlerinde, bu yüzden derin bir nefes alın… hazır mı?…. Hadi gidelim… :)

    Paketi indirin:

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

    “Ssmtp” ipk ürün yazılımına yükleyin:

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

    TLS desteği (İsteğe bağlı)
    SSMTP, bağımlılık olarak diğer paketleri listelemez; ancak, TLS kimlik doğrulaması gerektiren bir smtp ağ geçidi kullanabilmek istiyorsanız (ör.. Gmail), openSSL paketini de yüklemelisiniz.
    Not: BÜYÜK BİR Y var sakınca Bunu daha sonra JFFS için yönlendirici üzerinde önemli ölçüde azaltılmış alan şeklinde yapmak. Diğer bir deyişle, openSSL paketi toplam 4 MB'ınızdan (normal bir "mega olmayan" destekleyici yönlendirici için) yaklaşık 500K'lık bir alan kaplar, JFFS ek yükünün toplamına karşılık gelir; boş JFFS alanı (WRT54GL'de yaklaşık 60KB).

    Dışarıda smtp sunucuları gerektiren hala TLS olmadığı için (genellikle ISS'niz), ağ geçidi gerektiren TLS'yi gerçekten kullanmanız gerekip gerekmediğini düşünmek için bir dakikanızı ayırmanızı öneriyorum.

    Dezavantajına rağmen TLS desteğini etkinleştirmeye karar verdiyseniz, openSSL paketini indirin:

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

    “OpenSSL” (libopenssl) ipk'i bellenime yükleyin:

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

    yapılandırmalar
    SSMTP paketiyle, alternatif bir yapılandırma dosyasıyla çalıştırmanın mümkün olmadığı konusunda bir sınırlama var..
    Üretici yazılımı yönlendiricideyken salt okunur olduğundan, kutudan yapılandırmayı yalnızca üretici yazılımına kodlayabildiğimiz anlamına gelir..
    Ancak, yalnızca E-posta ayarlarını değiştirmek için tüm ürün yazılımı değişiklik adımlarının üzerinden geçmek istemiyorsak? (örneğin bir şifre değişikliği).

    Bu amaçla, hem Jeremy (firmware mod-kit yaratıcısı) hem de kendim (mütevazi bir şekilde ekleyebilirsem bağımsız olarak) bunu yapmanın tek akıllıca yolunun olacağı sonucuna vardım:

    1. Ssmtp paketinin etc altındaki salt okunur konumuna işaret ettiği yapılandırma dosyalarının çalışma zamanında yazılabilen tmp dizinine işaret etmesini sağlayın..
    2. Başlangıçta NVRAM değişkenlerini temel alan yapılandırmaları dinamik olarak oluşturacak bir komut dosyası oluşturun.

    Bunu başarmak için, bazı ek adımlar gerekli…

    Ssmtp yapılandırma dizinine bağlantı verin
    Yukarıda açıklandığı gibi, / Etc / SSMTP Yönlendiricideki konumu / tmp Çalışma zamanında yönlendiricideki tek yazılabilir yer olarak dizin. Bunu yapmak için, ipk yükleyicisi tarafından oluşturulan ssmtp dizinini silin:

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

    Yönlendiricinin kök dosya sisteminde / etc / ssmtp'yi gösteren ve / tmp / etc / ssmtp'ye mutlak bir yol olarak işaret eden yeni bir sembolik bağlantı oluşturun:

    -n / tmp / etc / ssmtp / ./working_dir_mini1/rootfs/etc/ssmtp

    Not: Şu anda bu mantıksız görünse de, paketin yapılandırma dizinini üretici yazılımı modifikasyon kitinin çalışma dizini dışındaki bir yere işaret ettiğimizden, çalışma zamanının yönlendiricilerin bakış açısından tamamen iyi göründüğünü size temin ederim..

    Bir init betiği
    Bu betiği bellenime yerleştirmemek ve daha sonra bir başlangıç ​​betiği olarak çalıştırmak tamamen mümkün olsa da, yalnızca ileride kullanmak için bir örnek olarak buraya koymak için uygun olduğunu düşünüyorum..
    Başlangıçta Jeremy, birinin isteğine göre uyarlanmış bir senaryo oluşturdu, daha sonra, DD-WRT ve syslog raporlama ile daha uyumlu olması için uyarladım ve artırdım..

    Yeni init (başlangıç) komut dosyasını oluşturun:

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

    Not: Başka bir düzenleyici kullanabilirsiniz, vi'yi kullanıyorum çünkü yönlendiricideki özelliklerle tutarlı çünkü…
    Bunu onun içeriği yap:

    #! / Bin / sh
    #
    # title: ssmtp_nvram.sh
    # Yazar: Jeremy Collake ve Aviad Raviv
    # site: http://www.bitsum.com, http://howtogeek.com
    #
    nvram vars dosyasından config dosyası oluşturmak için # script.
    # kullanan herhangi bir config dosyası için çalışacak
    # var = değer türü çiftleri.
    #
    # nvram değişkenleri için önekleri kullanır.
    #
    # yani.
    # ssmtp_hostname = bir şey
    #, ssmtp.conf'a çevirir
    # hostname = bir şey
    #
    logger_func ()

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

    logger_func "########### SSMTP init çalışmasını başlattı ############"
    logger_func "/ tmp dizininde etc dizinini oluşturma"
    [! -d / etc / ssmtp /] && mkdir -p / tmp / etc / ssmtp /
    Yapılanış_kütüğü = / etc / SSMTP / ssmtp.conf
    NVRAM_PREFIX = ssmtp_
    PACKAGE_NAME = "yankı $ NVRAM_PREFIX | sed" s / _ / / "

    logger_func "$ PACKAGE_NAME paketi için $ CONFIG_FILE oluşturuluyor"
    #echo $ 0: $ PACKAGE_NAME paketi için $ CONFIG_FILE üretiliyor
    echo "#! / bin / sh"> $ CONFIG_FILE
    echo "#" >> $ CONFIG_FILE
    echo "# nvram tarafından 0 $ tarafından otomatik oluşturuldu" >> $ CONFIG_FILE
    echo "#" >> $ CONFIG_FILE

    eğer [-z "'nvram göster | grep ssmtp'"]
    sonra
    logger_func "Görünüşe göre conf dosyasını oluşturmak için gereken NVRAM değişkenlerini ayarlamadınız"
    logger_func "** Düşünelim ** bu komutları size başlangıç ​​komut dosyasında kullanarak:"
    logger_func "nvram set [email protected]"
    logger_func "nvram kümesi 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 = kullanıcı adı"
    logger_func "nvram ayar ssmtp_AuthPass = şifre"
    logger_func "nvram küme ssmtp_FromLineOverride = YES"
    logger_func "NVRAM değişkenleri oluşturun ve ayarların etkili olması için init betiğini yeniden çalıştırın veya yeniden başlatın."
    Çıkış 0
    fi

    ################################################## #########
    #
    # Ana döngü
    #
    SED_COMMAND = "s / $ NVRAM_PREFIX / /"
    CONFIG_VARS = "nvram show | grep $ NVRAM_PREFIX | sed" $ SED_COMMAND ""
    i için $ CONFIG_VARS; yap
    echo $ i >> $ CONFIG_FILE
    tamam

    ################################################## #########
    #
    # aklı kontrol
    #
    Eğer [ ! -f "$ CONFIG_FILE"]; sonra
    # echo "$ 0: ERROR - $ CONFIG_FILE oluşturulamadı. Belki de / etc / XXXX -> / tmp / etc / XXXX?
    logger_func "ERROR - $ CONFIG_FILE oluşturulamadı. Belki de / etc / XXXX -> / tmp / etc / XXXX? yazılmaz."
    fi
    logger_func "########### SSMTP init çalışmasını bitirdi ############"

    Çalıştırılabilir yap:

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

    Koddaki NVRAM bekleyen değişkenleri not alın, değiştirilmiş üretici yazılımımızı yönlendiriciye yükledikten sonra onlara çalışacakları bir şey vermek bizim sorumluluğumuzdur..

    Değiştirilen Ürün Yazılımı'nı oluşturun

    Artık her şey yerinde olduğuna göre, değiştirilmiş ürün yazılımını yönlendiriciye gönderebileceğimiz sıkıştırılmış bir ikili dosyada yeniden paketlemenin zamanı geldi.
    “Build.sh” komut dosyası sözdizimi:
    ./build_firmware.sh OUTPUT_DIR WORKING_DIRECTORY

    Bunu yapmak için verilen betiği kullanıyoruz, o yüzden sorun:

    ./build_firmware.sh output_mini1 ./working_dir_mini1/

    “Build” işlemi yapıldıktan sonra, “output” dizininde kullanılmayı bekleyen birkaç firmware resmi olacaktır..

    Artık normalde bir DD-WRT üretici yazılımı gibi yönlendiricinize “custom_image_00001-generic.bin” adlı dosyayı flaş edebilirsiniz..

    Not: Firmware flaşından hemen önce, sırasında ve hemen sonrasında “fabrika varsayılanlarına” geri yüklemeyi unutmayın.

    Flash adımlarını yayınla

    SSMTP paketini ssmtp yapılandırma dosyasını oluşturmak için NVRAM değişkenlerini aradığımız için, şimdi eksik bilgileri sağlamamız gerekiyor..
    Bunu web-GUI “Run commands” fonksiyonunu kullanarak başaracağız..

    Web-GUI -> “yönetim” -> “komutlar” -> aşağıdaki kutuya yapıştırın:

    NVRAM seti [email protected]
    nvram seti ssmtp_mailhub = smtp.gmail.com: 587
    NVRAM seti [email protected]
    nvram set ssmtp_UseSTARTTLS = YES
    nvram set ssmtp_AuthUser = gmail kullanıcı adınız (@ gmail.com olmadan)
    nvram set ssmtp_AuthPass = sen-gmail-şifre
    nvram seti ssmtp_FromLineOverride = YES
    nvram taahhüt

    Metni, eşit (=) işaretinden sonra, gerçek bilgilerinizle değiştirin ve “Çalıştırma komutlarını” tıklayın..
    Not: eğer normal, TLS kullanmayan kullanıyorsanız, smtp sunucusu kullanılacak portun 587 yerine 25.

    Artık SSMTP bilgilerinin kullanıma hazır olduğuna göre, init betiğini çağırmanız gerekecek. Böylece yönlendiriciyi yeniden başlatabilir ya da bunu “komutlar” metin kutusuna yapıştırabilirsiniz:

    /etc/init.d/S80ssmtp

    Ardından tekrar "Çalıştırma komutları" na basın.
    Bu komutun çıktısı şöyle görünmelidir:

    E-posta gönderebileceğinizi test edin
    Bunu tekrar "komutlar" metin kutusuna aşağıdaki komutu e-posta adresinizle yapıştırın:

    echo "123 qwe e-postaları test etme testi" | ssmtp -vvv [email protected]

    Ardından tekrar "Çalıştırma komutları" na basın.
    Ekstra ayrıntı için -vvv seçeneğini kullandığımızdan, bu komutun çıktısı şöyle görünmelidir:

    Her şey yolunda giderse, test e-postasını saniyeler içinde almalısınız.

    Bu bilgileri, ev yönlendiricinizin sınırlarını daha da zorlamak için mümkün olduğunu düşündüğünüzden daha fazla zorlamak için kullanabileceğinizi umuyoruz.


    Linux hayatı uzatır, Linux bilincini genişletir… Linux paket seyahat için hayati öneme sahiptir