โฮมเพจ » ทำอย่างไร » ปลดปล่อยพลังที่มากกว่าจากเราเตอร์ที่บ้านของคุณด้วย DD-WRT Mod-Kit

    ปลดปล่อยพลังที่มากกว่าจากเราเตอร์ที่บ้านของคุณด้วย DD-WRT Mod-Kit


    เราได้แสดงวิธีปรับเปลี่ยนเราเตอร์ที่บ้านของคุณด้วยเฟิร์มแวร์ทางเลือก DD-WRT เพื่อประสิทธิภาพที่เพิ่มขึ้นอย่างมากและวันนี้เราจะแสดงวิธีการใช้งานต่อไปกับ DD-WRT Mod-Kit.

    หากคุณยังไม่ได้ดำเนินการให้ตรวจสอบและตรวจสอบบทความก่อนหน้านี้สองชุด:

    • เปลี่ยนเราท์เตอร์ภายในบ้านของคุณให้เป็นเราเตอร์ที่ทรงพลังด้วย DD-WRT
    • วิธีเพิ่มสัญญาณเครือข่าย Wi-Fi ของคุณและเพิ่มช่วงด้วย DD-WRT

    สมมติว่าคุณคุ้นเคยกับหัวข้อเหล่านั้นอ่านต่อไป โปรดทราบว่าคู่มือนี้เป็นเทคนิคเล็กน้อยและผู้เริ่มต้นควรระวังเมื่อทำการปรับเปลี่ยนเราเตอร์.

    ภาพรวม

    คู่มือนี้จะให้รายละเอียดทีละขั้นตอนเกี่ยวกับวิธีสร้างเฟิร์มแวร์ DD-WRT ของคุณเองด้วยการแก้ไขและเพิ่มเติมโดยใช้ "ชุดการแก้ไขเฟิร์มแวร์".

    ชุดการแก้ไขเฟิร์มแวร์ช่วยให้หนึ่งทำการแก้ไขเฟิร์มแวร์โดยไม่ต้องรวบรวมจากแหล่งที่มา การเปลี่ยนแปลงด้วยวิธีนี้ด้วยความช่วยเหลือของสคริปต์ที่ให้มาจะกลายเป็นเรื่องง่าย ๆ ในการดาวน์โหลดการแทนที่และการลบไฟล์บางไฟล์.

    เหตุผลที่เด่นที่สุดในการใช้วิธีนี้คือเมื่อไม่นานมานี้ DD-WRT ที่สนับสนุนแพคเกจ Openwrt IPKG ได้เปลี่ยนไปสู่เราเตอร์ที่มีฮาร์ดไดรฟ์ (ผ่าน USB) ซึ่งทำให้ mod-kit เป็นวิธีการทำงานอย่างต่อเนื่องเพียงอย่างเดียว สำหรับกรณีที่ HD ไม่พร้อมใช้งาน นอกจากนี้วิธีการนี้ยังมีข้อได้เปรียบเพิ่มเติมในการบรรเทาคุณจากการพึ่งพา JFFS สำหรับการติดตั้งแพ็คเกจซึ่งสำหรับเราเตอร์ที่มีแฟลชเพียง 4MB เป็นปัญหาที่แท้จริง.

    ภาพโดยสาธารณะ

    เป้าหมาย

    ในขณะที่คำแนะนำสำหรับขั้นตอนนี้มีรายละเอียดเกี่ยวกับวิกิของ DD-WRT และในเว็บไซต์ของผู้พัฒนาเรามุ่งหวังที่จะทำให้คู่มือนี้เป็นขั้นตอนการคัดลอกและวางที่ทุกคนสามารถใช้เพื่อให้บรรลุเป้าหมายต่อไปนี้:

    • ติดตั้งแพคเกจ knockd และการอ้างอิง.
    • ติดตั้งแพคเกจ ssmtp ด้วยการตั้งค่าตาม NVRAM ที่สร้างขึ้น.
      • เป็นทางเลือกด้วยการสนับสนุน TLS smtp (a.k.a. การสนับสนุน Gmail).

    เมื่อคุณปฏิบัติตามขั้นตอนนี้แล้วควรปรับให้เข้ากับการติดตั้งแพ็คเกจอื่น ๆ ได้ง่าย.

    คำเตือน: ล้อยางเบา ๆ ... โปรดทราบว่าการใช้ชุดดัดแปลงที่ไม่ถูกต้องสามารถทำให้คุณมีเราเตอร์ที่ต้องการลดการใช้อิฐ (เช่นเปลี่ยนเป็นอิฐไร้ประโยชน์) อย่างไรก็ตามถ้าคุณเป็นคนที่เกินจริงคุณอาจสมัครสมาชิกอุดมการณ์ที่เขาสามารถทำลายสิ่งต่าง ๆ ควบคุมสิ่งต่าง ๆ และมีเพียง geek จริงเท่านั้นที่ทำสิ่งนั้น

    ข้อกำหนดเบื้องต้น

    1. การใช้ขั้นตอนนี้สามารถ อิฐ เราเตอร์ของคุณเช่นเดียวกับในการทำให้เราเตอร์ของคุณ ใช้ไม่ได้, เราไม่รับผิดชอบต่อความเสียหายใด ๆ ที่อาจเกิดขึ้นโดยตรงหรืออย่างชาญฉลาดเนื่องจากการใช้ขั้นตอนด้านล่าง.
    2. ขั้นตอนนี้ดำเนินการกับระบบที่ใช้เดเบียน (Lenny, Squeeze และ Mint) และคำแนะนำด้านล่างถือว่าคุณใช้อย่างใดอย่างหนึ่งเช่นกัน.
    3. ขั้นตอนนี้แนะนำสำหรับผู้ที่มีประสบการณ์กับการกระพริบเราเตอร์ด้วย DD-WRT พร้อมข้อกำหนดเบื้องต้นข้อ จำกัด และข้อ จำกัด ทั้งหมดที่ใช้สำหรับการตั้งค่าฮาร์ดแวร์ จุดเริ่มต้นที่ดีคือเปลี่ยนเราเตอร์ที่บ้านของคุณให้กลายเป็นเราเตอร์ที่ขับเคลื่อนด้วยคู่มือ DD-WRT.
    4. เราเตอร์ของคุณต้องรองรับ DD-WRT เวอร์ชัน "มินิ" เป็นอย่างน้อย.
    5. ขั้นตอนนี้สร้างและทดสอบกับเราเตอร์ Linksys WRT54GS / L หากคุณใช้เราเตอร์จากผู้ขายรายอื่นระยะทางของคุณอาจสูงมาก.

    ติดตั้ง

    การติดตั้งแพคเกจที่จำเป็น

    ชุดดัดแปลงเฟิร์มแวร์มีการขึ้นต่อกันบางอย่างเพื่อให้สามารถคอมไพล์และทำงานได้ เพื่อที่จะติดตั้ง / อัพเดทพวกเขาทั้งหมดในครั้งเดียวออกคำสั่งนี้ใน terminal:

    sudo aptitude ติดตั้ง gcc g ++ binutils patch bzip2 flex bison ทำให้ gettext unzip zlib1g-dev libc6 การโค่นล้ม

    ดาวน์โหลด mod-kit

    สร้างโฟลเดอร์ย่อยและรับชุดจาก 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 / trunk /

    ดาวน์โหลดเฟิร์มแวร์เพื่อทำงาน

    สิ่งแรกที่ต้องพิจารณาคือเวอร์ชันที่คุณต้องการใช้?
    กฎง่ายๆคือ: เมื่อสงสัยใช้“ มินิ” นี่เป็นเพราะตราบใดที่เราเตอร์ของคุณรองรับอย่างน้อยรุ่น“ มินิ” การใช้มันจะให้คุณสมบัติทั้งหมดที่ใช้บ่อยที่สุดโดยไม่มี bloatware ใด ๆ จึงเหลือพื้นที่สำหรับกระบวนการและแม้แต่พื้นที่ JFFS บางส่วนสำหรับประเพณีอื่น ๆ ในกรณีส่วนใหญ่.

    เมื่อคุณตัดสินใจเลือกเวอร์ชันแล้วขอแนะนำให้ใช้การแก้ไขเฟิร์มแวร์ล่าสุดที่มีอยู่เนื่องจากพวกเขามักจะมีการแก้ไขข้อบกพร่องจำนวนมากเมื่อเทียบกับคู่ที่“ เสถียร”.
    ในขณะที่เขียนนี้ล่าสุดคือ“ 03-17-11-r16454” และการแก้ไขนี้จะใช้ในคำสั่งที่ตามมา.

    wget http://www.dd-wrt.com/dd-wrtv2/downloads/others/erain/BrainSlayer-V24-preSP2/2011/03-17-11-r16454/broadcom/dd-wrt.v24_mini_generic.bin

    เพื่อให้ง่ายต่อการติดตามเวอร์ชันที่เราใช้ให้เปลี่ยนชื่อไฟล์ที่ดาวน์โหลดมาเพื่อแสดงหมายเลขเวอร์ชั่น:

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

    หลักสูตรนี้เป็นทางเลือก แต่คำสั่งด้านล่างถือว่าคุณได้เปลี่ยนชื่อไฟล์แล้ว.

    แตกเฟิร์มแวร์

    เพื่อให้สามารถเปลี่ยนไฟล์ภายในเฟิร์มแวร์เราจำเป็นต้องแยกเนื้อหาลงในไดเรกทอรีชั่วคราว.
    ไวยากรณ์ของคำสั่งนี้คือ:
    ./extract_firmware.sh FIRMWARE_IMAGE WORKING_DIRECTORY
    ในกรณีของเราสิ่งนี้จะแปลเป็น:

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

    หมายเหตุ: ครั้งแรกที่คุณรันคำสั่งนี้จะสร้างเครื่องมือ mod-kit บนระบบของคุณ สิ่งนี้เกิดขึ้นเพียงครั้งเดียวและอาจใช้เวลาสักครู่ ... ดังนั้นจงอดทน ...

    กำลังติดตั้งแพ็คเกจ

    ตอนนี้แตกเฟิร์มแวร์เราสามารถติดตั้งแพ็คเกจได้.
    โดยทั่วไปขั้นตอนคือการดาวน์โหลดแพคเกจและการอ้างอิงในรูปแบบของไฟล์ ipk จากที่เก็บ openWRT เมื่อดาวน์โหลดแล้วติดตั้งลงในเฟิร์มแวร์ที่แยกออกมาโดยใช้สคริปต์ที่ให้มา.

    แพ็คเกจ knockd

    คำแนะนำโดยละเอียดเกี่ยวกับวิธีกำหนดค่าและใช้ Knockd จะมีรายละเอียดในบทความในอนาคตดังนั้นคุณอาจเลือกที่จะข้ามขั้นตอนนี้ไปก่อนหรือทำเพื่อเตรียมพร้อมสำหรับอนาคตเนื่องจาก Knockd ไม่ใช้พื้นที่มากนัก.

    Knockd เป็น daemon ที่รับฟังเหตุการณ์การสื่อสารที่ลิงก์เลเยอร์สำหรับลำดับจากนั้นทำหน้าที่กับมัน.
    สิ่งนี้หมายความว่าคุณสามารถให้อุปกรณ์ที่ใช้ daemon ไม่แม้แต่ "ฟัง" บนพอร์ต (การสแกนพอร์ตจะไม่เห็นพวกเขาว่าเปิด) และยังคงทำสิ่งที่คุณต้องการจากคำสั่งเดียวจนสุดทาง สคริปต์เต็ม การใช้เทคนิคนี้คุณสามารถทริกเกอร์เซิร์ฟเวอร์ให้ทำงานประเภทใดก็ได้ที่คุณต้องการจากระยะไกล (ผ่านอินเทอร์เน็ต) โดยไม่ต้องเปิดเผยเครือข่ายภายในบ้านของคุณ.

    Knockd มีการขึ้นทะเบียนเพียงรายการเดียวดังนั้นให้ดาวน์โหลดแพ็คเกจและการอ้างอิงโดยการออก:

    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 ในเฟิร์มแวร์:

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

    ติดตั้ง“ packet capture” (libpcap) ipk ลงในเฟิร์มแวร์:

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

    เนื่องจาก“ knockd” สามารถเรียกใช้ด้วยไฟล์การกำหนดค่าทางเลือก (จะอธิบายได้อย่างไรในบทความในอนาคต) ไม่จำเป็นต้องทำการดำเนินการใด ๆ และคุณสามารถข้ามไปยังส่วนการสร้างเฟิร์มแวร์ได้หากทั้งหมดที่คุณต้องการติดตั้ง.

    แพคเกจ SSMTP

    แพคเกจ SSMTP ช่วยให้เราเตอร์ของคุณส่งข้อความอีเมลเช่นเดียวกับที่เราแสดงในวิธีการตั้งค่าการแจ้งเตือนอีเมลบน Linux โดยใช้ Gmail หรือ SMTP สำหรับเซิร์ฟเวอร์ เราสัญญากับคุณแล้วว่าเราจะแสดงวิธีกำหนดค่านี้สำหรับ DD-WRT และตอนนี้เราจะส่งมอบ.
    สิ่งนี้มีประโยชน์เป็นหลักหากคุณต้องการสร้างสคริปต์บนเราเตอร์ที่คุณต้องการรับความคิดเห็นเกี่ยวกับการทำงานของพวกเขาผ่านอีเมล.

    การตั้งค่าแพคเกจนี้มีความซับซ้อนมากขึ้นเล็กน้อยจากนั้นก็เป็นระบบ Linux ปกติเนื่องจากข้อ จำกัด ที่กำหนดโดยระบบฝังตัวจึงหายใจลึก ... พร้อมหรือยัง? ไปกันเถอะ… :)

    ดาวน์โหลดแพ็คเกจ:

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

    ติดตั้ง“ ssmtp” ipk ในเฟิร์มแวร์:

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

    การสนับสนุน TLS (ไม่บังคับ)
    SSMTP ไม่แสดงรายการแพคเกจอื่น ๆ เป็นการอ้างอิงอย่างไรก็ตามถ้าคุณต้องการใช้เกตเวย์ smtp ที่ต้องใช้การตรวจสอบความถูกต้อง TLS (เช่น. Gmail) คุณต้องติดตั้ง pakage openSSL เช่นกัน.
    บันทึก: มีขนาดใหญ่มาก ข้อเสียเปรียบ การทำเช่นนี้ในรูปแบบของพื้นที่ลดลงอย่างมากในเราเตอร์สำหรับ JFFS ในภายหลัง นั่นคือแพ็คเกจ openSSL ใช้พื้นที่ประมาณ 500K จากทั้งหมด 4MB ของคุณ (สำหรับเราเตอร์ที่ไม่ใช่ "mega" ที่รองรับปกติ) รวมกับ JFFS เหนือศีรษะและคุณจะพบว่าซ้ายของคุณ แต่มีค่าไม่กี่บล็อกของ พื้นที่ JFFS ฟรี (ประมาณ 60KB บน WRT54GL).

    เนื่องจากยังไม่มี TLS ที่ต้องการเซิร์ฟเวอร์ smtp ที่นั่น (โดยปกติจะเป็น ISP ของคุณ) ฉันขอแนะนำให้ใช้เวลาสักครู่เพื่อคิดว่าคุณจำเป็นต้องใช้ TLS ที่ต้องการเกตเวย์หรือไม่.

    หากคุณตัดสินใจเปิดใช้งานการสนับสนุน TLS แม้จะมีข้อเสียให้ดาวน์โหลดแพ็คเกจ openSSL:

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

    ติดตั้ง“ openSSL” (libopenssl) ipk ในเฟิร์มแวร์:

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

    การกำหนดค่า
    มีข้อ จำกัด เกี่ยวกับแพคเกจ SSMTP ซึ่งเป็นไปไม่ได้ที่จะเรียกใช้มันด้วยไฟล์การกำหนดค่าทางเลือก.
    เนื่องจากเฟิร์มแวร์เป็นแบบอ่านอย่างเดียวเมื่ออยู่บนเราเตอร์นั่นหมายความว่าเราสามารถ hardcode การกำหนดค่าลงในเฟิร์มแวร์เท่านั้น.
    อย่างไรก็ตามหากเราไม่ต้องการทำตามขั้นตอนการปรับเปลี่ยนเฟิร์มแวร์ทั้งหมดเพียงเพื่อเปลี่ยนการตั้งค่าอีเมล (ตัวอย่างเช่นการเปลี่ยนรหัสผ่าน).

    ด้วยเหตุนี้ทั้ง Jeremy (ผู้สร้าง mod-kit ของเฟิร์มแวร์) และตัวฉันเองก็มาถึงข้อสรุป (อย่างอิสระถ้าฉันอาจเพิ่มด้วยความอ่อนน้อมถ่อมตน) ว่าวิธีเดียวที่มีสติในการทำเช่นนี้คือ

    1. สร้างตำแหน่งไฟล์คอนฟิกูเรชันที่แพ็กเกจ ssmtp ชี้ไปยังตำแหน่งอ่านอย่างเดียวภายใต้ ฯลฯ ชี้ไปที่ไดเร็กทอรี tmp ซึ่งสามารถเขียนได้ที่รันไทม์.
    2. สร้างสคริปต์ที่จะสร้างการกำหนดค่าแบบไดนามิกโดยยึดตามตัวแปร NVRAM เมื่อเริ่มต้น.

    เพื่อให้บรรลุตามนั้นจำเป็นต้องมีขั้นตอนเพิ่มเติม ...

    Symlink ไดเรกทอรีการกำหนดค่า ssmtp
    ตามที่อธิบายไว้ข้างต้นเราจำเป็นต้องทำให้ / etc / ssmtp ตำแหน่งบนเราเตอร์ชี้ไปที่ tmp / ไดเรกทอรีเป็นสถานที่เขียนได้เท่านั้นที่เรามีในเราเตอร์ในเวลาทำงาน หากต้องการทำสิ่งนี้ลบไดเร็กทอรี ssmtp ที่สร้างโดยตัวติดตั้ง ipk:

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

    สร้างลิงก์สัญลักษณ์ใหม่ที่ชี้ / etc / ssmtp บนระบบไฟล์รูตของเราเตอร์เพื่อชี้ไปที่ / tmp / etc / ssmtp เป็นพา ธ สัมบูรณ์:

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

    บันทึก: แม้ว่ามันจะดูไม่สมเหตุสมผลในตอนนี้เพราะเรากำลังชี้ไดเรกทอรีการกำหนดค่าของแพ็คเกจไปยังตำแหน่งนอกไดเรกทอรีการทำงานของชุดการปรับเปลี่ยนเฟิร์มแวร์ฉันมั่นใจว่าสิ่งนี้ดูดีจากมุมมองของเราเตอร์ ณ เวลาทำงาน.

    สคริปต์ init
    แม้ว่าจะเป็นไปได้อย่างสมบูรณ์ที่จะไม่ฉีดสคริปต์นี้ลงในเฟิร์มแวร์และเรียกใช้เป็นสคริปต์เริ่มต้นในภายหลัง แต่ฉันรู้สึกว่าควรใส่ไว้ที่นี่หากเป็นเพียงตัวอย่างสำหรับการใช้งานในอนาคต.
    เดิมที Jeremy สร้างสคริปต์ที่ปรับให้เข้ากับคำขอของใครบางคนในภายหลังฉันปรับและเพิ่มให้เข้ากันได้กับการรายงาน DD-WRT และ syslog.

    สร้างสคริปต์ init (เริ่มต้น) ใหม่:

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

    หมายเหตุ: คุณสามารถใช้โปรแกรมแก้ไขอื่นฉันใช้ vi เพราะมันสอดคล้องกับสิ่งที่มีอยู่ในเราเตอร์ ...
    ทำให้เป็นเนื้อหา:

    #! / bin / ดวลจุดโทษ
    #
    # title: ssmtp_nvram.sh
    # ผู้เขียน: Jeremy Collake และ Aviad Raviv
    # site: http://www.bitsum.com, http://howtogeek.com
    #
    # script เพื่อสร้างไฟล์กำหนดค่าจาก nvram vars.
    # จะทำงานกับไฟล์ปรับแต่งที่ใช้
    # var = คู่ประเภทของค่า.
    #
    # ใช้ส่วนนำหน้าสำหรับตัวแปร nvram.
    #
    # i.e.
    # ssmtp_hostname = บางสิ่ง
    # แปลเป็น ssmtp.conf
    # hostname = บางอย่าง
    #
    logger_func ()

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

    logger_func "########### เริ่มการทำงานของ SSMTP init ที่เรียกใช้ #############"
    logger_func "การสร้างไดเรกทอรี ฯลฯ ใน / 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 สำหรับแพ็คเกจ $ PACKAGE_NAME"
    #echo $ 0: สร้าง $ CONFIG_FILE สำหรับแพ็คเกจ $ PACKAGE_NAME
    echo "#! / bin / sh"> $ CONFIG_FILE
    echo "#" >> $ CONFIG_FILE
    echo "# auto สร้างโดยอิงจาก nvram โดย $ 0" >> $ CONFIG_FILE
    echo "#" >> $ CONFIG_FILE

    ถ้า [-z "'แสดง nvram | grep ssmtp'"]
    แล้วก็
    logger_func "ดูเหมือนว่าคุณยังไม่ได้ตั้งค่าตัวแปร NVRAM ที่จำเป็นในการสร้างไฟล์ conf"
    logger_func "** พิจารณา ** โดยใช้คำสั่งเหล่านี้ในสคริปต์เริ่มต้นของคุณ:"
    logger_func "ชุด nvram [email protected]"
    logger_func "ชุด nvram ssmtp_mailhub = smtp.gmail.com: 587"
    logger_func "ชุด nvram [email protected]"
    logger_func "ชุด nvram ssmtp_UseSTARTTLS = YES"
    logger_func "ชุด nvram ssmtp_AuthUser = ชื่อผู้ใช้"
    logger_func "ชุด nvram ssmtp_AuthPass = รหัสผ่าน"
    logger_func "ชุด nvram ssmtp_FromLineOverride = YES"
    logger_func "สร้างตัวแปร NVRAM และเรียกใช้สคริปต์เริ่มต้นใหม่หรือรีบูตเพื่อให้การตั้งค่ามีผล"
    ออก 0
    Fi

    ################################################## #########
    #
    # main loop
    #
    SED_COMMAND = "s / $ NVRAM_PREFIX / /"
    CONFIG_VARS = "รายการ nvram | grep $ NVRAM_PREFIX | sed" $ SED_COMMAND ""
    สำหรับฉันใน $ CONFIG_VARS; ทำ
    echo $ i >> $ CONFIG_FILE
    เสร็จแล้ว

    ################################################## #########
    #
    # สติตรวจสอบ
    #
    ถ้า [! -f "$ CONFIG_FILE"]; แล้วก็
    # echo "$ 0: ข้อผิดพลาด - ไม่สามารถสร้าง $ CONFIG_FILE ได้อาจไม่มี symink / etc / XXXX -> / tmp / etc / XXXX?"
    logger_func "ข้อผิดพลาด - ไม่สามารถสร้าง $ CONFIG_FILE อาจไม่มี symink / etc / XXXX -> / tmp / etc / XXXX?"
    Fi
    logger_func "########### เสร็จสิ้นการเรียกใช้ SSMTP ที่เสร็จสิ้นแล้ว ##############"

    ทำให้ปฏิบัติการ:

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

    จดบันทึกตัวแปรการรอ NVRAM ในสคริปต์มันเป็นความรับผิดชอบของเราที่จะให้บางสิ่งบางอย่างแก่พวกเขาในการทำงานหลังจากที่เราติดตั้งเฟิร์มแวร์ที่ดัดแปลงของเราบนเราเตอร์.

    สร้างเฟิร์มแวร์ที่แก้ไข

    ตอนนี้ทุกอย่างเข้าที่แล้วก็ถึงเวลาที่จะต้องบรรจุเฟิร์มแวร์ที่ถูกดัดแปลงเข้าไปในไบนารีที่ถูกบีบอัดซึ่งเราสามารถแฟลชไปยังเราเตอร์ได้.
    ไวยากรณ์ของสคริปต์“ build.sh” คือ:
    ./build_firmware.sh OUTPUT_DIR WORKING_DIRECTORY

    ในการทำเช่นนี้เราใช้สคริปต์ที่ให้มาดังนั้นจึงมีปัญหา:

    ./build_firmware.sh เอาต์พุต_mini1 ./working_dir_mini1/

    เมื่อการดำเนินการ "สร้าง" เสร็จสิ้นจะมีอิมเมจเฟิร์มแวร์หลายรูปรอที่จะใช้ในไดเรกทอรี "เอาท์พุท".

    ตอนนี้คุณสามารถแฟลชไฟล์ชื่อ“ custom_image_00001-generic.bin” ไปยังเราเตอร์ของคุณได้ตามปกติแล้วคุณจะต้องใช้เฟิร์มแวร์ DD-WRT.

    บันทึก: อย่าลืมคืนค่าเป็น“ ค่าเริ่มต้นจากโรงงาน” ก่อนระหว่างและหลังแฟลชเฟิร์มแวร์.

    โพสต์ขั้นตอนแฟลช

    เนื่องจากเราสร้างแพคเกจ SSMTP เพื่อค้นหาตัวแปร NVRAM เพื่อสร้างไฟล์การตั้งค่า ssmtp ตอนนี้เราจำเป็นต้องส่งข้อมูลที่ขาดหายไป.
    เราจะทำสิ่งนี้ให้สำเร็จโดยใช้ฟังก์ชั่น“ Run command” บนเว็บ GUI.

    ไปที่ web-GUI ->“ administration” ->“ command” -> วางในกล่องข้อความต่อไปนี้:

    ชุด nvram [email protected]
    nvram set ssmtp_mailhub = smtp.gmail.com: 587
    ชุด nvram [email protected]
    nvram set ssmtp_UseSTARTTLS = ใช่
    ชุด nvram ssmtp_AuthUser = your-gmail-user-name (ไม่มี @ gmail.com)
    ชุด nvram ssmtp_AuthPass = you-gmail-password
    nvram set ssmtp_FromLineOverride = YES
    nvram กระทำ

    แทนที่ข้อความหลังเครื่องหมายเท่ากับ (=) ด้วยข้อมูลจริงของคุณแล้วกด "เรียกใช้คำสั่ง".
    บันทึก: ถ้าคุณใช้ TLS ปกติที่ไม่ใช้งานเซิร์ฟเวอร์ smtp พอร์ตที่จะใช้คือ 25 แทน 587.

    ตอนนี้ข้อมูล SSMTP พร้อมใช้งานแล้วคุณจะต้องเรียกใช้สคริปต์เริ่มต้น ดังนั้นคุณสามารถรีบูตเราเตอร์หรือวางสิ่งนี้ลงในกล่องข้อความคำสั่ง:

    /etc/init.d/S80ssmtp

    จากนั้นกด“ เรียกใช้คำสั่ง” อีกครั้ง.
    ผลลัพธ์ของคำสั่งนี้ควรมีลักษณะดังนี้:

    ทดสอบว่าคุณสามารถส่งอีเมล
    วางสิ่งนี้ลงในกล่องข้อความ "คำสั่ง" คำสั่งต่อไปนี้พร้อมกับที่อยู่อีเมลของคุณ:

    echo "ทดสอบการส่งอีเมลเบ้าหลอมได้ 123 qwe" | ssmtp -vvv [email protected]

    จากนั้นกด“ เรียกใช้คำสั่ง” อีกครั้ง.
    เนื่องจากเราใช้ตัวเลือก -vvv สำหรับความละเอียดเพิ่มเติมเอาต์พุตของคำสั่งนี้ควรมีลักษณะดังนี้:

    หากทุกอย่างเป็นไปด้วยดีคุณควรได้รับอีเมลทดสอบภายในไม่กี่วินาที.

    เราหวังว่าคุณจะสามารถใช้ข้อมูลนี้เพื่อผลักดันขีด จำกัด ของเราเตอร์ในบ้านให้ดียิ่งขึ้นจากนั้นคุณคิดว่าเป็นไปได้และตอนนี้คุณสามารถควบคุมเราเตอร์ที่บ้านของคุณและ DD-WRT ...


    Linux ยืดอายุการใช้งาน, Linux เพิ่มความมีสติ ... Linux มีความสำคัญต่อการเดินทางแบบแพ็คเก็ต