Cách cài đặt phần mềm bổ sung trên bộ định tuyến của bạn (DD-WRT)

Mục lục:

Cách cài đặt phần mềm bổ sung trên bộ định tuyến của bạn (DD-WRT)
Cách cài đặt phần mềm bổ sung trên bộ định tuyến của bạn (DD-WRT)

Video: Cách cài đặt phần mềm bổ sung trên bộ định tuyến của bạn (DD-WRT)

Video: Cách cài đặt phần mềm bổ sung trên bộ định tuyến của bạn (DD-WRT)
Video: ✅ Hướng Dẫn Tăng Follow Twitter Cực Đơn Giản | Tăng Theo Dõi Twitter Mới Nhất 2023 | LDH Media - YouTube 2024, Tháng tư
Anonim
Bạn đã bao giờ muốn có các chức năng bổ sung như Email, Bit-torrent hoặc thậm chí MySQL trực tiếp trên bộ định tuyến của bạn chưa? Có lẽ bây giờ bạn có thể. How-To Geek tìm hiểu cách cài đặt phần mềm Opkg trên DD-WRT.
Bạn đã bao giờ muốn có các chức năng bổ sung như Email, Bit-torrent hoặc thậm chí MySQL trực tiếp trên bộ định tuyến của bạn chưa? Có lẽ bây giờ bạn có thể. How-To Geek tìm hiểu cách cài đặt phần mềm Opkg trên DD-WRT.

Ảnh của Jean Spector và Aviad Raviv

Nếu bạn chưa, hãy chắc chắn và xem các bài viết trước trong loạt bài này:

  • Biến bộ định tuyến của bạn thành bộ định tuyến siêu với DD-WRT
  • Làm thế nào để loại bỏ quảng cáo với Pixelserv trên DD-WRT

Giả sử bạn đã quen thuộc với những chủ đề đó, hãy tiếp tục đọc. Hãy nhớ rằng hướng dẫn này là một chút kỹ thuật hơn, và người mới bắt đầu nên cẩn thận khi modding router của họ.

Khủng bố

Gần đây tôi đã mua một chiếc Buffalo WZR-HP-AG300H mới đi kèm với phiên bản mang nhãn hiệu DD-WRT. Do thực tế là bộ định tuyến này có cổng USB, tôi ngay lập tức kết nối với HD và cố gắng sử dụng hướng dẫn wiki “Optware, The Right Way”. Rất tiếc, tôi đã nhanh chóng nhận thấy rằng bộ định tuyến mà tôi nhận được, dựa trên Atheros và tập lệnh từ trang wiki đó, không hỗ trợ nó. Vì vậy, tôi đã bắt đầu đào (như tôi luôn luôn làm) và đi qua một số hướng dẫn (1, 2, 3 và 4) nhằm mục đích để giải thích làm thế nào để có được Opkg làm việc bằng tay. Mặc dù sự đóng góp của họ (trong số các nguồn khác trên web) cho hướng dẫn này là vô giá, nhưng một số hướng dẫn là (IMHO) đơn giản là không thẳng tiến. Ví dụ: cung cấp cho bạn các tệp "lib" cá, nhưng không dạy bạn cách cá nó từ nguồn. Ngoài ra phải sử dụng định dạng HD của Linux hoặc ít nhất một phân vùng của một (thậm chí còn không hoạt động trên các phần cứng mà tôi đã thử nghiệm). Đó là lý do tại sao, tôi cảm thấy cần phải tạo ra các thủ tục dưới đây ngắn gọn, đơn giản để làm theo và tái sản xuất để có được trình quản lý gói OpenWRT Opkg để làm việc trên các bộ định tuyến như vậy.

Cập nhật: Khả năng phân vùng gắn kết đã được giới thiệu lại vào phiên bản được gắn thương hiệu trên bản dựng 17798 alpha.

Opkg là gì?

