PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

ephase : Wifi à la demande avec le vénérable Linksys WRT54G

mardi 14 mars 2017 à 19:23

Dans le cadre de mon travail, il m'a été demandé de mettre en place pour un centre d'animation un petit réseau wifi afin que les adhérents puissent se connecter à Internet : deux ordinateurs fixe sous Debian et un point d'accès Wifi. J'ai donc recyclé une vieille unité centrale pour en faire un petit routeur proxy filtrant avec ipfire et un vénérable Linksys WRT54G qui traînait.

Les postes sous Debian sont en accès libre toute la journée mais les animateurs voulaient que le wifi soit activé certains jours de 14h à 18h et éventuellement à la demande. Le WRT54G sert à la fois de switch réseau et de point d'accès Wifi. Bien entendu il y a OpenWRT d'installé dessus avec le SSH d'activé (son adresse est 10.0.0.250).

Mise en place d'un script pour l'activation-désactivation du Wifi

La première étape est la création d'un script shell pour activer désactiver l'interface wifi du Linksys. Connectons nous à notre Linksys

ssh root@10.0.0.250

Créons le fichier contenant le script, rendons-le exécutable et ouvrons-le avec vi.

touch /sbin/wtoggle.sh
chmod + x /sbin/wtoggle.sh
vi /sbin/wtoggle.sh

Il suffit maintenant de coller les commandes ci-dessous.

#!/bin/sh

device="wl0"
case $1 in
    "disable")
        wifi down $device
        echo 0 > /proc/diag/led/ses_white
        echo 1 > /proc/diag/led/ses_orange
        echo 0 > /proc/diag/led/wlan
        uci set wireless.$device.disabled=1
        uci commit wireless
        logger "Wifi disabled"
    ;;
    "enable")
        uci set wireless.$device.disabled=0
        uci commit wireless
        wifi up $device
        echo 1 > /proc/diag/led/ses_white
        echo 0 > /proc/diag/led/ses_orange
        echo 2 > /proc/diag/led/wlan
        logger "Wifi enabled"
    ;;
esac

Le script fait trois choses :

  1. Activer / Désactiver le point d'accès Wifi
  2. Allumer la diode SES en blanc / orange en fonction de l'état de la connexion
  3. Activer / désactiver la diode WLAN

L'utilisation est simple : wtoggle enable pour activer le wifi et wtoggle disable pour le désactiver.

Créer la tache cron pour activer le wifi à certaines heures

Il suffit d'ajouter les deux lignes suivantes au cron pour programmer la mise en route du Wifi avec la commande crontab -e

00 14 * * 1-6 wtoggle enable
00 18 * * 1-6 wtoggle disable

Le réseau Wifi est donc allumé du lundi au samedi de 14h à 18h. Mais sur Openwrt le service cron n'est pas activé1. Il faut donc le faire avec les commandes2

/etc/init.d/cron start
/etc/init.d/cron enable

Activation / désactivation à la demande du Wifi

Il est parfois nécessaire d'allumer ou d'éteindre le wifi manuellement, pour ça nous allons détourner le bouton SES du routeur (vous savez celui avec le logo cisco dessus). si le Wifi est désactivé, une pression sur ce bouton l'activera et une autre pression le désactivera à nouveau.

Créons un fichiers bouttons dans le répertoire /etc/hotswap.d/button/ qui va contenir les commandes à effectuer lors de la pression d'un boutons sur le Linksys

mkdir -p /etc/hotswap.d/button/
vi /etc/hotswap.d/button/buttons

Voici le contenu de ce fichier

#!/bin/sh
device="wl0"
if [ "$BUTTON" = "ses" ] && [ "$ACTION" = "pressed" ] ; then
    case $(uci get wireless.$device.disabled) in
        0)
            /sbin/wtoggle.sh disable
        ;;
        1)
            /sbin/wtoggle.sh enable
        ;;
    esac        
fi 

Une fois enregistré, le tout devrait fonctionner : le bouton SES pour allumer /éteindre le wifi et la tâche cron pour le faire automatiquement en fonction des heures d'ouvertures. Le voyant du logo Cisco servant aux animateurs à visualiser rapidement si le réseau Wifi est actif ou non.


  1. voir sur la documentation d'openwrt 

  2. voir sur la documentation d'openwrt 

