Posts tagged Configuration

[Astuce] Économie de bande passante lors des mises à jour de téléphones Cisco IP Phone

0

Bonjour à tous,

Aujourd’hui un tout petit article pour une toute petite astuce.

Lorsque je déploie des téléphones Cisco IP Phone, dans mon cas des 7975, il arrive que le serveur ne soit pas sur le même site que les postes. L’approvisionnement des téléphones se faisant par FTP, le temps de chargement des fichiers composant le firmware peut être assez long. Si en plus je dois déployer plusieurs téléphones en simultané, je me retrouve vite obligé de patienter de longues minutes inutilement.

Pour contrer ce problème, il suffit de temporiser le déploiement de chaque téléphone. Seulement, si pour chaque poste la mise à jour se fait plus vite, au global on perd encore plus de temps.

Cisco y a pensé et a doté les téléphones d’une fonctionnalité très intéressante. On peut activer le partage de firmware.

Concrètement, on va pouvoir déployer tous les postes simultanément. Les téléphones vont communiquer entre eux et un seul va télécharger les firmwares pendant que les autres attendent. Une fois les firmwares téléchargés ils vont être transmis aux autres postes via le réseau local.

Pour activer cette fonctionnalité, il suffit simplement d’ajouter une balise XML dans vos fichiers ou vos templates de configuration, dans la zone vendorConfig :

<peerFirmwareSharing>1</peerFirmwareSharing>

Et le tour est joué !

[Saga Firebox] Nos nouveaux routeurs : les Firebox

1

Il y a quelques temps, nous avions concocté nos propres routeurs maison à base de carte mères Mini-ITX. Malheureusement ces dernières ne sont plus disponibles à la vente. Évoquant avec Thomas ce jour où j’ai trouvé une Firebox II aux encombrants, il nous est venu l’idée d’ajouter à nos solutions maison des équipements réseaux conçus pour cette tâche donc pouvant être mis en rack, conçus pour tourner 24h/24 et possédant plusieurs interfaces réseau.

A l’exception des modèles SOHO, les Watchguard Firebox sont en fait des ordinateurs à processeur Intel, équipés de plusieurs interfaces Ethernet. Ces machines sont provisionnées en usine avec un système d’exploitation basé sur Linux assurant les fonctionnalités de firewall. Comme certains équipements réseaux, les fonctionnalités de la Firebox sont définies par des licences, qui pour certaines expirent dans le temps. Plutôt que de continuer à payer pour mettre à jour un équipement ancien, des entreprises préfèrent renouveler leur matériel, ce qui explique la différence de prix parfois élevée entre les modèles récents de Firebox (pour lesquelles les licences sont toujours actives), et les anciens modèles (grosso modo jusqu’aux modèles XTM 5). (suite…)

[Debian/Ubuntu] Installer Etherpad Lite

0

Etherpad Lite est un formidable outil collaboratif permettant de travailler à plusieurs sur un document texte, que vous connaissez peut-être déjà sous le nom de Framapad, qui est une installation d’Etherpad Lite gérée par l’association Framasoft. Dans la continuité de notre démarche d’auto-hébergement, nous avons voulu héberger une instance d’Etherpad Lite sur un de nos serveurs.

Il existe deux versions d’Etherpad : une « Lite » et une non-« Lite ». La version non-« Lite », plus ancienne, était écrite en Scala, et la version « Lite » est la réécriture d’Etherpad en JavaScript (avec Node.js), plus légère que la version originale. Nous allons donc dans ce tutoriel aborder l’installation de la version « Lite » d’Etherpad.

1. Installation de Node.js

Node.js est un environnement javascript plutôt bien adapté à des applications web. Etherpad Lite requiert une version particulière : la v0.11.16, que nous allons nous empresser (!) de compiler.

On va commencer à installer quelques dépendances qui nous serviront tout au long de ce tutoriel :