Opkg là một trình quản lý gói như apt / aptitude và yum. Nó hoạt động như một sự thay thế cho trình quản lý gói Ipkg, và có thể được sử dụng để cài đặt phần mềm như: trình nền truyền BitTorrent, người gửi email ssmtp và Knockd một daemon thực thi các kịch bản sau một chuỗi kích hoạt cổng được chỉ định, để đặt tên một vài. Từ trang OpenWRT:

The opkg utility (an ipkg fork) is a lightweight package manager used to download and install OpenWrt packages from local package repositories or ones located on the Internet.

Opkg

cố gắng giải quyết các phụ thuộc với các gói trong kho - nếu điều này không thành công, nó sẽ báo cáo lỗi và hủy bỏ việc cài đặt gói đó.

Vì vậy, bằng cách sử dụng Opkg, chúng tôi có thể cài đặt những thứ như chúng tôi đã làm với Ipkg trên hướng dẫn “Giải phóng sức mạnh thậm chí nhiều hơn từ bộ định tuyến của bạn”. Sự khác biệt chính là:

  1. Để đưa ra các ví dụ về SSMTP và Knockd, bạn thực sự phải tìm ra các phụ thuộc theo cách thủ công. Các thủ tục để làm điều này bằng tay là khó chịu và không phải là rất thẳng về phía trước. Opkg thực hiện điều này tự động.
  2. Lần này chúng ta sẽ thêm vào phần mềm ở trên cùng của chương trình cơ sở, thay vào đó là thay thế nó. Trong khi thay thế nó là một bài tập geek tuyệt vời, nó là không có nghi ngờ: nguy hiểm, dễ bị các vấn đề, không thể đảo ngược và tồi tệ nhất của tất cả các bộ định tuyến cụ thể. Không cần phải nói rằng đây là cách đơn giản và an toàn hơn.

Điều kiện tiên quyết

Để hoàn thành hướng dẫn này, lưu ý những điều sau:

  1. Như đã nói ở trên, hướng dẫn này được tạo và thử nghiệm trên Buffalo WZR-HP-AG300H với phiên bản firmware “Pro” 17135 của Buffalo. Nó sẽ hoạt động trên bất kỳ bộ định tuyến Atheros (ar71xx) nào với bất kỳ phiên bản DD-WRT nào có cùng phiên bản hoặc cao hơn nhưng số dặm của bạn có thể rất lớn.
  2. Bạn sẽ cần phải kích hoạt SSH trên router, cũng như cài đặt và sử dụng WinSCP để kết nối với nó. Điều này đã được giải thích trong hướng dẫn “Làm thế nào để loại bỏ quảng cáo với Pixelserv trên DD-WRT”. Trong thực tế, nó sẽ được giả định rằng bạn có thể làm tất cả mọi thứ được giải thích trong hướng dẫn đó.
  3. Bạn cần có khả năng kết nối với router bằng thiết bị đầu cuối (nên dùng SSH). Một số gợi ý về cách thực hiện điều này, nằm trên wiki DD-WRT.
  4. Không gian cho JFFS và khoảng 4MB không gian được định dạng bài cho thiết lập cơ sở. Không gian JFFS không chỉ là điều kiện tiên quyết, nó còn là một nút show. Điều này là do, Nếu bộ định tuyến của bạn không có ít nhất 4MB dung lượng đã được đề cập ở trên, bạn sẽ không nhận được bất kỳ lợi ích thực sự nào từ hướng dẫn này và sẽ tốt hơn bằng cách sử dụng “Giải phóng thêm sức mạnh từ bộ định tuyến của bạn” hướng dẫn cài đặt gói Ipkg trực tiếp vào chương trình cơ sở hoặc cài đặt gói Ipkg theo cách thủ công. Thực hiện theo các hướng dẫn trên hướng dẫn “Cách xóa quảng cáo với Pixelserv trên DD-WRT” để bật JFFS và xem bạn còn bao nhiêu dung lượng trống sau nó được định dạng.

