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.

Coup de neuf

Cela fait plus de 3 ans que j’ai ouvert ce blog. Je m’en suis servi pour stocker les choses que je trouvais intéressantes et sur lesquelles j’avais du mal à remettre la main dessus.

Je n’ai pas vraiment eu le temps de l’alimenter récemment, mais je vais essayer de poster quelques trucs intéressant prochainement.

Je viens de retirer le vieux dotclear, qui était utilisé jusque là, par hexo.
Cela me permet de rédiger mes articles au format Markdown, et je n’ai plus de base de données.
Les commentaires sont maintenants gérés via Disqus.

Bonne lecture !

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.

HostYourCreeper, hébergement de serveurs Minecraft

Bonjour,

Je viens de terminer aujourd’hui les derniers détails du projet sur lequel je travaille depuis plusieurs mois.

HostYourCreeper est un fournisseur d’hébergement minecraft.

L’objectif est de proposer les prix les moins chers du marché tout en ayant des outils facilitant l’administration, et une bonne qualité d’hébergement.

Chaque serveur comprend un serveur web, un serveur mysql et un serveur mumble.

Chaque serveur possède un script permettant de gérer simplement son serveur bukkit et de le mettre à jour automatiquement.
Il est aussi possible d’installer simplement la dynmap.

L’ensemble de l’infrastructure utilise la virtualisation grâce à Xen Hypervisor et la redirection des sites web sur les serveurs se fait grâce à Nginx.

Le paiement se fait via des tokens qui s’achètent via allopass, afin de rendre le paiement plus aisé pour les groupes de joueurs, ainsi chacun peut apporter sa part au serveur.

L’ensemble des offres sont consultable directement sur le site : http://www.hostyourcreeper.com/shop

Joyeux Noël à tous !