Comment installer des logiciels supplémentaires sur votre routeur domestique (DD-WRT)

Table des matières:

Comment installer des logiciels supplémentaires sur votre routeur domestique (DD-WRT)
Comment installer des logiciels supplémentaires sur votre routeur domestique (DD-WRT)

Vidéo: Comment installer des logiciels supplémentaires sur votre routeur domestique (DD-WRT)

Vidéo: Comment installer des logiciels supplémentaires sur votre routeur domestique (DD-WRT)
Vidéo: Premiers pas sur Mac : Utilisation des fenêtres et du Dock - YouTube 2024, Avril
Anonim
Avez-vous déjà souhaité disposer de fonctionnalités supplémentaires telles que Email, Bit-torrent ou même MySQL directement sur votre routeur? Eh bien peut-être que maintenant vous pouvez. How-To Geek explore comment installer le logiciel Opkg sur DD-WRT.
Avez-vous déjà souhaité disposer de fonctionnalités supplémentaires telles que Email, Bit-torrent ou même MySQL directement sur votre routeur? Eh bien peut-être que maintenant vous pouvez. How-To Geek explore comment installer le logiciel Opkg sur DD-WRT.

Image de Jean Spector et Aviad Raviv

Si ce n’est déjà fait, assurez-vous de consulter les articles précédents de la série:

  • Transformez votre routeur domestique en un routeur super-alimenté avec DD-WRT
  • Comment supprimer des publicités avec Pixelserv sur DD-WRT

En supposant que vous connaissez ces sujets, continuez à lire. N'oubliez pas que ce guide est un peu plus technique et que les débutants doivent faire attention lorsqu'ils modifient leur routeur.

Tribulations

J'ai récemment acheté une nouvelle Buffalo WZR-HP-AG300H, livrée avec une version renommée de DD-WRT. Étant donné que ce routeur dispose d'un port USB, j'ai immédiatement connecté un disque dur et essayé d'utiliser le guide wiki «Optware, The Right Way». Malheureusement, j’ai rapidement constaté que le routeur que j’avais est basé sur Atheros et que le script de cette page wiki ne le prend pas en charge. J'ai donc commencé à creuser (comme je le fais toujours) et je suis tombé sur plusieurs guides (1, 2, 3 et 4) visant à expliquer comment faire fonctionner Opkg manuellement. Bien que leur contribution (entre autres sources sur le Web) à ce guide ait été inestimable, certaines des instructions sont (IMHO) tout simplement pas assez simples. Par exemple, vous donner les fichiers «lib» du poisson, mais ne vous apprenez pas comment le pêcher depuis la source. De plus, il faut utiliser un disque dur formaté Linux ou au moins une partition d’un disque (qui ne fonctionne même pas sur les firmwares avec lesquels j'ai testé). C'est pourquoi, j'ai ressenti le besoin de créer la procédure ci-dessous, concise, simple à suivre et reproductible, permettant au gestionnaire de paquets OpenWRT Opkg de fonctionner sur de tels routeurs.

Mise à jour: la fonctionnalité de montage des partitions a été réintroduite dans la version modifiée de la version 17798 alpha.

Qu'est-ce que Opkg?

Opkg est un gestionnaire de paquets comme apt / aptitude and yum. Il remplace le gestionnaire de paquets Ipkg et peut être utilisé pour installer des logiciels tels que: le démon Transmission BitTorrent, l'expéditeur du courrier électronique ssmtp et le démon Knockd qui exécute des scripts après une séquence de déclenchement de port spécifiée. Depuis le site 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

tente de résoudre les dépendances avec des packages dans les référentiels. Si cela échoue, une erreur est signalée et l'annulation de l'installation de ce package.

Donc, en utilisant Opkg, nous pouvons installer des choses comme nous l'avons fait avec Ipkg dans le guide «Libérez encore plus de puissance de votre routeur domestique». Les principales différences sont:

  1. Afin de donner les exemples de SSMTP et de Knockd, il vous fallait véritablement comprendre les dépendances manuellement. La procédure pour le faire manuellement est gênante et pas très simple. Opkg le fait automatiquement.
  2. Cette fois nous serons ajouter logiciel en plus du micrologiciel en place, plutôt que de le remplacer. Bien que le remplacer fût un excellent exercice geek, c’était sans aucun doute: dangereux, sujet aux problèmes, irréversible et pire encore, spécifique à un routeur. Inutile de dire que c'est beaucoup plus simple et plus sûr.

Conditions préalables