Chú thích: Có thể thực hiện điều này chỉ với 2MB không gian cho thiết lập, nhưng sau đó chúng tôi sẽ mất bản sao "/ etc" trở thành có thể đọc được và sẽ phải gọi Opkg, trong khi chỉ định tệp cấu hình theo cách thủ công mọi lúc … sooo lame …

Chúng ta hãy nứt

Tại thời điểm này, bạn cần phải kích hoạt JFFS và có thể SSH / WinSCP vào router.

  1. Mở một phiên đầu cuối cho bộ định tuyến.
  2. Tạo một thư mục tạm thời mà chúng tôi sẽ làm việc trong:

    mkdir /tmp/1 cd /tmp/1

Sử dụng Ipkg để cài đặt Opkg Trong khi chúng tôi sẽ thay thế Ipkg như người quản lý gói, chúng tôi sẽ sử dụng nó để cài đặt thủ công gói cài đặt Opkg.

  1. Để thực hiện việc này, hãy tải xuống gói cài đặt Opkg cho kiến trúc ar71xx từ thân cây dự án OpenWRT:

    wget https://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/opkg_618-2_ar71xx.ipk

    Note1: Tại thời điểm viết bài này, 618 là phiên bản mới nhất, điều này có thể thay đổi trong tương lai, vì vậy hãy điều chỉnh cho phù hợp. Lưu ý 2: Nó có thể có thể là sự khác biệt duy nhất trong việc hướng dẫn này để làm việc cho các kiến trúc khác là để có được trình cài đặt Opkg từ kiến trúc áp dụng cho bộ định tuyến của bạn… tuy nhiên điều này là chưa được bạn thực hiện.

  2. Gọi Ipkg để cài đặt bằng tay Opkg bằng cách sử dụng:

    ipkg install opkg_618-2_ar71xx.ipk

    Chú thích: Bạn có thể, nếu bạn muốn, cài đặt mọi gói trong kho theo cách thủ công. Tuy nhiên điều này có nghĩa là bạn sẽ phải giải quyết các phụ thuộc của riêng bạn … và điều gì sẽ là niềm vui trong đó?

Lấy các tệp thư viện động ("lib" s) Các tệp "lib" bắt buộc để tạo Opkg, là một phần của bản phân phối OpenWRT. Để có được chúng, người ta phải trích xuất chúng từ "Root FileSystem" của phân phối nói trên.

  1. Để thực hiện điều này, hãy tải xuống "Root FileSystem" cơ bản mới nhất cho sự phân phối openWRT chứa các "lib" bắt buộc từ thân cây dự án OpenWRT:

    wget https://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-rootfs.tar.gz

  2. Giải nén nó bằng cách sử dụng:

    tar xvzf openwrt-ar71xx-generic-rootfs.tar.gz

  3. Sao chép các tệp "libs" từ "rootfs" mà chúng tôi đã trích xuất ở trên vào thư mục "libs" trên JFFS của chúng tôi, trong khi vẫn giữ các thuộc tính và liên kết tượng trưng của chúng:

    cp -Pp /tmp/1/lib/* /jffs/usr/lib/

    Chú thích: Bạn sẽ nhận được thông báo nói rằng các thư mục con đang bị bỏ qua. Vì chúng tôi không cần bất kỳ thứ gì ngoài các tệp "lib", điều này là tốt và bạn có thể bỏ qua các thư này một cách an toàn.

Sửa LD_LIBRARY “PATH” Chúng ta cần phải nói cho bộ định tuyến, nơi để tìm kiếm các thư viện được chia sẻ (libs), chúng tôi vừa mới cài đặt và cần phải thực hiện điều này trước những cái đi kèm với phần mềm.

  1. Để thực hiện việc này, hãy đặt biến môi trường LD_LIBRARY theo cách thủ công (hiện tại), để làm cho nó trở thành vị trí mà chúng ta đã sao chép các tệp lib mới sẽ là tệp đầu tiên trong "PATH":

    export LD_LIBRARY_PATH=/jffs/usr/lib:$LD_LIBRARY_PATH

Đọc có thể ghi "/ etc" Chúng tôi sẽ sao chép "/ etc" để JFFS và sau đó thực hiện thường xuyên "/ etc" điểm gắn kết, điểm đến nó. Làm như vậy, cả hai sẽ mở ra một thế giới khả năng, bởi vì "/ etc" sẽ trở thành có thể đọc được (mà cá nhân tôi đã chờ đợi hoặc mất 7 năm nay) và cho phép các gói mong đợi hành vi này, hoạt động chính xác.

  1. Tạo thư mục sẽ giữ "/ etc":

    mkdir -p /jffs/geek/etc

  2. Sao chép đệ quy toàn bộ "/ etc" trong khi vẫn giữ tất cả các thư mục con, thuộc tính tệp và liên kết tượng trưng.

    cp -a /etc/* /jffs/geek/etc/

  3. Thủ công (hiện tại) “bind mount” thư mục “/ etc” vào thư mục JFFS:

    mount -o bind /jffs/geek/etc/ /etc/

Đặt thư mục Optware (“/ opt”) Opkg từ OpenWRT, dự kiến sẽ được sử dụng khi phần vững của bộ định tuyến được xây dựng. Vào thời điểm đó, FileSystem chưa có trên bộ định tuyến và do đó vẫn có thể thay đổi, không có sự cố khi cài đặt vào bất kỳ vị trí nào trên Hệ thống tệp. Đó là lý do tại sao tệp cấu hình Opkg chỉ các gói để cài đặt vào "root" (/) của FileSystem. Tuy nhiên, chúng tôi đang sử dụng Opkg sau phần vững được xây dựng và cài đặt trên bộ định tuyến và vì chúng tôi không thể thay đổi thư mục gốc của hệ thống tệp thành có thể đọc được, chúng tôi sẽ chỉ tất cả các cài đặt được cài đặt trong “/ opt”. Tuy nhiên Hiện tại “/ opt” cũng trỏ đến vị trí chỉ đọc trên chương trình cơ sở của bộ định tuyến. Để khắc phục điều này, chúng ta sẽ làm cho “/ opt” trỏ tới JFFS, có thể đọc được.

  1. Để thực hiện việc này, hãy tạo thư mục chứa các gói phần mềm Optware:

    mkdir -p /jffs/opt

  2. Thủ công (hiện tại) “gắn kết gắn kết” thư mục “/ opt” vào thư mục JFFS:

    mount -o bind /jffs/opt/ /opt/

    Lưu ý: Trong phạm vi của hướng dẫn này, người dùng cao cấp hơn có thể muốn thay đổi điểm gắn kết này, để trỏ tới HD.

Điều chỉnh tệp cấu hình Opkg Chúng tôi muốn các tập tin cấu hình Opkg là nơi Opkg tìm kiếm nó theo mặc định (đó là "/ etc") và điều chỉnh để cài đặt để "/ opt".

  1. Để thực hiện việc này, hãy di chuyển tệp cấu hình opkg được cài đặt bởi gói Opkg tới vị trí "/ etc" có thể đọc được:

    mv /jffs/etc/opkg.conf /etc/

  2. Thay đổi đích cho cài đặt Optware thành “/ opt” thay vì “root” (/). Để làm điều này, với trình soạn thảo "vi" hoặc WinSCP, hãy điều hướng đến "/ etc /" và tạo nội dung của tệp "opkg.conf":

    vi /etc/opkg.conf

    Làm cho nó trông giống như:

    src/gz snapshots https://downloads.openwrt.org/snapshots/trunk/ar71xx/packages dest root /opt dest ram /tmp lists_dir ext /var/opkg-lists option overlay_root /overlay

    Chú thích: Bạn có thể thay đổi chỉ thị “lists_dir” để trỏ đến một vị trí không có trong RAM, mà đúng hơn là trên JFFS. Mặc dù điều này sẽ giúp bạn khỏi việc cập nhật danh sách, trước khi bạn có thể cài đặt phần mềm bổ sung (nếu bộ định tuyến của bạn được khởi động lại từ lần trước), bạn sẽ mất khoảng 1,5MB không gian JFFS khan hiếm và bạn sẽ trở nên xói mòn.

Xin chào em yêu Bạn sẽ có thể thấy Opkg đang hoạt động bằng cách phát hành các lệnh cập nhật và liệt kê các lệnh.

  1. Nếu mọi việc suôn sẻ, bạn sẽ thấy rằng danh sách Opkg đã được cập nhật mà không có lỗi và bạn đã sẵn sàng để thực hiện kịch bản trong bước tiếp theo:

    opkg update; opkg list

  2. Dành thời gian để bắt đầu khám phá các gói có sẵn trên kho lưu trữ….

Tập lệnh khởi động Bây giờ chúng ta cần phải làm cho nó để tất cả các yêu cầu gắn kết và đường dẫn-ing sẽ xảy ra tự động khi router khởi động. Để kết thúc, chúng tôi đã tạo cho bạn, tập lệnh geek-init khởi tạo này.

  1. Tải xuống, sau đó giải nén nó và đặt nó dưới "/ jffs / geek / etc /". (Xem xét thực hiện điều này với WinSCP).
  2. Làm cho tập lệnh thực thi bằng cách đi vào các thuộc tính của nó bằng WinSCP hoặc thực hiện:

    chmod +x /jffs/geek/etc/geek-init.sh

  3. Làm cho tập lệnh thực thi khi khởi động bộ định tuyến, sử dụng WebGUI. Trong Quản trị -> Lệnh, trong hộp văn bản, hãy đặt:

    /jffs/geek/etc/geek-init.sh web-gui

    Và nhấp vào “Lưu khởi động”.

Kicking lốp xe Nếu mọi việc suôn sẻ, bây giờ bạn có thể khởi động lại router và vẫn sử dụng trình quản lý gói Opkg. Đó là cập nhật, liệt kê và cài đặt các ứng dụng. Cho phép kiểm tra rằng mọi thứ đang hoạt động bằng cách cài đặt lệnh “netstat”, vì lý do nào đó đã bị bỏ qua từ các bản dựng của DD-WRT gần đây. Trước khi thực hiện điều này, hãy thực hiện lệnh netstat trong terminal và bạn sẽ thấy rằng bạn bị lỗi bởi một lỗi từ shell, nói “-sh: netstat: not found”.

  1. Bước đầu tiên của bạn sẽ luôn luôn là, để cập nhật danh sách Opkg, để có danh sách các gói mới nhất từ kho lưu trữ:

    opkg update

  2. Nếu bạn không biết gói nào chứa lệnh “netstat”, bạn có thể lọc kết quả bằng cách sử dụng.

    opkg list | grep netstat

  3. Và bây giờ cài đặt "netstat" bằng cách sử dụng:

    opkg install net-tools-netstat

    Và bây giờ, khi bạn thực hiện lệnh netstat một lần nữa nó hoạt động … gọn gàng ha?:)

Cho đến các bài viết trong tương lai, trong đó chúng tôi sẽ cài đặt và cấu hình các gói phần mềm bằng cách sử dụng phương pháp này, bạn có thể có rất nhiều niềm vui khi khám phá số lượng lớn phần mềm hiện tại ngay trên đầu ngón tay của bạn.

Nếu một cỗ máy như vậy là một sự không thể ảo, nó phải hợp lý là một khả năng không ổn định. Vì vậy, tất cả những gì tôi phải làm để tạo ra một thứ là tìm ra chính xác cái không thể xảy ra, hãy đưa con số đó vào máy phát điện không ổn định, cho nó một tách trà nóng thật tươi và bật nó lên………………. Một điều họ thực sự không thích, là một “Smart-Ass”.

Đề xuất: