System

Bastion Host with nsscache and Consul

When I started my new job, last year, my first task was to redesign the infrastructure and move from EC2 Classic to EC2 VPC. I spent the first few weeks setting up a new VPC with different subnets for each concern, a bastion server to access the servers located within the network and a consul cluster to keep track of the running instances.

In the past, I used several ways to manage the accounts and keys to access my servers:

  • a central LDAP server, but no jump host;
  • a jump host which was using SSH Agent forwarding to access the other servers, but only a handful of accounts/keys managed manually;
  • a jump host, and all the accounts created on each server by Ansible, but using the SSH public keys exposed by GitHub to authenticate the user.

I didn’t want to have to create the accounts on all the servers, and I wanted to avoid LDAP, because it would introduce a single point of failure and its management is a bit of a pain.

Distributed locking with Consul

A few months ago, I had to set up a daily job to perform the backup of some database running in a cluster. The job had to run on one of the nodes of the cluster. But configuring a cron job on only one server would mean that if the node is unavailable, the backup won’t be performed.

I decided to configure the cron job on all the servers, and to set up some kind of distributed locking to ensure that only one of the nodes will actually perform the backup every day.

Because I already had Consul running in my infrastructure, I chose to use the Consul Semaphore system. The semaphore system being a bit complex for what I wanted to achieve, I used the Leader election algorithm. The main difference being that only one session can acquire a lock, while the semaphore algorithm allows to have several sessions holding a lock.

Mobile IPv6 avec Cisco et Fedora

Récemment, j’ai eu l’occasion de travailler sur la fonctionnalité Mobile IPv6.
Cette fonction du protocole IPv6 permet d’assigner une adresse IP à un noeud du réseau, et de faire en sorte que cette adresse IP soit toujours utilisable lorsque le noeud change de réseau.

Par exemple, je vais assigner une adresse IP à mon ordinateur portable dans l’espace d’adressage fourni par mon FAI pour ma connexion ADSL.
Lorsque je vais à l’université, on pourra toujours me joindre à cette adresse, au lieu de devoir utiliser l’adresse fournie par l’université.

Le but de cet article n’est pas d’aborder la partie théorique, mais de mettre en place une configuration avec un routeur Cisco et un noeud mobile sous Linux.

Mobile IPv6 est défini dans la RFC6275 : Mobility Support in IPV6.

Cross compilation avec Qt5 et MXE

Bonjour,

Récemment, j’ai eu besoin de compiler une application Qt5 à la fois pour Windows et pour Linux. N’ayant aucun système Windows à disposition avec tous les outils nécessaires au développement, j’ai préféré m’orienter vers la Cross Compilation.

Le principe de la Cross Compilation est de créer un exécutable pour une plateforme différente de celle où le code est compilé.

Aujourd’hui, je vais donc vous expliquer comment installer un système permettant de compiler une application Qt5 pour Windows à partir d’un serveur Linux.

Utiliser MySQL pour stocker les zones DNS avec MySQL BIND SDB

Bonjour,

Aujourd’hui, je vais vous présenter un module de BIND qui permet à celui-ci de récupérer vos zones DNS depuis une base de données MySQL.

J’ai longtemps utilisé la Soapi OVH pour ajouter des entrées à la demande (ajout de sous-domaines lors de la livraison de machines virtuelles) à mes zones.
Mais avec l’augmentation des demandes, la plupart de mes requêtes étaient refusées par l’API, et une gestion fine devenait complexe. C’est pourquoi j’ai choisi d’utiliser mes propres serveurs DNS avec un backend plus simple à gérer que des fichiers.

Monter une image VDI de VirtualBox sous Linux

J’ai utilisé pendant plusieurs mois une machine virtuelle VirtualBox avec Debian.
Cela me permettait d’avoir Windows pour jouer et utiliser au mieux ma carte graphique.

Après plus d’un an d’utilisation, j’ai voulu passer sur Linux en natif afin de pouvoir profiter de l’accélération matérielle (OpenGL, WebGL, …).

J’ai donc réinstallé mon PC sous Linux, mais je souhaitais pouvoir récupérer mes fichiers directemment depuis l’image VDI de VirtualBox.

Nous allons voir comment monter l’image VDI, afin de récupérer les fichiers.

NTFS sous Mac OS X Snow Leopard 64 bits

Bonjour à tous,

Si comme moi, vous avez passé votre Mac en 64 bits, depuis un certains temps, vous n’avez plus de solution gratuite facile d’accès pour modifier les fichiers en NTFS.

Afin de pouvoir accéder à vos partitions NTFS en écriture, nous allons utiliser MacFUSE et NTFS-3G.

Installation de Xen Hyperviseur sous Debian Squeeze chez OVH - Partie 2/2

Dans la partie précédente, nous nous étions arrêtés à la mise en place du Dom0 en assurant la compatibilité matérielle avec les dédiés OVH.

Aujourd’hui, nous allons aborder la configuration du réseau, afin de fournir un accès au net à toutes les machines virtuelles.

En revanche, contrairement à la majorité des tutoriaux que l’on trouve, nous ne ferrons pas de configuration bridgé ou chaque machine virtuelles est accessible via une IP différente ( IP Fail Over ),
mais nous serons en configuration NAT, où le Dom0 redirige les requêtes de chaque port sur la machine virtuelle correspondante.

Installation de Xen Hyperviseur sous Debian Squeeze chez OVH - Partie 1/2

Ayant eu le besoin d’installer une infrastructure de virtualisation permettant de déployer un nombre important de VPS sur demande très rapidement, j’ai fait des recherches sur les principaux systeme de virtualisation proposé par Ovh.

Je vais d’abord comparer les différents systèmes de virtualisation mis à disposition, voir pourquoi j’ai retenu Xen.

Je vais expliquer brièvement le fonctionnement de Xen, puis nous passerons à l’installation de l’hyperviseur.

Nous finirions pas la configuration du réseau avec l’installation des machines virtuelles.