sudo apt-get install gzip git curl python libssl-dev pkg-config build-essential

Puis on va télécharger les sources :

cd /tmp
 wget http://nodejs.org/dist/v0.11.16/node-v0.11.16.tar.gz
 tar -xzvf node-v0.11.16.tar.gz
 cd node-v0.11.16

Et on va enfin compiler Node :

./configure
 make
 sudo make install

2. Installation de MySQL

On va aller plus loin dans la configuration de notre Etherpad Lite, et nous allons faire en sorte qu’il utilise une base de donnée MySQL pour stocker ses données.

On commence par installer leur serveur MySQL :

sudo apt-get install mysql-server

Lors de l’installation, vous allez devoir renseigner un mot de passe root pour votre base de donnée. Gardez-le précieusement de côté, on va en avoir besoin tout de suite pour se connecter à la base de donnée :

mysql -u root -p

Il faut taper son mot de passe pour arriver à un invite de commande MySQL. On va ensuite créer une base de donnée dédiée à Etherpad Lite, et attribuer les privilèges de cette base de donnée à notre utilisateur etherpad :

create database `etherpad-lite`;
 grant all privileges on `etherpad-lite`.* to 'etherpad'@'localhost' identified by '*MOT DE PASSE SQL ETHERPAD*';

Remplacez bien entendu *MOT DE PASSE SQL ETHERPAD* par un mot de passe de votre choix, si possible différent du mot de passe root pour des raisons de sécurité.

3. Installation d’Etherpad Lite

On va commencer par créer un utilisateur séparé pour Etherpad Lite. Vous noterez l’option « –disabled-login », qui permet de désactiver toute connexion directe à cette session pour des raisons de sécurités

sudo adduser --disabled-login --gecos 'Etherpad' etherpad

On va s’y connecter :

cd /home/etherpad
sudo su - etherpad -s /bin/bash

On télécharge les sources via Git :

git clone git://github.com/ether/etherpad-lite.git

On va ensuite changer quelques réglages :

cd etherpad-lite
cp settings.json.template settings.json
nano settings.json

Il faut changer l’IP de l’hôte :

"ip": "0.0.0.0",

par

"ip": "127.0.0.1",

Et aussi supprimer les paramètres de base de donnée actuels :

"dbType" : "dirty",
//the database specific settings
"dbSettings" : {
  "filename" : "var/dirty.db"
},

pour les remplacer par :

"dbType" : "mysql",
"dbSettings" : {
  "user" : "etherpad",
  "host" : "localhost",
  "password": "*VOTRE MOT DE PASSE MYSQL*",
  "database": "etherpad-lite"
},

4. Création des scripts de démarrage

Nous allons créer le script de démarrage qui vous permettera de lancer etherpad à l’allumage du serveur, mais aussi de l’arrêter et de le redémarrer facilement.

On fait un sudo nano /etc/init.d/etherpad, et on y insère le code suivant :

#!/bin/sh

### BEGIN INIT INFO
# Provides: etherpad-lite
# Required-Start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts etherpad lite
# Description: starts etherpad lite using start-stop-daemon
### END INIT INFO

PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/node/bin"
LOGFILE="/var/log/etherpad.log"
EPLITE_DIR="/home/etherpad/etherpad-lite"
EPLITE_BIN="bin/run.sh"
USER="etherpad"
GROUP="etherpad"
DESC="Etherpad"
NAME="etherpad"

set -e

. /lib/lsb/init-functions

start() {
 echo "Starting $DESC... "

 start-stop-daemon --start --chuid "$USER:$GROUP" --background --make-pidfile --pidfile /var/run/$NAME.pid --exec $EPLITE_DIR/$EPLITE_BIN -- $LOGFILE || true
 echo "done"
}

#We need this function to ensure the whole process tree will be killed
killtree() {
 local _pid=$1
 local _sig=${2-TERM}
 for _child in $(ps -o pid --no-headers --ppid ${_pid}); do
 killtree ${_child} ${_sig}
 done
 kill -${_sig} ${_pid}
}