Afin de compléter ce guide, notez ce qui suit:

  1. Comme indiqué ci-dessus, ce guide a été créé et testé sur Buffalo WZR-HP-AG300H avec la version 17135 du microprogramme «Pro» de Buffalo., mais votre kilométrage peut être très.
  2. Vous devrez activer SSH sur le routeur, installer et utiliser WinSCP pour vous y connecter. Ceci a été expliqué dans le guide «Comment supprimer des publicités avec Pixelserv sur DD-WRT». En fait, on supposera que vous êtes capable de faire tout ce qui est expliqué dans ce guide.
  3. Vous devez pouvoir vous connecter au routeur à l'aide d'un terminal (SSH est recommandé). Certains conseils sur la façon de procéder sont sur le wiki DD-WRT.
  4. Espace pour JFFS et environ 4 Mo d’espace formaté pour la configuration de base. L’espace JFFS n’est pas seulement un préalable, c’est un spectacle. En effet, si votre routeur ne dispose pas au moins des 4 Mo d’espace formaté mentionnés ci-dessus, vous ne tirerez aucun avantage réel de ce guide et vous aurez intérêt à utiliser le chapitre «Libérez encore plus de puissance de votre routeur domestique». guide pour installer les packages Ipkg directement dans le microprogramme ou pour l’installation manuelle des packages Ipkg. Suivez les instructions du guide «Comment supprimer des publicités avec Pixelserv sur DD-WRT» pour activer JFFS et voir combien d’espace libre dont vous disposez réellement après il est formaté.

Remarque: Il est possible de faire cela avec seulement 2 Mo d’espace pour la configuration, mais nous perdrions alors le résultat de “/ etc” en lecture-écriture et devrions invoquer Opkg, tout en spécifiant le fichier de configuration manuellement à chaque fois… ce qui ressemble à tellement boiteux…

Permet de craquer

À ce stade, vous devez avoir activé JFFS et pouvoir connecter SSH / WinSCP au routeur.

  1. Ouvrez une session de terminal sur le routeur.
  2. Créez un répertoire temporaire dans lequel nous allons travailler:

    mkdir /tmp/1 cd /tmp/1

Utilisez Ipkg pour installer Opkg Pendant que nous allons remplacer Ipkg en tant que gestionnaire de paquets, nous allons l’utiliser pour installer manuellement le paquet d’installation Opkg.

  1. Pour ce faire, téléchargez le package d'installation Opkg pour l'architecture ar71xx à partir du coffre du projet OpenWRT:

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

    Note 1: Au moment de la rédaction de cet article, 618 est la dernière version. Elle pourrait être modifiée à l'avenir. Adaptez-vous en conséquence. Note 2: Il est possible que la seule différence pour que ce guide fonctionne pour d'autres architectures consiste à obtenir le programme d'installation Opkg à partir de l'architecture applicable pour votre routeur… mais cela n'a pas été testé par le vôtre.

  2. Appelez Ipkg pour installer manuellement Opkg en utilisant:

    ipkg install opkg_618-2_ar71xx.ipk

    Remarque: Vous pouvez aussi, si vous le souhaitez, installer manuellement chaque paquet dans le référentiel. Cependant, cela signifierait que vous devrez résoudre vous-même les dépendances… et quel serait le plaisir de cela?

Obtention des fichiers de bibliothèque dynamiques (“lib” s) Les fichiers «lib» requis pour faire fonctionner Opkg font partie de la distribution OpenWRT. Pour les obtenir, il faut les extraire du «système de fichiers racine» de cette distribution.

  1. Pour ce faire, téléchargez le dernier «système de fichiers racine» de base pour la distribution openWRT, qui contient les «lib» requises à partir du coffre du projet OpenWRT:

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

  2. Extrayez-le en utilisant:

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

  3. Copiez les fichiers «libs» des «rootfs» que nous avons extraits ci-dessus dans le répertoire «libs» de notre JFFS, tout en préservant leurs attributs et leurs liens symboliques:

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

    Remarque: Vous recevrez des messages indiquant que les sous-répertoires sont omis. Comme nous n’avons besoin que des fichiers «lib», c’est très bien et vous pouvez ignorer ces messages en toute sécurité.

Correction du "PATH" LD_LIBRARY Nous devons indiquer au routeur où chercher les bibliothèques partagées (libs) que nous venons de «installer» et qu'il doit le faire. avant ceux qui sont venus avec le firmware.

  1. Pour ce faire, définissez manuellement la variable d’environnement LD_LIBRARY (pour l’instant). Ainsi, l’emplacement où nous avons copié les nouveaux fichiers lib sera le premier dans le “PATH”:

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

Lecture-écriture “/ etc” Nous allons copier “/ etc” dans JFFS puis créer le point de montage “/ etc” habituel, le pointer. Cela créerait à la fois un monde de possibilités, car «/ etc» deviendrait en lecture-écriture (ce que j’attendais personnellement depuis 7 ans) et permet aux packages qui attendent ce comportement de fonctionner correctement.

  1. Créez le répertoire qui contiendra “/ etc”:

    mkdir -p /jffs/geek/etc

  2. Copiez de manière récursive l'intégralité de «/ etc» tout en préservant tous les sous-répertoires, attributs de fichier et liens symboliques.

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

  3. Manuellement (pour le moment), «liez» le répertoire «/ etc» à celui de JFFS:

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

Définir le répertoire Optware (“/ opt”) Opkg d’OpenWRT, devrait être utilisé lors de la construction du micrologiciel du routeur. À ce moment-là, le système de fichiers n’est pas encore installé sur le routeur et reste donc sujet à modification. Il n’ya pas de problème d’installation à aucun emplacement du système de fichiers. C’est pourquoi le fichier de configuration Opkg désigne les packages à installer à la “racine” (/) du système de fichiers. Cependant, nous utilisons Opkg après Le microprogramme a été créé et installé sur le routeur. Comme nous ne pouvons pas modifier la racine du système de fichiers pour qu’elle soit en lecture-écriture, nous indiquerons que toutes les installations doivent être installées sous «/ opt». Cependant, actuellement, “/ opt” pointe également sur un emplacement en lecture seule du micrologiciel du routeur. Pour surmonter cela, nous ferons en sorte que “/ opt” pointe JFFS, qui est en lecture-écriture.

  1. Pour ce faire, créez le répertoire qui contiendra les packages Optware:

    mkdir -p /jffs/opt

  2. Manuellement (pour le moment) «lier» le répertoire «/ opt» à celui de JFFS:

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

    Remarque: Bien que cela dépasse le cadre de ce guide, les utilisateurs plus avancés peuvent vouloir changer ce point de montage, pour pointer vers un disque dur.

Ajustement du fichier de configuration Opkg Nous voulons que le fichier de configuration d'Opkg soit là où Opkg le recherche par défaut (c'est-à-dire «/ etc») et ajusté pour s'installer dans «/ opt».

  1. Pour ce faire, déplacez le fichier de configuration opkg installé par le paquet Opkg vers l'emplacement «/ etc» en lecture-écriture:

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

  2. Changez la destination des installations Optware en choisissant «/ opt» au lieu de «racine» (/). Pour ce faire, avec l’éditeur «vi» ou WinSCP, accédez à «/ etc /» et créez le contenu du fichier «opkg.conf»:

    vi /etc/opkg.conf

    Faites-le ressembler à:

    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

    Remarque: Vous pouvez modifier la directive "lists_dir" pour qu'elle pointe vers un emplacement qui n'est pas dans la RAM, mais plutôt sur JFFS. Bien que cela vous libère de la mise à jour des listes, avant de pouvoir installer un logiciel supplémentaire (si votre routeur est redémarré depuis la dernière fois), vous perdriez environ 1,5 Mo de l'espace rare du JFFS et vous aggraveriez son érosion.

Salut bébé Vous devriez pouvoir voir qu'Opkg fonctionne en lançant les commandes update et list.

  1. Si tout s'est bien passé, vous devriez voir que les listes Opkg ont été mises à jour sans erreur et que vous êtes prêt à implémenter le script à l'étape suivante:

    opkg update; opkg list

  2. Prenez le temps de commencer à explorer les paquets disponibles sur le référentiel….

Script de démarrage Nous devons maintenant faire en sorte que tout le montage et le cheminement nécessaires se produisent automatiquement lorsque le routeur démarre. À cette fin, nous avons créé pour vous ce script d’initialisation Geek-init.

  1. Téléchargez, puis extrayez-le et placez-le sous “/ jffs / geek / etc /”. (Pensez à le faire avec WinSCP).
  2. Rendre le script exécutable en allant dans ses propriétés avec WinSCP ou en exécutant:

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

  3. Exécutez le script au démarrage du routeur, à l’aide de l’interface Web. Sous Administration -> Commandes, dans la zone de texte, mettez:

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

    Et cliquez sur «Enregistrer le démarrage».

Kicking les pneus Si tout se passe bien, vous devriez maintenant pouvoir redémarrer le routeur et continuer à utiliser le gestionnaire de paquets Opkg. Cela consiste à mettre à jour, répertorier et installer des applications. Vérifions que tout fonctionne correctement en installant la commande «netstat», qui pour une raison quelconque a été omise des versions récentes de DD-WRT. Avant de faire cela, exécutez la commande netstat dans le terminal et vous verrez que vous êtes grondé par une erreur du shell en disant «-sh: netstat: not found».

  1. Votre première étape consistera toujours à mettre à jour les listes Opkg, de manière à disposer des derniers packages listés dans le référentiel:

    opkg update

  2. Si vous ne savez pas quel package contient la commande “netstat”, vous pouvez filtrer les résultats à l’aide de.

    opkg list | grep netstat

  3. Et maintenant, installez «netstat» en utilisant:

    opkg install net-tools-netstat

    Et maintenant, lorsque vous exécutez à nouveau la commande netstat, cela fonctionne… net ha?:)

En attendant les articles à venir dans lesquels nous installerons et configurerons des progiciels à l’aide de cette méthode, vous aurez beaucoup de plaisir geek à explorer la vaste quantité de logiciels qui se trouve maintenant au bout de vos doigts.

Si une telle machine est virtuellement impossible, elle doit logiquement être une improbabilité finie. Donc, tout ce que j'ai à faire pour en créer un, c'est de déterminer à quel point c'est improbable, d'insérer cette figure dans le générateur d'improbabilité finie, de lui donner une tasse de thé bien chaud et de l'allumer………. La seule chose qu’ils n’apprécient vraiment pas, c’est un "malin".

Conseillé: