Informatique

[Saga Firebox] Bonus : virtualiser pfSense NanoBSD avec VMWare Fusion

0

Pour la rédaction de cette Saga Firebox, j’avais besoin de réaliser des captures d’écran de la sortie console de pfSense. N’ayant pas le temps de remettre en route une de nos Firebox inutilisées, j’ai préféré la virtualiser. Ces instructions peuvent être adaptés à d’autres logiciels VMWare, pour les utilisateurs de GNU/Linux, par exemple.

Conversion de l’image disque

VMWare Fusion ne peut pas utiliser en guise de disque dur une image disque au format .img. Il faut donc convertir l’image disque en une image disque dur au format VMWare. Pour ce faire, j’utilise l’utilitaire qemu-img (présent dans le paquet qemu sur homebrew).

qemu-img convert pfSense-2.2.1-RELEASE-1g-amd64-nanobsd.img -O vmdk pfSenseNanoBSD.vmdk

Cette commande crée un nouveau fichier pfSenseNanoBSD.vmdk que nous allons utiliser par la suite pour créer notre machine virtuelle. (suite…)

[Astuces] Connexion automatique en SSH avec PuTTY

0

Lorsque vous gérez un parc important de serveurs, il peut devenir vite fastidieux de retenir tous les identifiants et mots de passe, voire même de les saisir plusieurs fois par jour, des fois même par heure. Dans mon cas, c’est principalement l’administration de machines Linux avec PuTTY qui nécessitait un coup de main.

Objectif : se connecter en quelques clics à un serveur Linux en SSH à l’aide de clés depuis une machine Windows.

Remarque : la configuration du serveur SSH n’est pas dans le périmètre de cet article. Une brève recherche sur n’importe quel moteur du Web vous retournera une surabondance de littérature à ce sujet. On partira donc du principe que votre serveur SSH est configuré et fonctionnel. De même, la gestion de l’authentification par clé publique et les manipulations à effectuer côté serveur ne sont pas détaillées.

Génération d’une paire de clés

La suite logicielle PuTTY propose l’outil PuTTY Key Generator, que vous trouverez en tant que PuTTYgen dans le menu Démarrer. Il est très simple à utiliser.

Génération d’une paire de clés avec PuTTY Key Generator

Au lancement, le logiciel ne contient aucune clé. Un clic sur Generate, comme son nom l’indique, vous permettra de générer une clé. L’aléa de génération est pris à l’aide des mouvements de votre souris dans une zone vide située sous la barre de progression. Vous la verrez avancer à chaque déplacement de votre pointeur.

Dès la génération terminée, des éléments supplémentaires apparaissent, dont les champs de mot de passe permettant de protéger la clé privée. Laissez ces champs vides pour la suite de l’article. (suite…)

[Saga Firebox] LCD, voyants et ventilation avec pfSense sur Firebox

0

Après avoir décrit comment installer pfSense sur Firebox X Core/X Core-E et XTM 5, nous allons nous attaquer à la finalisation de l’installation en prenant en charge l’afficheur LCD en façade, la vitesse de ventilation et les voyants en façade.

Cet article fait appel aux fichiers suivants :

Ventilation et voyant en façade avec WGXepc

Il est possible de régler la ventilation et le voyant « Arm/Disarm » en façade à l’aide de l’utilitaire WGXepc.

Installation de WGXepc sous pfSense 2.2.1 (32 bits, Firebox X et X-e)

Rendez-vous dans Diagnostics>NanoBSD et passez le système de fichier en lecture/écriture.

Allez à présent dans Diagnostics>Command Prompt, et saisissez la commande suivante dans le champ « Execute Shell Command » :

fetch -o /conf http://files.labcellar.com/firebox-pfsense/drivers/WGXepc;chmod 755 /conf/WGXepc

(suite…)

[Ubuntu] Désactiver le tapé-glissé (TapAndDrag) d’un Dell XPS 13

0

Le Dell XPS 13 est une petite machine formidable pour y faire tourner une distribution GNU/Linux. Son clavier rétro-éclairé, sa faible bordure autour de l’écran et son autonomie très correcte en font une machine de choix pour tout amateur de machine compacte mais productive.

Lors de l’installation de Ubuntu (plus précisément Xubuntu) sur cette machine, nous avons été confrontés à un désagrément : il est possible de glisser une fenêtre sans cliquer sur le pavé tactile, mais tout simplement en tapant dessus. Malgré une exploration complète des paramètres du touchpad, nous n’avons pas trouvé la manière de désactiver cette fonctionnalité. Ou plutôt : tous les paramètres modifiés (y compris la désactivation du touchpad) n’avaient aucun effet. Mais nous avons fini par trouver une solution !

Le fonctionnement (complexe) du touchpad sur le XPS 13

Il y a une petite éternité, les ordinateurs ont commencé à adopter le protocole PS/2 comme interface pour brancher un clavier et une souris. C’est un protocole très simple à utiliser, qu’on soit concepteur de périphériques informatique ou développeur de systèmes d’exploitation. (suite…)

[Saga Firebox] Installer pfSense sur les Firebox XTM 5