stop() {
 echo "Stopping $DESC... "
 while test -d /proc/$(cat /var/run/$NAME.pid); do
 killtree $(cat /var/run/$NAME.pid) 15
 sleep 0.5
 done
 rm /var/run/$NAME.pid
 echo "done"
}

status() {
 status_of_proc -p /var/run/$NAME.pid "" "etherpad" && exit 0 || exit $?
}

case "$1" in
 start)
 start
 ;;
 stop)
 stop
 ;;
 restart)
 stop
 start
 ;;
 status)
 status
 ;;
 *)
 echo "Usage: $NAME {start|stop|restart|status}" >&2
 exit 1
 ;;
esac

exit 0

On met les bonnes permissions et on met le script en démarrage automatique :

chmod +x /etc/init.d/etherpad
update-rc.d etherpad defaults

5. Installation de Nginx, et configuration en reverse proxy

J’utiliserai Nginx et non Apache dans ce tutoriel en raison de sa plus grande simplicité. Nginx va nous servir de reverse proxy, ce qui nous permettera d’associer plusieurs noms de domaines à notre adresse IP et d’avoir des logs d’accès.

On commence par installer le paquet de Nginx :

sudo apt-get install nginx

On crée un certificat SSL, pour permettre une utilisation de HTTPS :

sudo mkdir /etc/nginx/ssl
cd /etc/nginx/ssl
sudo openssl genrsa -des3 -out etherpad.key 2048
sudo openssl req -new -key etherpad.key -out etherpad.csr
sudo cp etherpad.key etherpad.key.org
sudo openssl rsa -in etherpad.key.org -out etherpad.key
sudo openssl x509 -req -days 365 -in etherpad.csr -signkey etherpad.key -out etherpad.crt

Et enfin on crée le fichier de description de l’hôte virtuelle pour Etherpad Lite, en faisant un sudo nano /etc/nginx/sites-enabled/etherpad, en y tapant les lignes de configurations suivantes :

server {
  listen 443 ssl;
  server_name *NOM DE DOMAINE*;

  access_log /var/log/nginx/etherpad.access.log;
  error_log /var/log/nginx/etherpad.error.log;

  ssl_certificate /etc/nginx/ssl/etherpad.crt;
  ssl_certificate_key /etc/nginx/ssl/etherpad.key;

  location / {
    proxy_pass http://localhost:9001/;
    proxy_set_header Host $host;
    proxy_buffering off;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Host $host;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
  }
}

server {
  listen 80;
  server_name *NOM DE DOMAINE*;

  access_log /var/log/nginx/etherpad.access.log;
  error_log /var/log/nginx/etherpad.error.log;

  location / {
    proxy_pass http://localhost:9001;
    proxy_set_header Host $host;
    proxy_buffering off;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Host $host;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
  }
}

map $http_upgrade $connection_upgrade {
  default upgrade;
  '' close;
}

N’oubliez pas d’inscrire au bon endroit le nom de domaine que vous souhaitez associer à votre installation d’Etherpad.

Et pour finir, nous pouvons recharger la configuration de Nginx :

sudo service nginx reload

Conclusion

L’installation d’Etherpad Lite est un processus long et un peu difficile pour un initié, mais permet une installation solide : notre installation est en route depuis plus de 2 mois, sans nécessiter beaucoup de maintenance.

En cas de soucis, le canal IRC #etherpad-lite-dev sur Freenode est disponible pour répondre à toutes vos questions.

[pfSense] Avec la fibre Orange, votre Livebox ne sert à rien

0

Si comme moi vous utilisez votre connexion comme un professionnel et non comme un particulier, alors cet article va vous intéresser.

