Extension du FW d'origine

De neufbox 4

Cette page explique comment installer des paquets à l'aide d'opkg, le gestionnaire de paquet d'OpenWRT, inclus dans les firmwares officiels à partir des versions 3.2.x !

Si vous n'avez pas d'accès interne (ssh) à votre Neufbox vous pouvez y avoir accès en utilisant la page mini_fo. De plus, si vous voulez que les paquets restent installés, même après un possible redémarrage (ou mise-à-jour) de votre Neufbox le mini_fo doit être actif !

Modification Firewall

Après avoir installé l'accès local à votre Neufbox, si vous désirez accéder à votre accès de l'extérieur, il convient d'effectuer une Modification Firewall

Il est alors posible de se connecter de l'extérieur à la NB4, et donc d'accéder aux données situées sur un disque externe USB.

Commandes et Transfert de fichiers

A partir d'une session Linux

ssh ob4@monCompte.no-ip.org -P 1288

pour se connecter en utilisant l'utilisateur ob4 sur l'adresse Internet monCompte.no-ip.org de la Neufbox à partir d'un accès distant

scp -p 1288 ~/picture1.png ob4@80.40.45.21:/mnt/usb/sdb1/Media/photos/picture1.png

pour télécharger la photo picture1.png de son dossier personnel vers le répertoire /Media/photos/ de son disque externe.

Sous windows, Winscp permet de naviguer graphiquement entre les répertoires locaux et distants en utilisant les protocoles ssh et scp, ce qui facilite l'utilisation.

Winscp.png

A ma connaissance, il n'y a pas de client graphique "scp" gratuit disponible sous Linux. Le logiciel le plus proche est le logiciel commercial Penguinet. Il est cependant possible d'installer Winscp sous Wine.

Les autres logiciels de navigation sous Linux ou SSHFS utilisent le protocole sftp qui n'est pas supporté par le module dropbear,et non pas scp.Pour disposer de sftp, il faudrait installer un package open-ssh compatible. (.. ce qui est à tester...)

Planification horaire du wifi

Le nom donné à l'interface wifi de la Neufbox est wl0 . Différentes méthodes permettent de gérer l'interface wifi.

Il est possible d'utiliser la commande ifconfig wl0 down pour désactiver le wifi et ifconfig wl0 up pour l'activer.

Simplement, cette modification n'est pas prise en compte par l'interface d'administration Web de la Neufbox. Le changement d'état n'est pas vu.

Pour faire plus propre, il faut utiliser 2 modifications

changement de paramètre d'état: NVRAM

L'interface Web se sert des paramètres NVRAM pour indiquer l'état. L'état du wifi correspond au paramètre wlan_active dont les valeurs sont on ou off. On met donc à jour par nvram set wlan_active off ou nvram set wlan_active on

changement d'état de l'interface: init.d/wlan

Le changement du paramètre n'entraine pas le changement d'état réel. Il convient d'effectuer le changement par la commande /etc/init.d/wlan start pour démarrer et /etc/init.d/wlan stop pour l'arréter

On peut alors chaîner les 2 instructions.

root@nb4:/etc/init.d# nvram set wlan_active off & /etc/init.d/wlan stop 
killall: wps_monitor: no process killed
[1]+  Done                       nvram set wlan_active off
root@nb4:/etc/init.d# nvram set wlan_active on & /etc/init.d/wlan start 
Setting SSID: "NEUF_C0FC"
1: monitor
net.ipv6.conf.wl0.disable_ipv6 = 1
[1]+  Done                       nvram set wlan_active on
root@nb4:/etc/init.d# 

programmation horaire: cron

L'utilisation de cron permet de gérer facilement le démarrage et l'arrêt du wifi à une heure donnée, par exemple pour l’arrêter la nuit.

Il suffit de modifier le fichier /etc/crontabs/root pour lui ajouter les lignes permettant de démarrer ou d'arréter le wifi

dans l'exemple de test suivant, le wifi s'arrête et redémarre toutes les 5 minutes.

root@nb4:/etc# cat /etc/crontabs/root 
0 * * * * /etc/init.d/ca cron
30 * * * * /etc/init.d/ca cron
# -------- zoroastre 99 --- 26 oct 2012 ----
0-60/10 * * * * nvram set wlan_active on & /etc/init.d/wlan start
5-60/10 * * * * nvram set wlan_active off & /etc/init.d/wlan stop
root@nb4:/etc# 

Un exemple plus réaliste est l'arrêt à 22H45 avec un redémarrage à 6H55

root@nb4:/etc# cat /etc/crontabs/root 
0 * * * * /etc/init.d/ca cron
30 * * * * /etc/init.d/ca cron
# -------- zoroastre 99 --- 26 oct 2012 ----
55 6 * * * nvram set wlan_active on & /etc/init.d/wlan start
45 22 * * * nvram set wlan_active off & /etc/init.d/wlan stop
root@nb4:/etc# 

Une fois cette modification réalisée, il suffit de redémarrer cron

root@nb4:/etc# /etc/init.d/cron restart

Installation de paquet SFR

Par défaut, opkg, est configuré pour utiliser le dépôt de paquets de SFR.

La première chose à faire est de mettre à jour la liste des paquets grâce à la commande:

opkg update

Pour voir la liste des paquets disponibles sur le dépôt utilisé la commande:

opkg list

Et finalement la commande pour installer un paquet est la suivante:

opkg install nom_du_paquet


Comme vous avez pu vous en rendre compte SFR ne fournit qu'un nombre limité de paquets sur son dépôt (27) :

bwm, gdbserver, htop, iftop, iperf, iptraf, libncurses, libopenssl, libpcap, libpcre, libpthread, librt, libupnp, lsof, ngrep, picocom, procps, samba2-common, samba2-server, ser2net, sfr-hsp, sfr-libbuip, strace, tcpdump, tcpdump-mini, uclibcxx, ushare

Installation de paquet OpenWRT

OpenWRT fournit son propre dépôt de paquets, avec un nombre très important de paquets (3524) !

http://archive.openwrt.org/attitude_adjustment/12.09/brcm63xx/generic/packages/

Pour l'utiliser, on doit faire un nouveau fichier de configuration pour opkg. On pourrait simplement modifier le fichier de configuration par défaut (/etc/opkg.conf) mais la neufbox le recréé à chaque démarrage, il faudrait donc le re-modifier à chaque fois ...

La création du nouveau fichier peut-être faite directement sur votre clé usb depuis votre ordinateur (tout se passe alors dans le dossier sto), ou en ssh directement sur votre neufbox.

Ce fichier devra être placé dans le repertoire etc et pourra être nommé opkg2.conf (par exemple). Le contenu est le suivant :

src/gz packages http://archive.openwrt.org/attitude_adjustment/12.09/brcm63xx/generic/packages/
dest root /
dest ram /tmp
lists_dir ext /var/opkg-lists
option overlay_root /overlay
option force_space 1

On va maintenant ajouter une route pour télécharger les paquets OpenWRT. D'abord on doit récupérer l'adresse IP des serveurs OpenWRT. On peut le faire avec la commande ping:

ping archive.openwrt.org

Qui devrait afficher quelque chose comme ça (Ctrl+C pour arrêter) :

PING archive.openwrt.org (81.0.124.218): 56 data bytes

Maintenant qu'on a l'adresse IP on va ajouter notre route :

ip route add 81.0.124.218 dev wan0

On peut maintenant mettre à jour la liste des paquets:

opkg update -f /etc/opkg2.conf

Pour voir la liste des paquets disponibles de la même manière:

opkg list

L'installation se fait presque de la même manière que pour SFR. Les paquets OpenWRT ne s'installeront pas sans l'installation du paquet libc (non disponible en tant que paquet mais la libc est déjà présente sur la Neufbox). On va donc dire à OpenWRT de ne pas résoudre problèmes de dépendances :

opkg install nom_du_paquet --force-depends

Attention à ne pas installer de paquets de logiciels déjà installé sur la Neufbox (ushare, libupnp, samba, etc...). L'interface Web ne pourrait plus contrôler les logiciels ainsi remplacés !

Certains paquets OpenWRT ne marchent pas, d'autres peuvent causer des problèmes de stabilités ou empercher votre Neufbox de redémarrer. Pas de panique, en cas de problème vous n'avez qu'à retirer votre clé USB et redémarrer votre Neufbox !