Gravatar de ephase
Original post of ephase.Votez pour ce billet sur Planet Libre.

Thuban : Listes d'IP à ignorer [updated]

mardi 14 mars 2017 à 16:36

Sur le même modèle que bsdly.net , je publie désormais des listes d'IP connues pour être nuisibles ou émettrices de spam.

La page contenant les listes se trouve ici : Vilaines IP

Vous y trouverez des IP à blacklister avec le parefeu générées régulièrement avec le projet BlockZone. PengouinPdt fait la même chose ici. :)

De même, vous trouverez en complément de la traplist une liste des IPs qui m'ont envoyé du spam. Comme j'utilise déjà d'autres listes très complètes, elle est pour l'instant très maigre, mais elle sera mise à jour automatiquement.

J'utilise des tâche cron pour périodiquement copier les listes d'IP filtrées.
Pour repérer le spam, il me suffit de filtrer l'état de spamd. Lorsqu'un émetteur de spam est piégé, on le repère facilement avec le flag 'TRAPPED'.
J'adore spamd. En laissant trainer une fausse adresse blackhole@yeuxdelibad.net , je sais que ce sont des bots qui écrivent dessus. Outre le fait qu'ils sont piégés pendant un certain temps et ralentis, je retiens maintenant leur IP pour que tout le monde en profite. Nanananère :P

(n'écrivez pas à l'adresse ci-dessus XD)

Voici le script que j'utilise :

#!/bin/sh
# Auteur :      thuban 
# licence :     MIT

# Keep in /var/thuban.traplist
# IPs that used to be trapped.
#
# Use in in spamd.conf with :

###
#
#all:\\
#        :nixspam:myblack

#myblack:\\
#        :black:\\
#        :msg="Your are spam !":\\
#        :method=file:\\
#        :file=/var/thuban.traplist

###

BLACKFILE=/var/thuban.traplist
touch $BLACKFILE

/usr/sbin/spamdb | grep "TRAPPED|" | cut -d'|' -f2 >> $BLACKFILE

# keep uniq
/usr/bin/sort -u $BLACKFILE -o $BLACKFILE

# reload spamd
/usr/libexec/spamd-setup
exit 0

enjoy ;)

EDIT : j'ai ajouté une nouvelle liste qui contient les IP de bruteforceurs détectés avec vilain.

Gravatar de Thuban
Original post of Thuban.Votez pour ce billet sur Planet Libre.

Articles similaires

Thuban : Listes d'IP à ignorer

mardi 14 mars 2017 à 16:36

Sur le même modèle que bsdly.net , je publie désormais des listes d'IP connues pour être nuisibles ou émettrices de spam.

La page contenant les listes se trouve ici : Vilaines IP

Vous y trouverez des IP à blacklister avec le parefeu générées régulièrement avec le projet BlockZone. PengouinPdt fait la même chose ici. :)

De même, vous trouverez en complément de la traplist une liste des IPs qui m'ont envoyé du spam. Comme j'utilise déjà d'autres listes très complètes, elle est pour l'instant très maigre, mais elle sera mise à jour automatiquement.

J'utilise des tâche cron pour périodiquement copier les listes d'IP filtrées.
Pour repérer le spam, il me suffit de filtrer l'état de spamd. Lorsqu'un émetteur de spam est piégé, on le repère facilement avec le flag 'TRAPPED'.
J'adore spamd. En laissant trainer une fausse adresse blackhole@yeuxdelibad.net , je sais que ce sont des bots qui écrivent dessus. Outre le fait qu'ils sont piégés pendant un certain temps et ralentis, je retiens maintenant leur IP pour que tout le monde en profite. Nanananère :P

(n'écrivez pas à l'adresse ci-dessus XD)

Voici le script que j'utilise :

#!/bin/sh
# Auteur :      thuban 
# licence :     MIT

# Keep in /var/thuban.traplist
# IPs that used to be trapped.
#
# Use in in spamd.conf with :

###
#
#all:\\
#        :nixspam:myblack

#myblack:\\
#        :black:\\
#        :msg="Your are spam !":\\
#        :method=file:\\
#        :file=/var/thuban.traplist

###

BLACKFILE=/var/thuban.traplist
touch $BLACKFILE

