Les réseaux privés chez OVH – Le vRack

20 octobre 2016

Le vRack est une technologie de réseau privé mise au point par OVH afin de permettre a ces clients de disposer d’un réseau privé multi-produits : serveur dédié, public Cloud, private Cloud, …

Le vRack permet un cloisonnement des échanges et une totale isolation du trafic entre les clients de OVH et permet donc d’accroitre la sécurité des échanges sur votre infrastructure et vous ouvres de nouvelles opportunités en terme de sécurité par la mise en place d’une isolation au niveau de votre trafic.

Ici, nous nous focaliserons sur son utilisation avec des serveurs dédiés.

Concrètement, lorsque votre serveur est compatible vRack, celui-ci dispose d’au moins 2 cartes réseaux (que nous appellerons dans la suite de ce billet eth0 (le réseau « publique ») et eth1 (le réseau « privé ») en 1/10/40Gbps et prochainement 25Gbps.

La première, eth0, vous permet d’accéder a Internet via le réseau OVH. La seconde, eth1, est la carte réseau qui sera ajoutée dans votre vRack. C’est donc sur cette dernière que transiterons vos échanges privés.

Comment ça fonctionne le vRack ?

Pour commencer, revenons sur le nom de ce service : vRack pour « virtual rack » soit « baie virtuelle » en français. Comprenez par là que le vRack simule le fonctionne d’un switch de baie. En quelques mots, imaginez que l’ensemble de vos serveurs OVH et ce quelques soit le datacenter (Roubaix, Gravelines, Strasbourg, Beauharnois, Warsaw, Sydney, Singapour, …), se trouvent tous dans la même baie, connectés au même switch.

Ici, les aficionados du réseau devrait commencer à comprendre ce que cela implique 😉

En effet, qui dit « même switch » dit « switching » et non « routing » : le vRack simule un réseau pur Layer 2 (cf. modèle OSI) : liberté d’adressage IP et MAC, de protocols, multicast, … Il n’y a pas de routeur entre vos serveurs, ceux-ci se trouvent dans le même réseau L2.

D’après les documentations publique disponible chez OVH, le vRack utilise deux technologies : les VLAN (802.1q) et les VxLAN. Au niveau du serveur, OVH va « tirer » un vlan jusqu’au port réseau vRack de celui-ci (la carte réseau « eth1 » de votre serveur). De votre côté, au niveau du serveur, il ne vous reste plus qu’à configurer votre carte réseau.

Il s’agit de votre vLAN dédié, seul votre trafic y sera injecté, vous garantissant une isolation de celui-ci vis à vis de la backbone publique de OVH (Internet) et des autres clients.

Dans ce vLAN, vous allez avoir la possibilité d’utiliser jusqu’a 4092 VLAN différents. Par défaut et sans autre configuration de votre part, c’est le VLAN 0 (aussi appelé « vLAN Natif ») qui sera accessible à votre serveur tout en vous laissant la possibilité de « taguer » des interfaces additionnelles sur d’autres VLAN afin de mettre en place une isolation de votre trafic (exemple : des VMs « Web » dispose de deux carte réseaux virtuelles : la première dans le VLAN 10, lui permettant de dialoguer avec son load balancer, la seconde dans le VLAN 20, lui permettant d’échanger avec les serveurs de base de données).

Au niveau de votre vRack, vous êtes libre d’utiliser l’adressage IP de votre choix. Il est toutefois recommandé d’utiliser les plages d’IP privées prévues pour cela à savoir :

Vous devez également vous assurer que chaque serveur dispose d’une IP et d’une adresse MAC unique sans quoi vous risquez de provoquer des dysfonctionnements.

« Le vRack c’est trop cool, moi aussi je veux un vRack ! »

Rien de plus simple.
Pour ce faire il vous suffit de suivre ces guides disponible chez OVH :

 

Exemple d’utilisation

Maintenant nous disposons d’un vRack et nos serveurs sont configurés dans celui-ci. Super. Mais qu’est-ce qu’on peut en faire ? 🙂

Ici, je vais citer un cas d’utilisation assez simple à mettre en place et que je détaillerai plus en détail dans un autre article : un serveur de base de données en failover avec bascule automatique vers le serveur slave en cas de panne du master.

Dans ce scénarios, nous disposons de deux serveur de base de données SQL (MariaDB) configuré en réplication master / slave. Par l’utilisation d’un logiciel tier tel que Keepalived ou corosync, il est possible de mettre en place une bascule automatique de serveur en cas de défaillance du premier.

Prenons pour exemple l’IP qui portera notre service SQL : 172.16.1.100

Cette IP sera « flottante », c’est à dire que celle-ci sera associée a l’un ou l’autre de nos deux serveurs suivant le besoin. Nos serveurs disposes chacun d’une IP unique : sql1 : 172.16.1.1 / sql2 : 172.16.1.2. En temps normal notre IP flottante sera également associée a sql1. Keepalived se chargera de tester régulièrement si le serveur sql1 est fonctionnel. En cas de détection d’une défaillance, l’IP flottante sera automatiquement configurée sur le serveur sql2 afin que celui-ci puisse assurer la continuité du service.

Si vous souhaitez plus d’exemple d’utilisation ou que le détail de la mise en place du serveur SQL vous intéresse, n’hésitez pas à l’indiquer dans les commentaires ! 🙂

Tags associés :

Création d’une Time Machine sous Debian

18 septembre 2016

Si comme moi vous disposez d’un ordinateur sous macOS, d’un NAS « maison » et que vous souhaitez profiter de l’utilitaire de sauvegarde d’Apple « Time Machine » sans dépenser inutilement de l’argent dans le périphérique éponyme d’Apple, ce tuto est fait pour vous ! 🙂

Dans ce billet, nous allons voir ensemble comment compiler et configurer netatalk 3, un logiciel permettant le partage de dossier via le protocol apfd utilisé par macOS et permettant également de simuler le fonctionnement d’une Time Machine de Apple et donc l’utilisation de l’utilitaire de sauvegarde éponyme.

Ce tutoriel s’adresse à toute personne disposant d’un PC/NAS/Server sous Debian.

» » lire la suite en cliquant ici « «

Tags associés :

Quand « apt-get » réclame une ligne en fin de fichier …

17 septembre 2016

Aujourd’hui j’ai eu un comportement assez étrange sur l’un de mes serveurs de fichiers. Lors d’une simple mise à jour, « apt-get » m’indique qu’un fichier du paquet « netatalk » n’a pas de retour à la ligne en fin de fichier et se termine sur une erreur de dpkg.

# root at files in /home/maiko [14:37:17]
→ apt-get upgrade
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Calcul de la mise à jour... Fait
Les paquets suivants seront mis à jour :
--------
xx mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 0 o/26,7 Mo dans les archives.
Après cette opération, 357 ko d'espace disque seront libérés.
Souhaitez-vous continuer ? [O/n] O
Lecture des fichiers de modifications (« changelog »)... Terminé
Extraction des modèles depuis les paquets : 100%
Préconfiguration des paquets...
dpkg : erreur fatale irréversible, abandon :
la liste des fichiers pour le paquet « netatalk » n'a pas de retour à la ligne en fin de fichier
E: Sub-process /usr/bin/dpkg returned an error code (2)

Je n’avais encore jamais rencontrés cette erreur jusqu’ici et elle est assez embêtante puisque celle-ci bloque totalement apt et qu’il n’est plus possible de mettre à jour le système ou bien d’installer un logiciel.

Après avoir chercher quelques temps, je suis tombé sur une solution toute simple : apt réclame un retour à ligne dans un fichier ? Ok. Donnons lui ce qu’il souhaite.

# root at files in /home/maiko [14:37:29]
→ echo '\r' >> /var/lib/dpkg/info/netatalk.list

Et au final, ça fonctionne à nouveau, plus d’erreur.

Bon, j’ai encore un peu de mal à trouver pourquoi ce retour à ligne a disparu (apt fonctionnait parfaitement bien il y a quelques jours, sans actions de ma part entre temps) ni pourquoi 3 paquets sans rapport les uns avec les autres présentes le même soucis…

Une idée ?

Tags associés :

Installation de PHP 7 FPM avec Nginx sous Debian 8

23 août 2016

Bonjour,

Aujourd’hui nous allons voir comment installer PHP 7 avec Nginx sous Debian 8 (Jessie) en utilisant PHP-FPM.

Afin de disposer de la dernière version à jour de Nginx et PHP, nous allons utiliser les dépôts alternatif DotDeb : https://www.dotdeb.org/instructions/

Ajout du dépôt Dotdeb :

echo "deb http://packages.dotdeb.org jessie all" >> /etc/apt/sources.list.d/dotdeb.list
wget -O- https://www.dotdeb.org/dotdeb.gpg | apt-key add -

Ce qui devrait vous retourner un « OK » à la fin, signifiant que » » lire la suite en cliquant ici « «

Tags associés :

Les systèmes RAID – Introduction

22 août 2016

Il y a quelques temps et dans le cadre de mes études en Informatique et systèmes finalité réseaux & télécommunications, j’ai réalisé une présentation sur la technologie RAID, ses avantages et inconvénients ainsi que les différentes technologies existantes.

Je vais donc vous proposer une petite série d’article sur les RAID, basée sur mon travail de l’époque remis à jour.

Dans un premier temps, nous évoquerons ce qu’est un RAID et quelques notions sur ceux-ci pour ensuite voir plus en détails dans de prochains articles les différents niveau de RAID ainsi que leurs mises en place, sous Debian.

Qu’est-ce qu’un RAID ?

En informatique, le mot RAID désigne les techniques permettant de
répartir des données sur plusieurs disques durs classiques afin d’améliorer, soit la tolérance aux pannes, soit la sécurité, soit les performances de l’ensemble, ou une répartition de tout cela.

L’acronyme RAID a été défini en 1987 par l’Université de Berkeley, dans un article nommé « A Case for Redundant Arrays of Inexpensive Disks (RAID) », soit « regroupement redondant de disques peu onéreux ». Aujourd’hui, le mot est devenu l’acronyme de « Redundant Array of Independent (or inexpensive) Disks », ce qui signifie « regroupement redondant de disques indépendants ».

Le coût au mégaoctet des disques durs ayant diminué d’un facteur 1 300 000 en 29 ans, aujourd’hui le RAID est choisi pour d’autres raisons que le coût de l’espace de stockage.

La technique RAID permet d’avoir une grande fiabilité, les données étant découpées en différents segment et chacun de ces segments sont dupliqués dans des disques physiquement différents. » » lire la suite en cliquant ici « «

Tags associés :

#Plesk : activer la gestion des séparateurs d’adresse de courriel

19 février 2016

Jusqu’ici j’avais l’habitude d’utiliser les séparateurs (aussi appelé délimiteurs) d’adresse de courriel. C’est fort pratique et cela permet de mieux organiser sa boîte de courriel tout en permettant de limiter le spam (et d’en connaitre l’origine).

Un séparateur d’adresse de courriel se présente de cette manière :

hello+tag@maiko-bossuyt.eu

En rouge ci-dessous est le séparateur le plus courant et celui que j’utilise. L’utilité d’un séparateurs est de pouvoir ajouter des sortes de tags à la volée. Par exemple, je peux m’inscrire sur le site internet monsupersite.com en utilisant l’adresse de courriel suivant : hello+monsupersite@maiko-bossuyt.eu.

» » lire la suite en cliquant ici « «

Tags associés :

Installation d’une stack LAMP sur debian

18 février 2016

Aujourd’hui, nous allons voir ensemble comment installer une stack LAMP (Linux-Apache-MySQL-PHP) sur un serveur sous Debian.

Ce tutoriel se veut être le plus simple et basique possible.

Ce tutoriel va vous permettre :

Ce que ce tutoriel ne va pas vous permettre :

» » lire la suite en cliquant ici « «

Tags associés :

MySQL : convertir une table MyISAM vers InnoDB

2 avril 2014

Il y a quelques temps et pour des questions de performances, j’ai eu à convertir une base de données d’une cinquantaine de tables du moteur MyISAM vers InnoDB.

Voici une méthode simple et rapide pour effectuer cette conversion en console et d’une seule commande :

Tout d’abords, simulation afin de voir quels seront les requêtes SQL envoyées au serveurs :

$ DB="LeNomDeVotreBaseDeDonnées"
$ ENGINE="InnoDB" # Mettre InnoBD pour convertir vers InnoDB. Inversement, mettre MyISAM pour convertir vers MyISAM.
$ echo 'SHOW TABLES;' \
| mysql --defaults-file=/etc/mysql/debian.cnf ${DB} \
| awk '!/^Tables_in_/ {print "ALTER TABLE `"$0"` ENGINE = ${ENGINE};"}' \
| column -t

Si tout semble correct, on exécute les requêtes :

ATTENTION :
Je ne prends aucune responsabilité en cas de dommage à votre base de données.
Veuillez TOUJOURS effectuer des sauvegardes dans le cas ou un problème se produirait lors de l’exécution de cette commande.
Il vous appartient de vérifier que votre base de données est compatible avant d’effectuer cette conversion !

L’exécution de cette commande peut être très longues suivant la taille et le nombre de vos tables !

$ DB="LeNomDeVotreBaseDeDonnées"
$ ENGINE="InnoDB" # Mettre InnoBD pour convertir vers InnoDB. Inversement, mettre MyISAM pour convertir vers MyISAM.
$ echo 'SHOW TABLES;' \
| mysql --defaults-file=/etc/mysql/debian.cnf ${DB} \
| awk '!/^Tables_in_/ {print "ALTER TABLE `"$0"` ENGINE = ${ENGINE};"}' \
| column -t \
| mysql --defaults-file=/etc/mysql/debian.cnf ${DB}

Tags associés :

rm: impossible de supprimer — Débordement du quota d’espace disque

1 avril 2014

Dans un cas comme celui-ci :

rm: impossible de supprimer « votre_fichier.rar » : Débordement du quota d'espace disque

Que faire lorsque même un rm –force ne suffit plus ?

Essayez donc ceci :

echo " " > votre_fichier.rar
rm votre_fichier.rar

Ceci aura pour effet de remplacer le contenu du fichier par un espace ( le  »  » ) et vous permettras de récupérer un peu d’espace pour pouvoir effectuer le ménage et supprimer ce fichier et les autres présents sur ce volume.

Merci à @LHercot sur Twitter pour l’astuce !

Tags associés :

#OVHack : récit d’un « petit » CTF organisé par OVH

20 juin 2013

OVH nous à proposé du Lundi 17 juin au Jeudi 20 juin un petit challenge CTF en marge de la Nuit du Hack 2013 : l’#OVHack Contest 2013  !

J’y ai participé et je fais partie des 16 gagnants, à travers ce billet je vous propose de vivre ce challenge de mon point de vue et si vous l’avez tenté sans y arriver, de connaître les solutions aux différents problèmes posés.

Step 1 : « follow the white rabbit »

Sur la page d’accueil de l’#OVHack, on nous indique ceci : » » lire la suite en cliquant ici « «

Tags associés :