En effet, j’ai opté pour une connexion fibre grand public car le ticket d’entrée chez Orange en professionnel est assez élevé, mais mon usage de cette connexion est un peu particulier. J’ai des serveurs, des équipements réseau, des postes, des téléphones en VoIP… En gros, je suis pas mal équipé pour un particulier dans un si petit appartement.
Vous le savez sans doute, j’ai été abonné à Numéricable jusqu’à il y a peu et je disposais d’une connexion 100/5. J’ai eu ensuite des petits routeurs Cisco RV180 que j’ai remplacé ensuite par un routeur pfSense à base de PC avec deux interfaces Gigabit Ethernet. Mon modem câble était en mode bridge, ce qui signifie que la machine que l’on branche dessus récupère directement l’adresse externe, et comme la machine en question était un routeur, c’était parfait car je pouvais configurer finement mon réseau.

Lors de mon passage en fibre optique Orange, j’ai été confronté à quelques soucis :

  • La Livebox n’a pas de mode bridge (et c’est une vraie daube).
  • Même si elle en avait un, la connexion nécessite un deuxième boîtier, l’ONT.
  • Je n’utilise ni la télévision, ni la téléphonie, mais ce n’est pas vraiment un soucis.

Pour y pallier, une solution : virer cette Livebox et brancher l’ONT directement sur le routeur. Oui, c’est possible :

Prise optique <—> ONT <—> Routeur pfSense <—> Switch <—> Stations

Cependant pour que ça marche il faut en quelque sorte que le routeur « fasse croire » au réseau qu’il est une Livebox. Pour cela, il faut le lui indiquer. En admettant que vous avez correctement configuré votre routeur pour tout ce qui est de votre réseau local. En gros on va partir de l’idée que vous venez de passer d’un opérateur dont vous aviez utilisé le modem en mode bridge sur votre routeur, à Orange en fibre. Vous avez donc un réseau fonctionnel, il est temps de faire le swap. On part d’une installation toute neuve de pfSense.

Attention : Il est compliqué de récupérer la téléphonie et la télévision. Cet article ne traite que la connexion internet. Si comme moi c’est tout ce dont vous avez besoin, alors c’est parfait.

Commencez par vous connecter à l’interface d’administration de votre routeur pfSense. Ensuite, dans le menu Interfaces, sélectionnez Assign.

pfSense Interfaces menu

Menu Interfaces, puis (assign)

Puis allez dans VLANs et cliquez sur le bouton +.

pfSense VLAN Edit

Création du VLAN 835 sur le WAN

Dans la page qui s’affiche, sélectionnez dans le menu déroulant l’interface réseau qui correspond au WAN, entrez 835 dans VLAN Tag, et ajoutez une éventuelle description. Sauvegardez, et retournez sur le menu Interfaces, puis faites Assign.

Sélectionnez pour le WAN le VLAN que vous venez de créer avec le menu déroulant.

Retournez dans le menu Interfaces et sélectionnez votre interface WAN. On va procéder à la configuration.

Configuration du WAN pour se connecter à Orange

Configuration du WAN pour se connecter à Orange

Pas grand chose à faire. Cochez la case Enable Interface, entrez une description. Ensuite on va choisir « la méthode de connexion » pour l’IPv4, à savoir PPPoE. Vous pouvez laisser les autres champs vides, sauf pour PPPoE Configuration. Vous devez entrer vos identifiants et mots de passe de connexion Orange qui sont précisés sur le courrier de bienvenue.

Sauvegardez et retournez sur la page d’accueil pour voir, et normalement, dans le tableau Interfaces, vous devriez voir une adresse externe apparaître dans la case WAN.

Page d'accueil. On voit l'IP externe dans le WAN

Page d’accueil. On voit l’IP externe dans le WAN

A partir de là vous devriez pouvoir obtenir une connexion. C’est terminé.

Bien sûr, si comme pour moi votre abonnement vous propose des débits excédant le 100 Mb/s, il faut que votre routeur supporte le Gigabit.

Go to Top