/usr/sbin/spamdb | grep "TRAPPED|" | cut -d'|' -f2 >> $BLACKFILE

# keep uniq
sort -u $BLACKFILE -o $BLACKFILE

# reload spamd
/usr/libexec/spamd-setup
exit 0

enjoy ;)

Gravatar de Thuban
Original post of Thuban.Votez pour ce billet sur Planet Libre.

System Linux : Erreur 144 avec mysqldump

mardi 14 mars 2017 à 11:30

mysql jpg

ça arrive....

Si vous rencontrez ce genre d'erreur lors d'un mysqldump :

mysqldump: Got error: 144: "Table './wordpress/wp_statpress' is marked as crashed and last (automatic?) repair failed" when using LOCK TABLES

Voila comment réparer la chose :

# mysql -u root -p                                                                          
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \\g.                                                                                          
Your MariaDB connection id is 5294544                                                                                                                
Server version: 5.9.2-MariaDB MariaDB Server                                                                                                        
                                                                                                                                                     
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.                                                                                 
                                                                                                                                                     
Type 'help;' or '\\h' for help. Type '\\c' to clear the current input statement.                                                                       
                                                                                                                                                     
MariaDB [(none)]> use wordpress                                                                                                                     
Reading table information for completion of table and column names                                                                                   
You can turn off this feature to get a quicker startup with -A                                                                                       
                                                                                                                                                     
Database changed                                                                                                                                     
                                                                          
MariaDB [wordpress]> check table wp_statpress;                                                                                                      
+-------------------------+-------+----------+-------------------------------------------------------------+                                         
| Table                   | Op    | Msg_type | Msg_text                                                    |                                         
+-------------------------+-------+----------+-------------------------------------------------------------+                                         
| wordpuser1.wp_statpress | check | warning  | Table is marked as crashed and last repair failed           |                                         
| wordpuser1.wp_statpress | check | warning  | Size of indexfile is: 64860160      Should be: 31134720     |                                         
| wordpuser1.wp_statpress | check | error    | Found key at page -1 that points to record outside datafile |                                         
| wordpuser1.wp_statpress | check | error    | Corrupt                                                     |                                         
+-------------------------+-------+----------+-------------------------------------------------------------+                                         
4 rows in set (2.08 sec)

MariaDB [wordpress]> repair table wp_statpress;                                                                                                       
                                                                                                                        
MariaDB [wordpress]> check table wp_statpress;                                                                                                                           
+-------------------------+-------+----------+----------+                                                                                            
| Table                   | Op    | Msg_type | Msg_text |                                                                                            
+-------------------------+-------+----------+----------+                                                                                            
| wordpuser1.wp_statpress | check | status   | OK       |                                                                                            
+-------------------------+-------+----------+----------+                                                                                            
1 row in set (17.91 sec)

Gravatar de System Linux
Original post of System Linux.Votez pour ce billet sur Planet Libre.

alterlibriste : Un lecteur audio avec Kodi et Raspberry

lundi 13 mars 2017 à 19:01

Mon raspberry pi, premier du nom, commençait à prendre la poussière sur une étagère quand je suis tombé sur une discussion bien intéressante sur Diaspora* pour en faire un lecteur de musique, j’avais tout ce qu’il faut, juste à tout réunir.

DSCF2479.png
Elle était belle l’époque où on se faisait soi-même son boîtier, ici découpé dans une pochette photos

J’ai acheté mon pi il y a 3 ans, initialement pour en faire un lecteur vidéo pour mon rétro-projecteur. La reconnaissance de DVD n’étant pas toujours au top, je l’ai finalement remplacé par un lecteur DVD portable dont l’écran n’a pas aimé la chute qu’il a subit. J’ai ensuite utilisé le raspberry pour me faire la main sur l’auto-hébergement. Comme il a été remplacé par quelque chose d’un peu plus puissant et robuste, il attendait une autre utilisation.