0

Encouragés par le taux de succès de notre installation de pfSense sur Firebox mais déçus par le throughput qui ne permet pas de profiter d’une connexion fibrée Gigabit, nous nous sommes tournés vers les Firebox XTM 5. Ces modèles sont plus coûteux, mais ils sont plus compacts, plus performants, plus modernes et consomment moins. Nous avons pour l’instant testé cette procédure avec succès sur nos trois (et prochainement cinq) Firebox XTM 5, qui ont été upgradées à 2 Go de RAM.

Il est intéressant de noter que les Firebox XTM 5 ont été conçues par Lanner, on peut d’ailleurs retrouver la même configuration sous la référence Lanner FW-7580. Seule l’esthétique du boitier change, l’écran passe à gauche et le boitier est noir, mais il s’agit bel et bien de la même référence de carte mère.

ATTENTION : Même si les Firebox XTM 5 ont une alimentation enfermée dans une cage métallique et donc sont plus sécurisées que les X Core, nous ne saurions que vous recommander d’intervenir sur cette machine avec toutes les précautions nécessaires pour travailler en sécurité sur un équipement relié au secteur. L’équipe LabCellar décline toute responsabilité d’un éventuel accident lié à cet article. (suite…)

[Tutoriel] Changer le firmware d’un Nokia N8 (et enlever les personnalisations opérateur)

0

Si vous avez possédé un téléphone personnalisé par un opérateur (SFR ou Orange, en particulier), vous devez connaître la douleur d’utiliser malgré sa volonté une surcouche logicielle lourde et inutile.

C’est en ressortant des décombres un Nokia N8 que nous nous sommes décidés à remplacer son firmware Orange par un firmware stock, beaucoup plus agréable et fluide à l’usage.

Se procurer un firmware

 

Un téléphone Nokia est identifié par un « Model Number » (du type RM-***) et un « Product Code » (un code à 7 caractères). Le Model Number sert à identifier le matériel du téléphone, tandis que le Product Code différentie les variantes régionales ou liées à l’opérateur.

(suite…)

[Saga Firebox] Installer pfSense sur les Firebox X Core et X Core-E

0

Après ce court article d’introduction à notre saga Firebox, nous allons attaquer dans cet article l’installation de pfSense 2.2.1 sur une Firebox X Core. Nous avons testé cette procédure sur nos Firebox x550e, x750e, et x1000.

ATTENTION : La carte d’alimentation sur les Firebox X Core et X Core-E n’est pas protégée de l’utilisateur. Compte tenu des tensions élevées présentes sur la carte, même débranché, nous ne saurions que vous recommander d’intervenir sur cette machine avec toutes les précautions nécessaires pour travailler en sécurité sur un équipement relié au secteur. L’équipe LabCellar décline toute responsabilité d’un éventuel accident lié à cet article.


Pour l’installation, nous avons utilisé le matériel suivant :

  • Une carte Compact Flash de 4 Go, notre choix s’est porté sur des modèles Transcend. [Amazon]
  • Une carte Compact Flash de 256 Mo ou moins (X Core-E uniquement), nous avons réutilisé une ancienne Compact Flash pour cette étape.
  • Un ordinateur doté d’un port RS232 et un cable null modem, ou comme nous un adaptateur USB/RS232. [Amazon]
  • Un carambar, pour se récompenser à la fin.

Nous avons aussi utilisé les fichiers suivants :

Et les logiciels suivants :

  • Rufus, ou tout autre utilitaire équivalent pour copier une image disque sur un support de stockage. Je déconseille très fortement UNetbootin.
  • PuTTY (Windows), CoolTerm (multi-plateforme), minicom ou un autre moniteur pour port série.

(suite…)

[LabCellar] Réorganisation de notre baie et IBM iSeries

1

Bonjour tout le monde,

Suite au remplacement de notre AS/400 (un magnifique 9401-400 sous V4R3) par un iSeries bien plus gros (un 9406-820), nous avons été dans l’obligation de réagencer notre baie. En effet, il a fallu repenser la façon dont sont répartis les équipements sur les différentes phases, dont le câblage réseau est organisé et à mieux mutualiser les ressources de nos serveurs sur les différents sites afin d’en décommissionner un sur les deux présents ici.

Outre l’aspect purement « manutention » de tels changements, nous avons eu la joie intense d’inventorier tout le câblage réseau présent. Nous avons également intégralement refait un panneau de brassage pour le rendre plus modulaire et faciliter les interventions et les évolutions.

Les équipements présents dans la baie ont été un peu déplacés et compte tenu de la place gagnée, nous en avons profité pour y inclure nos deux robots de sauvegarde afin de pouvoir enfermer tout ce qui habituellement se trouve à l’extérieur. Nous avons également investi dans des adaptateurs Twinnax/Ethernet afin de de plus être dépendant de la longueur de nos vieux câbles Twinnax pour le choix de l’emplacement de la console IBM. En ce qui concerne le serveur HP (un ProLiant DL380 G7) il n’est désormais plus administrable que via iLO en console à distance.

Voici deux jolies photos réalisés par Jean

[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.

Go to Top