D’un autre côté, j’ai une bibliothèque musicale numérisée de plusieurs dizaines de Go qui ne faisait pas grand chose. J’avais déjà expliqué dans un précédent billet que je n’achète que de la musique sous forme de CD (so nineties !), cependant, je les encode dans mon PC pour pouvoir éventuellement les écouter sur un lecteur numérique et aussi pour en faire une sauvegarde (je me suis déjà fait piquer une pochette avec mes disques préférés du moment, pas cool). J’ai aussi quelques albums de musiques libres ou de CD empruntés en médiathèque. Cependant, je n’écoute quasiment jamais de musique en étant sur l’ordi parce que ça me perturbe quand je travaille ou au mieux, je ne l’entends pas. Par contre, le fait de pouvoir écouter tout ça sur ma chaîne (notamment en aléatoire) lorsque l’on est en train de cuisiner ou de manger me semblait bien intéressant.

Je sais qu’il existe des projets audio spécifiques et parfois très poussés sur Raspberry, soit en tant que serveur (pour écouter sa musique sur n’importe quel appareil), soit en tant que lecteur sur une chaîne ou un ampli. Mon but n’était pas de me plonger dans une configuration compliquée et même sans ça, il m’a fallu une dizaine de jours pour tout paramétrer comme je le souhaitais.

Sur le pi, j’avais déjà Kodi. J’avais un temps utilisé OpenElec (devenu LibreElec) qui n’est fait que pour ça mais je préfère avoir un OS qui peut faire plusieurs choses et donc une Raspbian qui fait ça aussi bien (voici un bon tuto pour faire ça de zéro). Ma bibliothèque musicale est sur mon PC principal qui contient tous les fichiers qui doivent être régulièrement sauvegardés. Il me fallait donc en rendre au moins une partie disponible sur un espace suffisamment grand et disponible même lorsque le PC est éteint. Mon serveur qui contient déjà un répertoire en partage NFS afin d’être accessible depuis les différentes machines était tout désigné. Restait ensuite à brancher le raspberry sur le réseau, de lui donner l’accès à ce répertoire, de faire un peu de ménage sur toute la partie serveur qui ne servait plus (Apache, TT-RSS, MariaDB, etc.), de le brancher sur la chaîne et sur le courant.

Lorsque j’ai réfléchi à tout ça, je me suis dis que j’aurais aussi bien pu faire ça directement depuis le serveur déjà en place (et concrètement, je n’avais besoin que d’installer Kodi et tirer un fil audio jusque la chaîne) pourtant je n’ai résolument pas fait ce choix. Il aurait très bien pu tenir la charge supplémentaire mais en plus d’utiliser le raspberry qui ne servait plus, je voulais pouvoir l’éteindre (j’ai ajouté un interrupteur sur le branchement de l’alimentation) lorsqu’il ne servait pas et surtout éviter de donner une porte d’entrée (failles potentielles) sur le serveur qui fait tourner des services dont j’ai besoin au quotidien.

Une fois tout cela installé, il me restait à trouver les moyens de commander tout ça sans écran et sans clavier. J’avais déjà testé le téléphone comme télécommande sur Kodi sans en explorer toutes les possibilités. Sur Android, Kodi Remote (Kore de son petit nom) est un must have que j’ai adopté sur la tablette du gamin. J’en étais presque à me tâter de passer à LineageOS sur mon Open C et quitter Firefox OS, mais il semble que c’est quand même un peu lourd pour la bête.

C’était sans compter sur l’appli équivalente FoxMote que j’ai eu un peu de mal à paramétrer (il faut autoriser le contrôle à distance par des programmes sur d’autres systèmes en plus du contrôle à distance par des programmes sur ce système). Il faut aussi penser à faire une mise à jour de la bibliothèque à chaque démarrage une fois indiquée la source des fichiers musique. En plus des divers appareils mobiles, un accès par interface web est aussi possible pour piloter ça depuis le PC (192.168.0.X:8080, une fois autorisé l’accès par http dans l’onglet serveur web de Kodi/Système/Services).

Pour le bon fonctionnement de ces diverses télécommandes, il faut aussi assigner une adresse IP locale qui sera toujours la même en paramétrant les baux DHCP permanents de son fournisseur d’accès internet sinon à chaque démarrage il prendra une IP différente (j’avais déjà expliqué ça pour l’installation de tt-rss sur un raspberry).

Bref, une expérience bien intéressante qui utilise tout le matériel et les expérimentations faites précédemment, il n’y avait plus qu’à réunir tout ça. En avant la musique !

Gravatar de alterlibriste
Original post of alterlibriste.Votez pour ce billet sur Planet Libre.