<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Antoine Benkemoun &#187; Explication</title>
	<atom:link href="http://www.antoinebenkemoun.fr/tag/explication/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.antoinebenkemoun.fr</link>
	<description>Sécurité informatique, Virtualisation, Administration système et Réseaux</description>
	<lastBuildDate>Wed, 07 Jul 2010 00:11:02 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Content Delivery Networks : Introduction</title>
		<link>http://www.antoinebenkemoun.fr/2010/06/content-delivery-networks-introduction/</link>
		<comments>http://www.antoinebenkemoun.fr/2010/06/content-delivery-networks-introduction/#comments</comments>
		<pubDate>Wed, 09 Jun 2010 21:38:00 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Libre]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[CDN]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Explication]]></category>
		<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=1191</guid>
		<description><![CDATA[J&#8217;ai récemment effectué un petit projet dans le cadre de mes études dans le cadre de l&#8217;unité de valeur &#171;&#160;Services Réseaux&#160;&#187; traitant des Content Delivery Networks (ou CDN) avec un binôme de choc. Dès que nous avons vu que ce sujet était proposé dans la liste des projets, nous l&#8217;avons immédiatement choisi. Le reste des [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/06/cdn.png"><img class="alignleft size-medium wp-image-1198" title="cdn" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/06/cdn-300x147.png" alt="" width="240" height="118" /></a>J&#8217;ai récemment effectué un petit projet dans le cadre de mes études dans le cadre de l&#8217;unité de valeur &laquo;&nbsp;Services Réseaux&nbsp;&raquo; traitant des Content Delivery Networks (ou CDN) avec un <a href="http://www.paulfariello.fr">binôme</a> de choc. Dès que nous avons vu que ce sujet était proposé dans la liste des projets, nous l&#8217;avons immédiatement choisi. Le reste des projets était plus ou moins classique mais ce sujet ressortait du lot. Ce sujet fera l&#8217;objet d&#8217;une série de billets car un unique billet serait bien trop long.</p>
<p>Avant de rentrer dans le vif du sujet, la présentation que nous avons effectué est disponible sur <a href="http://www.slideshare.net/tekzone/content-delivery-networks-cdn">Slideshare</a>. L&#8217;affichage des animations est quelque peu fastidieux par le biais de la visionneuse Slideshare mais ca reste assez lisible. Il s&#8217;agit d&#8217;une présentation <a href="http://www.apple.com/iwork/keynote/">Keynote</a> contenant assez peu de détails car la plupart du sujet a été traité à l&#8217;oral. Pour le détail, il faudra lire les articles de cette série de billets.</p>
<p>Tout d&#8217;abord, nous pouvons traduire le terme &laquo;&nbsp;Content Delivery Network&nbsp;&raquo; par &laquo;&nbsp;Réseau de distribution de contenu&nbsp;&raquo;. L&#8217;adaptation de ce terme en Français me semble tout à fait satisfaisante. J&#8217;utiliserais ce terme pour la suite des billets et les autres billets à venir. Je ferais une exception pour le titre mais ça c&#8217;est pour l&#8217;indexation Google.</p>
<p>Les réseaux de distribution de contenu ont été conçus pour répondre à des problématiques très concrètes rencontrées sur Internet. Lors de cette introduction, nous nous attacherons à identifier ces problématiques et à les détailler. Nous distinguerons deux types de problématiques : les nouvelles problématiques et les problématiques historiques.</p>
<h3>Nouvelles problématiques</h3>
<p>L&#8217;utilisation de l&#8217;Internet a beaucoup évolué depuis ces dix dernières années et ces évolutions ont amené de nombreuses nouvelles problématiques.</p>
<p>La première grande révolution est l&#8217;introduction de la vidéo dans le navigateur web. Ceci peut paraitre tout à fait &laquo;&nbsp;normal&nbsp;&raquo; aujourd&#8217;hui mais l&#8217;intégration de contenus vidéos était quelque chose de rare il y a une dizaine d&#8217;années. Le lecteur Real Player avait permis de faire les premiers pas vers cette intégration mais son utilisation était exceptionnellement pénible. Ceux qui l&#8217;ont utilisé se souviendront probablement du casse tête entre les version gratuites et payantes ainsi que les publicités associées. Cette révolution a permis au plus grand monde d&#8217;accéder à des quantités de contenu astronomiques.</p>
<p>La seconde révolution est le haut débit par le biais des technologies de transmission ADSL et câble. Chaque utilisateur connecté derrière la box de son fournisseur d&#8217;accès à Internet obtient ainsi la possibilité de récupérer des données à une vitesse particulièrement élevée. Aujourd&#8217;hui, la quasi totalité des accès ADSL/Câble classiques disposent de plusieurs Mégabits de débit.</p>
<p>La troisième révolution a été les réseaux sociaux. Dans l&#8217;absolu, les réseaux sociaux ne sont que des sites comme des autres. Leur particularité réside dans le fait que la quantité de contenu qui y est ajouté chaque heure est colossale. De plus, ces contenus sont consultés de manière régulière par de nombreuses personnes à longueur de journée.</p>
<p>Pour résumer, le contenu distribué sur Internet a largement grossi à cause de la vidéo mais les utilisateurs ont également la possibilité de le récupérer à des vitesses élevés. Au final, il était nécessaire de trouver un solution efficace et le moins cher possible car tous ses contenus sont accessibles gratuitement.</p>
<h3>Problématiques historiques</h3>
<p>Nous venons de voir un certains nombre de facteurs récents qui ont modifié l&#8217;utilisation de l&#8217;Internet. Nous allons maintenant nous intéresser aux problématiques qui ne sont elles pas récentes.</p>
<p>La première problématique est le coût de la mise en place des liaisons transocéaniques et transcontinentales. L&#8217;investissement initial est élevé et la maintenance sur ces câbles est exceptionnellement compliquée. Les procédés de fabrication des fibres ont été améliorés et leur utilisation a été optimisé mais il reste nécessaire de faire traverser l&#8217;océan par un navire câblier ou bien de creuser les trous pour enfouir les fibres. Cette problématique induit le fait que plus le trafic réseau parcourt de la distance, plus les couts sont élevés.</p>
<p style="text-align: center;"><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/06/repart.png"><img class="size-medium wp-image-1200 aligncenter" title="repart" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/06/repart-300x193.png" alt="" width="300" height="193" /></a></p>
<p>La seconde problématique est la vitesse de la lumière. Transcrit en des termes plus informatiques, la seconde problématique est la latence. Cette dernière est bornée inéluctablement par la vitesse de propagation d&#8217;un signal dans une fibre optique qui dépend de la vitesse de la lumière. Les utilisateurs veulent non seulement du contenu mais le veulent rapidement. La latence peut devenir un problème dans le cas de liaisons transocéaniques. Des chiffres donnés par Akamai évoquent une latence de 1,6 ms pour du contenu situé à 160 Km et une latence de 96 ms pour du contenu situé sur un autre continent.</p>
<p>Au final, ces deux jeux de problématiques s&#8217;additionnent et viennent compliquer la vision traditionnelle de la distribution de contenu sur Internet. Les réseaux de distribution de contenu ont été créé dans l&#8217;objectif de résoudre au mieux à toutes ces problématiques.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2010/06/content-delivery-networks-introduction/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Activer la déduplication de données avec ZFS</title>
		<link>http://www.antoinebenkemoun.fr/2010/05/activer-la-deduplication-de-donnees-avec-zfs/</link>
		<comments>http://www.antoinebenkemoun.fr/2010/05/activer-la-deduplication-de-donnees-avec-zfs/#comments</comments>
		<pubDate>Tue, 11 May 2010 12:41:47 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Libre]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[Explication]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[Solaris]]></category>
		<category><![CDATA[Stockage]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=1140</guid>
		<description><![CDATA[Nous avons vu la dernière fois ce qu&#8217;était la déduplication de données ainsi que les applications (essentiellement libres) de cette technologie. Nous allons désormais nous intéresser à la mise en place de cette technologie dans le cas d&#8217;un système de fichiers ZFS.
Si vous avez un système de fichiers ZFS, cela signifie que vous avez soit [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/05/sbres_1215816452_0__.jpg"><img class="alignleft size-medium wp-image-1152" title="sbres_1215816452_0__" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/05/sbres_1215816452_0__-300x240.jpg" alt="" width="180" height="144" /></a>Nous avons vu la dernière fois ce qu&#8217;était la <a href="http://www.antoinebenkemoun.fr/2010/05/la-deduplication-de-donnees/">déduplication de données</a> ainsi que les applications (essentiellement libres) de cette technologie. Nous allons désormais nous intéresser à la mise en place de cette technologie dans le cas d&#8217;un système de fichiers ZFS.</p>
<p>Si vous avez un système de fichiers ZFS, cela signifie que vous avez soit un OpenSolaris soit un BSD. Vous ne pourrez pas faire de déduplication de données avec votre BSD car les versions actuellement implémentées ne supportent pas cette technologie. Vous devrez donc avoir un OpenSolaris sous le coude. De plus, la déduplication a été ajouté au build 128 d&#8217;OpenSolaris. Si vous avez une version 2009.06, vous allez devoir faire une <a href="http://pkg.opensolaris.org/dev">mise à jour</a> vers les dépôts de développement ou bien attendre la nouvelle version (qui aurait du être 2010.03). Je parlerais de la mise à jour très prochainement.</p>
<p>Vérifions donc que vous avez la bonne version d&#8217;OpenSolaris en regardant le fichier <em>/etc/release</em>. Vous devez avoir une information indiquant un numéro de version supérieur à 128. Dans le cas de mon OpenSolaris, ce fichier contenait, entre autre, la ligne suivante : <em>OpenSolaris Development snv_134 X86</em>.</p>
<p>Par défaut, la déduplication n&#8217;est activée sur aucun pool ZFS. Si vous avez fait la montée de version sans demander de fonctionnalités supplémentaires de ZFS, il est probable que votre version de ZFS soit antérieure à celle supportant la déduplication.</p>
<p>Vérifiez donc la liste des volumes ZFS à mettre à jour.</p>
<blockquote><p><strong># zpool upgrade</strong><br />
This system is currently running ZFS pool version 22.</p>
<p>The following pools are out of date, and can be upgraded.  After being<br />
upgraded, these pools will no longer be accessible by older software versions.</p>
<p>VER  POOL<br />
&#8212;  &#8212;&#8212;&#8212;&#8212;<br />
14   rpool</p>
<p>Use &#8216;zpool upgrade -v&#8217; for a list of available versions and their associated features.</p></blockquote>
<p>Nous allons donc mettre à jour nos pools ZFS afin de pouvoir bénéficier de la déduplication.</p>
<blockquote><p><strong># pfexec zpool upgrade -a</strong><br />
This system is currently running ZFS pool version 22.</p>
<p>Successfully upgraded &#8216;rpool&#8217;</p></blockquote>
<p>Nous avons donc mis à jour notre pool ZFS. Il nous reste plus qu&#8217;à activer la fonctionnalité.</p>
<blockquote><p>$ <strong>zfs get dedup rpool</strong><br />
NAME   PROPERTY  VALUE          SOURCE<br />
rpool  dedup     off            default<br />
$ <strong>pfexec zfs set dedup=on rpool</strong><br />
$ <strong>zfs get dedup rpool</strong><br />
NAME   PROPERTY  VALUE          SOURCE<br />
rpool  dedup     on             local<br />
$ <strong>zpool list rpool</strong><br />
NAME    SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT<br />
rpool    19.9G  10.7G    9.19G     53%  1.00x      ONLINE       -</p></blockquote>
<p>Le tour est joué ! Le facteur de déduplication vous indique la quantité d&#8217;espace disque que vous avez économisé. Lorsque vous activez la déduplication sur un volume, ce facteur est de 1x par défaut. Les données actuellement présentes sur le volume ne seront pas dédupliquées, il faudra attendre que de nouvelles données soient ajoutées.</p>
<p>Source : <a href="http://ctistrategy.com/2009/12/24/testing-zfs-deduplication/">CTIStrategy</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2010/05/activer-la-deduplication-de-donnees-avec-zfs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>La déduplication de données</title>
		<link>http://www.antoinebenkemoun.fr/2010/05/la-deduplication-de-donnees/</link>
		<comments>http://www.antoinebenkemoun.fr/2010/05/la-deduplication-de-donnees/#comments</comments>
		<pubDate>Thu, 06 May 2010 10:36:24 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Libre]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[Explication]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[Stockage]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=1126</guid>
		<description><![CDATA[Profitons de cette journée pluvieuse pour parler d&#8217;un peu de stockage. J&#8217;ai relativement peu l&#8217;occasion de parler de stockage sur ce blog bien que ce soit un sujet particulièrement intéressant, surtout dans le cas des réseaux de stockage. Ce n&#8217;est cependant pas de réseaux de stockage dont nous parlerons aujourd&#8217;hui mais de déduplication de données.
Notion [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/01/openstorage.png"><img class="alignleft size-medium wp-image-909" title="openstorage" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/01/openstorage-263x300.png" alt="" width="142" height="162" /></a>Profitons de cette journée pluvieuse pour parler d&#8217;un peu de stockage. J&#8217;ai relativement peu l&#8217;occasion de parler de stockage sur ce blog bien que ce soit un sujet particulièrement intéressant, surtout dans le cas des <a href="http://www.antoinebenkemoun.fr/2009/12/retour-sur-le-barcamp-du-28-novembre/">réseaux de stockage</a>. Ce n&#8217;est cependant pas de réseaux de stockage dont nous parlerons aujourd&#8217;hui mais de déduplication de données.</p>
<h3>Notion de duplication</h3>
<p>La notion de duplication de données est relativement simple. Prenons un jeu de données, la duplication de ces données donne un second jeu identique de données mais sur un autre espace de stockage. Il est possible de faire de la duplication dans le cas de la copie de disques ou de DVD par exemple. Il est également intéressant de faire de la duplication de données dans le cas de la virtualisation. Lorsque des machines virtuelles sont &laquo;&nbsp;provisionnées&nbsp;&raquo; ou bien, plus simplement, créées, une technique envisageable est la duplication d&#8217;une machine virtuelle &laquo;&nbsp;template&nbsp;&raquo;.</p>
<p>Dans le cas de la virtualisation, de nombreuses données sont présentes en plusieurs exemplaires. Sur une plateforme de virtualisation, il va être exécuté un certain nombre de systèmes d&#8217;exploitation. Un serveur de virtualisation standard aujourd&#8217;hui est capable d&#8217;exécuter 20 à 30 machines virtuelles. Supposons que ces machines virtuelles disposent de 2-3 systèmes d&#8217;exploitation différents, cela implique que 7 à 15 copies du même système d&#8217;exploitation vont être stockées.</p>
<h3>Définition de la duplication</h3>
<p>La déduplication va nous permettre de solutionner en grande partie ce problème. Cette technique a pour objectif de supprimer les doublons/triplons/etc du support de stockage afin de stocker qu&#8217;une seule copie des données. Il est possible d&#8217;implémenter cette technique à plusieurs endroits et à plusieurs niveaux. Prenons tout d&#8217;abord l&#8217;exemple de la mémoire vive et ensuite, l&#8217;exemple des disques.</p>
<p style="text-align: center;"><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/05/deduplication.jpg"><img class="size-medium wp-image-1132   aligncenter" title="deduplication" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/05/deduplication-300x158.jpg" alt="" width="300" height="158" /></a></p>
<h3>Déduplication de la mémoire vive</h3>
<p>La mémoire vive est un support de stockage d&#8217;information particulièrement couteux. Nous avons donc tout intérêt à en optimiser son utilisation. L&#8217;exemple que nous avons proposé plus haut pour illustrer la duplication des données est tout à fait valable pour les informations stockées en mémoire vive.</p>
<p>Le système d&#8217;exploitation va calculer une <a href="http://fr.wikipedia.org/wiki/Hash">empreinte</a> (&laquo;&nbsp;hash&nbsp;&raquo; pour les anglophones) pour une certaine unité de stockage pour la totalité de la mémoire vive. Lorsque le système rencontrera deux unités présentant la même empreinte, il en supprimera une copie et fera un lien vers l&#8217;unique copie. L&#8217;unité de stockage utilisée est, souvent, la page mémoire. Une empreinte est donc calculée pour chaque page mémoire et la déduplication se fait à ce niveau.</p>
<p>A ma connaissance, seuls les systèmes de virtualisation utilisent cette technique pour la mémoire vive. C&#8217;est, plus particulièrement, le cas de VMWare et de Xen 4.0.</p>
<p style="text-align: center;">
<h3>Déduplication de disques</h3>
<p>L&#8217;exemple de la mémoire vive est transposable aux supports de disque divers. La déduplication au niveau des disques va permettre les mêmes avantages que la mémoire vive et utilisera le même fonctionnement. La différence se situe principalement au niveau de l&#8217;unité de stockage qui sera choisie pour le calcul de l&#8217;empreinte. Le bloc sera, le plus souvent, utilisé pour les disques.</p>
<p>Une application réelle pour la déduplication se situe d&#8217;une part dans les systèmes de virtualisation mais aussi dans les systèmes de sauvegarde dans lesquels on peut retrouver de (très) nombreuses copies d&#8217;une même copie. Les équipements qui effectuent la déduplication sont les <a href="http://fr.wikipedia.org/wiki/R%C3%A9seau_de_stockage_SAN">SAN</a> mais aussi les systèmes de fichiers (&laquo;&nbsp;filesystem&nbsp;&raquo; pour les anglophones).</p>
<p>Vous allez me dire &laquo;&nbsp;Mais mon Linux il sait pas faire ca !&nbsp;&raquo; et, oui, vous avez raison. Si vous voulez effectuer de la déduplication au niveau d&#8217;un système de fichiers, il va falloir utiliser <a href="http://hub.opensolaris.org/bin/view/Community+Group+zfs/">ZFS</a> sous <a href="http://hub.opensolaris.org/bin/view/Main/">OpenSolaris</a>. J&#8217;en parlerais dans un prochain billet. Il serait prévu d&#8217;inclure ce type de fonctionnalité dans Btrfs.</p>
<p>Au final, j&#8217;espère avoir fait un tour d&#8217;horizon assez complet de cette technique relativement récente mais que je trouve particulièrement intéressante.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2010/05/la-deduplication-de-donnees/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Installation de Xen 4.0 sur Debian Lenny</title>
		<link>http://www.antoinebenkemoun.fr/2010/05/installation-de-xen-4-0-sur-debian-lenny/</link>
		<comments>http://www.antoinebenkemoun.fr/2010/05/installation-de-xen-4-0-sur-debian-lenny/#comments</comments>
		<pubDate>Tue, 04 May 2010 15:08:21 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Libre]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[Xen]]></category>
		<category><![CDATA[Explication]]></category>
		<category><![CDATA[OS]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=1108</guid>
		<description><![CDATA[Les tutoriels d&#8217;installation ne sont pas forcément les plus intéressants à blogger et j&#8217;en ai fait très peu pour cette raison. J&#8217;avais déjà parlé de l&#8217;installation de Xen 3.2.1 sur Debian Lenny. Au moment où j&#8217;ai écrit ce billet, cette version commençait à être relativement vieillissante. Je vais donc traiter aujourd&#8217;hui de l&#8217;installation de Xen [...]]]></description>
			<content:encoded><![CDATA[<p>Les tutoriels d&#8217;installation ne sont pas forcément les plus intéressants à blogger et j&#8217;en ai fait très peu pour cette raison. J&#8217;avais déjà parlé de l&#8217;<a href="http://www.antoinebenkemoun.fr/2009/09/installation-de-xen-sur-debian-lenny/">installation de Xen 3.2.1</a> sur Debian Lenny. Au moment où j&#8217;ai écrit ce billet, cette version commençait à être relativement vieillissante. Je vais donc traiter aujourd&#8217;hui de l&#8217;installation de Xen 4.0.</p>
<h3>Petit historique</h3>
<p>Vous savez peut être que Xen a été quelque peu obscurcit par l&#8217;introduction de KVM dans le noyau Linux. Cette inclusion de KVM a conduit des distributions telles que Red Hat et Ubuntu à supprimer Xen de leurs distributions ou de ne laisser qu&#8217;un support pour le moins minimal. A l&#8217;époque de ces faits, Xen n&#8217;était compatible qu&#8217;avec un ou deux noyaux Linux patchés par l&#8217;équipe de Xen. Cette époque est révolue car Xen a évolué vers les noyaux dits &laquo;&nbsp;Paravirt Ops&nbsp;&raquo; ce qui signifie que la compatibilité d&#8217;un noyau Linux avec Xen ne tient plus qu&#8217;à un module de ce même noyau.</p>
<p style="text-align: center;"><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/06/Xen_logo.png"><img class="size-medium wp-image-99   aligncenter" title="Xen_logo" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2009/06/Xen_logo-300x133.png" alt="" width="300" height="133" /></a></p>
<p>La version Xen 4.0 est particulièrement intéressante car il s&#8217;agit de la première version qui fonctionne par défaut avec les noyaux Paravirt Ops. L&#8217;installation de versions antérieures vous assurera la douleur de devoir éventuellement passer vers une version supérieure à la 4.0 lorsque vous voudrez mettre à jour vos noyaux Linux.</p>
<h3>Installation</h3>
<p>Nous pouvons désormais passer aux choses sérieuses. Nous allons effectuer une installation à partir des sources car il n&#8217;existe pas encore de paquets. Et puis de toute façon, une petite compilation ne vous fait pas peur !</p>
<p>Nous allons tout d&#8217;abord récupérer l&#8217;archive sur le site de Xen et on la dézippe :</p>
<blockquote><p>wget http://bits.xensource.com/oss-xen/release/4.0.0/xen-4.0.0.tar.gz</p>
<p>tar zxvf xen-4.0.0.tar.gz</p></blockquote>
<p>Nous allons ensuite installer tous les pré-requis et ils sont nombreux.</p>
<blockquote><p>apt-get install bcc bin86 gawk bridge-utils iproute libcurl3 libcurl4-openssl-dev bzip2 module-init-tools transfig tgif texinfo texlive-latex-base texlive-latex-recommended texlive-fonts-extra texlive-fonts-recommended pciutils-dev mercurial build-essential make gcc libc6-dev zlib1g-dev python python-dev python-twisted libncurses5-dev patch libvncserver-dev libsdl-dev libjpeg62-dev iasl libbz2-dev e2fslibs-dev git-core uuid-dev gcc-multilib</p></blockquote>
<p>Passons désormais à la compilation. Si vous avez une machine dotée de plusieurs cœurs / processeurs, n&#8217;hésitez surtout pas à utiliser l&#8217;option <em>-jX</em> où X est le nombre de cœurs que vous avez. Cette option permet de répartir la compilation sur tous les cœurs et ainsi de la finir plus rapidement. J&#8217;avais un BiQuad Core, donc ce sera 8 pour cet exemple.</p>
<blockquote><p>make -j8 xen</p>
<p>make -j8 tools</p>
<p>make -j8 stubdom</p></blockquote>
<p>Ensuite, on installe tout ca.</p>
<blockquote><p>make -j8 install-xen</p>
<p>make -j8 install-tools</p>
<p>make -j8 stubdom</p></blockquote>
<p>Grâce à toutes ces commandes, nous avons installé Xen ainsi que tous les outils associés. Il nous manque plus que le noyau Linux pour les domaines. A partir de là, vous pouvez soit créer votre propre noyau soit utiliser un noyau proposé par Xen. J&#8217;ai choisi de faire cela car c&#8217;était plus simple, plus rapide et plus pratique.</p>
<p>On va donc exécuter la commande qui va nous permettre de récupérer et de compiler le noyau qui va bien pour notre installation de Xen.</p>
<blockquote><p>make -j8 world</p></blockquote>
<p>Pour installer le noyau que vous avons compilé, il ne manque qu&#8217;à exécuter la commande suivante. On crée au passage l&#8217;initrd qui va bien.</p>
<blockquote><p>make install</p>
<p>mkinitramfs -o /boot/initrd-2.6.31.13.img 2.6.31.13</p></blockquote>
<p>Vous devez ensuite modifier Grub afin qu&#8217;il s&#8217;adapte à Xen. La configuration suivante fonctionne sur l&#8217;hyperviseur que j&#8217;ai eu l&#8217;occasion d&#8217;installer. Il faut adapter le root en fonction de votre serveur. Ici, il s&#8217;agissait d&#8217;un contrôleur RAID HP.</p>
<blockquote><p>title           Xen 4.0.0 / Debian GNU/Linux, kernel 2.6.31.13<br />
root            (hd0,1)<br />
kernel          /boot/xen-4.0.0.gz<br />
module          /boot/vmlinuz-2.6.31.13 root=/dev/cciss/c0d0p2 ro console=tty0<br />
module          /boot/initrd-2.6.31.13.img</p></blockquote>
<p>Vous pouvez ensuite rebooter sur votre nouvelle installation de Xen 4.0 avec votre noyau Paravirt Ops. Si vous souhaitez modifier des options à la compilation du noyau, il faut se placer dans le bon répertoire et activer les bons paramètres dans le menu.</p>
<blockquote><p>cd build-linux-2.6-pvops_x86_64</p>
<p>make menuconfig</p></blockquote>
<p>Il faut activer le support TUN/TAP si vous souhaitez exécuter des domaines HVM ainsi que le support du 802.1Q si vous souhaitez placer vos domaines sur différents VLAN. Ces deux options ne sont pas activées par défaut.</p>
<p>Au final, j&#8217;espère que ce tutoriel vous sera utile et que j&#8217;ai été clair. Le passage vers les noyaux en Paravirt Ops est une évolution majeure dans l&#8217;histoire de Xen et permettra une adoption nettement plus large.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2010/05/installation-de-xen-4-0-sur-debian-lenny/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Génération de certificats OpenVPN par lots</title>
		<link>http://www.antoinebenkemoun.fr/2010/04/generation-de-certificats-openvpn-par-lots/</link>
		<comments>http://www.antoinebenkemoun.fr/2010/04/generation-de-certificats-openvpn-par-lots/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 09:01:39 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Libre]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[Explication]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[OS]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=1094</guid>
		<description><![CDATA[J&#8217;ai déjà eu l&#8217;occasion de parler d&#8217;OpenVPN plusieurs fois sur ce blog car je pense qu&#8217;il s&#8217;agit d&#8217;une application très intéressante. J&#8217;avais déjà traité l&#8217;installation d&#8217;OpenVPN sur OpenSolaris et le client MacOS Viscosity. Une problématique régulièrement rencontrée est la génération de certificats SSL pour OpenVPN afin de créer des accès utilisateur à un serveur.
La méthode [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/02/site_internet.jpg"><img class="alignleft size-medium wp-image-947" title="site_internet" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/02/site_internet-300x225.jpg" alt="" width="189" height="142" /></a>J&#8217;ai déjà eu l&#8217;occasion de parler d&#8217;OpenVPN plusieurs fois sur ce blog car je pense qu&#8217;il s&#8217;agit d&#8217;une application très intéressante. J&#8217;avais déjà traité l&#8217;<a href="http://www.antoinebenkemoun.fr/2010/01/installation-dopenvpn-sur-opensolaris/">installation d&#8217;OpenVPN sur OpenSolaris </a>et le client <a href="http://www.antoinebenkemoun.fr/2009/07/un-client-openvpn-pour-mac-os-viscosity/">MacOS Viscosity</a>. Une problématique régulièrement rencontrée est la génération de certificats SSL pour OpenVPN afin de créer des accès utilisateur à un serveur.</p>
<p>La méthode la plus simple consiste à utiliser les outils <em>easy-rsa</em> en ligne de commande. Ces outils simplifient réellement la tâche par rapport à l&#8217;utilisation directe d&#8217;OpenSSL. Le problème avec l&#8217;utilisation de ces outils est la nécessité d&#8217;interagir avec le terminal. Cet outil va vous demander bon nombre de renseignements tels que le pays, la ville, l&#8217;adresse email, etc. Cette interaction rend compliquée la création par lots de certificats.</p>
<p>Une méthode plus compliquée, mais plus efficace, consiste à adapter les scripts <em>easy-rsa</em> afin de rendre leur utilisation plus linéaire et non interactive afin qu&#8217;un script puisse les exécuter. De plus, j&#8217;ai souhaité donner la possibilité de spécifier la durée de validité du certificat au cas par cas, ce qui n&#8217;est pas possible par défaut.</p>
<p>Le premier script, <em>build-key-batch</em>, permet de créer une clé en spécifiant une durée de validité. Il n&#8217;y a qu&#8217;une toute petite modification qui permet de récupérer la durée de validité passée en argument.</p>
<blockquote><p>#!/bin/sh</p>
<p>if test $# -ne 2; then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo &laquo;&nbsp;usage: build-key-batch &lt;name&gt; &lt;duree&gt;&nbsp;&raquo;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit 1<br />
fi</p>
<p>if test $KEY_DIR; then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cd $KEY_DIR &amp;&amp; \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;openssl req -days $2 -nodes -new -keyout $1.key -out $1.csr -batch -config $KEY_CONFIG &amp;&amp; \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;openssl ca -days $2 -out $1.crt -in $1.csr -batch -config $KEY_CONFIG &amp;&amp; \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;chmod 0600 $1.key<br />
else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo you must define KEY_DIR<br />
fi</p></blockquote>
<p>Par défaut, <em>easy-rsa</em> nécessite d&#8217;exécuter le fichier vars dont le rôle est d&#8217;exporter un certain nombre de variables d&#8217;environnement utilisées par les scripts de génération de clé. Cela ne me convenait pas car je souhaitais exécuter un seul fichier contenant toutes les informations dont je pouvais avoir besoin. J&#8217;ai donc créé un script nommé <em>build-batch</em> qui contient toutes les options.</p>
<blockquote><p>#!/bin/sh<br />
if test $# -ne 2; then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo &laquo;&nbsp;usage: batch-build &lt;name&gt; &lt;duree&gt;&nbsp;&raquo;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit 1<br />
else<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Definition des variables<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;export D=`pwd`<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;export KEY_CONFIG=$D/openssl.cnf<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;export KEY_DIR=$D/keys<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;export KEY_SIZE=1024<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;export KEY_COUNTRY=FR<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;export KEY_PROVINCE=XX<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;export KEY_CITY=Paris<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;export KEY_ORG=&nbsp;&raquo;Keeyyyy&nbsp;&raquo;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;export KEY_EMAIL=&nbsp;&raquo;$1&#8243;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;export KEY_CNAME=$1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;./build-key-batch $1 $2<br />
fi</p></blockquote>
<p>Ce script nécessite une petite modification du fichier openssl.cnf présent dans le dossier <em>easy-rsa</em> qui est la suivante :</p>
<blockquote><p>commonName                      = Common Name (eg, your name or your server\&#8217;s hostname)<br />
commonName_max                  = 64<br />
++ commonName_default              = $ENV::KEY_CNAME</p></blockquote>
<p>Le script a exécuter afin de générer un certificat est donc <em>build-batch</em> suivi de deux arguments qui sont le nom du certificat et la durée de validité. Vous pourrez ainsi générer des certificats pour OpenVPN simplement et efficacement sans nécessiter une intervention humaine.</p>
<p>Source : <a href="http://intuitinnovations.com/blog/archives/100">insights</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2010/04/generation-de-certificats-openvpn-par-lots/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Le futur d&#8217;OpenSolaris</title>
		<link>http://www.antoinebenkemoun.fr/2010/04/le-futur-dopensolaris/</link>
		<comments>http://www.antoinebenkemoun.fr/2010/04/le-futur-dopensolaris/#comments</comments>
		<pubDate>Wed, 21 Apr 2010 09:15:57 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Libre]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[Explication]]></category>
		<category><![CDATA[Humeur]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[Solaris]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=1075</guid>
		<description><![CDATA[Ce billet marque une petite pause dans les billets sur la gestion du réseau d&#8217;une LAN Party. Au début de ce blog, j&#8217;avais annoncé que je ne souhaitais pas être un blog traitant de l&#8217;actualité au jour le jour car il en existe déjà de nombreux. Je vais donc traiter aujourd&#8217;hui de l&#8217;actualité d&#8217;OpenSolaris suite [...]]]></description>
			<content:encoded><![CDATA[<p>Ce billet marque une petite pause dans les billets sur la gestion du réseau d&#8217;une LAN Party. Au début de ce blog, j&#8217;avais annoncé que je ne souhaitais pas être un blog traitant de l&#8217;actualité au jour le jour car il en existe déjà de nombreux. Je vais donc traiter aujourd&#8217;hui de l&#8217;actualité d&#8217;OpenSolaris suite au rachat de Sun par Oracle.</p>
<p style="text-align: center;"><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/04/OpenSolarisLogo2.png"><img class="size-medium wp-image-1035 aligncenter" title="OpenSolarisLogo2" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/04/OpenSolarisLogo2-300x89.png" alt="" width="300" height="89" /></a></p>
<p>Vous le savez sans aucun doute tous, Oracle a racheté Sun suite à de nombreuses négociations avec les différentes autorités notamment européennes. Sun est un grand groupe informatique relativement peu connu du grand public aujourd&#8217;hui mais qui a largement participé à l&#8217;expansion de l&#8217;informatique tel que nous la connaissons aujourd&#8217;hui. Les produits les plus connus de Sun sont la base de données MySQL, le système d&#8217;exploitation Solaris et la plateforme Java. Oracle est également un grand groupe dont le cœur de métier est la base de données dans toutes ses formes.</p>
<h3>Annonces faites par Oracle</h3>
<p>Dès l&#8217;annonce du rachat, Oracle a manifesté un fort intérêt pour Solaris contrairement aux intentions que certains ont pu lui prêter. L&#8217;annonce d&#8217;un investissement massif, supérieur à celui de Sun, dans Solaris a rapidement été évoqué. Le futur de Solaris n&#8217;a jamais été mis en doute. La réelle modification apportée par Oracle est la suppression de la gratuité de Solaris.  Ceci se comprend dans la mesure où Solaris est un système d&#8217;exploitation réellement orienté vers les infrastructures à très haute disponibilité. Qui dit haute disponibilité, dit coûts. C&#8217;est donc une évolution relativement logique pour viabiliser cet OS.</p>
<p>La gestion par Sun de Solaris faisait qu&#8217;il était possible pour une société de payer une souscription Solaris pour un seul serveur et ensuite de propager toutes les mises à jour sur tous leurs serveurs. Oracle a voulu, assez logiquement, supprimer cela en introduisant la notion de contrats équivalents sur tous les serveurs. De plus, Oracle a annoncé que toutes les fonctionnalités ne seraient pas incluses dans Solaris ce qui était déjà le cas à l&#8217;époque de Sun. Il s&#8217;agit cependant de fonctionnalités ultra-spécifiques. Le cheminement naturel est plutôt d&#8217;introduire les fonctionnalités OpenSolaris vers Solaris.</p>
<h3>La situation d&#8217;OpenSolaris</h3>
<p>Parlons désormais d&#8217;OpenSolaris. De la même manière que GNU n&#8217;est pas Linux, OpenSolaris n&#8217;est pas Solaris. OpenSolaris est à Solaris ce qu&#8217;est Fedora à Red Hat.</p>
<p>OpenSolaris est effectivement un logiciel libre bien que pas sous licence GNU/GPL.  Sur les mailing-list associées à ce projet, il a été fait une étude des éléments qui seraient à recréer si Oracle reniait OpenSolaris. Seul une centaine d&#8217;éléments non critiques seraient à revoir dont une bonne partie sont déjà en cours de réécriture.</p>
<h3>Enfin une annonce !</h3>
<p>L&#8217;erreur d&#8217;Oracle a surement été leur mutisme par rapport au futur d&#8217;OpenSolaris. Ceci est cependant terminé car Oracle sont sortis de leur silence et ont annoncé qu&#8217;il continueraient à soutenir ce projet. Je vous laisse consulter la <a href="http://developers.sun.ru/techdays2010/reports/OracleSolarisTrack/TD_STP_OracleSolarisFuture_Roberts.pdf">présentation</a> qui a été faite afin que vous puissiez vous faire votre propre idée.</p>
<blockquote><p>Oracle is investing more in Solaris than Sun did prior to  the acquisition, and will continue to contribute innovative technologies  to OpenSolaris, as Oracle already does for many other open source  projects</p></blockquote>
<blockquote><p>Oracle will continue to make OpenSolaris available as open source and Oracle will continue to actively support and participate in the OpenSolaris community</p></blockquote>
<p>Toutes les annonces de la mort d&#8217;OpenSolaris sont fausses et basées sur le simple silence d&#8217;Oracle à ce sujet. De plus, ces fausses annonces ont été fortement relayées sur tous les sites d&#8217;informatique. Par contre, lorsqu&#8217;Oracle annonce le maintien du projet, l&#8217;annonce est pratiquement inaudible et invisible.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2010/04/le-futur-dopensolaris/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Architecture réseau d’une LAN Party : DHCP</title>
		<link>http://www.antoinebenkemoun.fr/2010/04/architecture-reseau-d%e2%80%99une-lan-party-dhcp/</link>
		<comments>http://www.antoinebenkemoun.fr/2010/04/architecture-reseau-d%e2%80%99une-lan-party-dhcp/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 08:56:27 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Libre]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Evénement]]></category>
		<category><![CDATA[Explication]]></category>
		<category><![CDATA[LAN]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=1044</guid>
		<description><![CDATA[Après une petite pause pour parler d&#8217;OpenSolaris et une (très) courte semaine de vacances, revenons sur l&#8217;Utt Arena et, plus particulièrement, le réseau associé. Aujourd&#8217;hui, nous allons faire une pause sur la spécificité du DHCP dans le cadre de ce réseau.
Comme d&#8217;habitude, faisons un point d&#8217;avancement avant de rentrer dans la discussion technique. Le jour [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/03/gathering.jpg"><img class="alignleft size-medium wp-image-992" title="gathering" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/03/gathering-300x225.jpg" alt="" width="192" height="144" /></a>Après une petite pause pour parler d&#8217;OpenSolaris et une (très) courte semaine de vacances, revenons sur l&#8217;Utt Arena et, plus particulièrement, le réseau associé. Aujourd&#8217;hui, nous allons faire une pause sur la spécificité du DHCP dans le cadre de ce réseau.</p>
<p>Comme d&#8217;habitude, faisons un point d&#8217;avancement avant de rentrer dans la discussion technique. Le jour J est ce Vendredi soir donc nous nous retrouvons rapidement au pied du mur. Nous sommes cependant prêts à mettre en place l&#8217;architecture que nous avons prévu. La dernière de séance de préparation a été assez confortante car nous avons réussi à mettre en place l&#8217;architecture rapidement et effectuer les différents ajouts rapidement. Nous avons du apporter des modifications significatives à l&#8217;architecture dont je parlerais dans un prochain billet.</p>
<p>J&#8217;en avais déjà parlé lors du <a href="http://www.antoinebenkemoun.fr/2010/03/architecture-reseau-d%e2%80%99une-lan-party-conception/">billet sur la conception</a> de ce réseau, nous avons prévu de mettre en place un certain nombre de VLAN. Traditionnellement, un seul serveur DHCP était nécessaire afin d&#8217;allouer des adresses IP à toute la LAN. Or dans le cas présent, nous sommes loin de cette configuration.</p>
<p>Une première solution, assez primitive, aurait consisté à placer un serveur DHCP dans chaque VLAN. Cette solution est, bien évidemment, pas envisageable de par sa complexité de gestion et de sa consommation en machines. Il aura été possible de comprimer cette solution en utilisant des machines virtuelles mais nous n&#8217;avons pas de machine suffisamment puissante afin de faire celà.</p>
<p>La seconde solution, la plus évidente, est d&#8217;utiliser les ASA afin d&#8217;attribuer les bails DHCP. Cette idée est particulièrement efficace car elle permet de regrouper la configuration en un seul point. Les ASA sont parfaitement capables d&#8217;assurer la fonctionnalité DHCP pour plusieurs LAN. Ils peuvent allouer des IP inclues dans une plage sur chaque interface. Ce qui est cependant franchement ridicule, ils ne sont capables d&#8217;attribuer qu&#8217;une seule passerelle par défaut pour tous les LAN. Concrètement, vous pouvez allouer IP et Passerelle pour un LAN mais que des IP pour tous les autres LAN. Nous ne pouvons donc pas utiliser les ASA afin de servir d&#8217;allouer des bails DHCP décemment.</p>
<p>La solution finale est d&#8217;utiliser des Cisco 3750 afin d&#8217;attribuer des bails DHCP. Les 3750 sont des switchs avec une grosse dose d&#8217;intelligence supplémentaire. Ils sont capables, en plus de commuter, de router, de gérer un (ou plusieurs) protocoles de routage et d&#8217;allouer des bails DHCP pour plusieurs LAN. Cette solution implique que les 3750 aient une interface IP valide dans chaque LAN.</p>
<p>La configuration DHCP des 3750 est particulièrement simple à effectuer. Il faut d&#8217;abord créer l&#8217;interface IP associée au VLAN. Dans cet exemple, nous créons une interface IP associée au VLAN n°50 qui  aura pour IP 10.5.0.5</p>
<blockquote><p>interface Vlan50<br />
description Admin<br />
ip address 10.5.0.5 255.255.255.0</p></blockquote>
<p>Il faut ensuite indiquer au switch la plage d&#8217;IP qu&#8217;il peut allouer sur cette interface ainsi que la passerelle par défaut.</p>
<blockquote><p>ip dhcp pool 50<br />
network 10.5.0.0 255.255.255.0<br />
default-router 10.5.0.1</p></blockquote>
<p>Nous pouvons ensuite exclure une plage d&#8217;IP qui servira pour adresser divers équipements réseau : ASA et 3750 dans notre cas.</p>
<blockquote><p>ip dhcp excluded-address 10.5.0.1 10.5.0.10</p></blockquote>
<p>Au final, la configuration DHCP des Catalyst 3750 est relativement simple. Afin d&#8217;adresser de nombreux VLAN, il suffit de répéter le processus précédent. Ensuite, il suffit de placer les joueurs dans le bon VLAN et ils obtiendront les informations de configuration réseau.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2010/04/architecture-reseau-d%e2%80%99une-lan-party-dhcp/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Architecture réseau d’une LAN Party : Filtrage</title>
		<link>http://www.antoinebenkemoun.fr/2010/03/architecture-reseau-d%e2%80%99une-lan-party-filtrage/</link>
		<comments>http://www.antoinebenkemoun.fr/2010/03/architecture-reseau-d%e2%80%99une-lan-party-filtrage/#comments</comments>
		<pubDate>Wed, 24 Mar 2010 17:42:40 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Libre]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Explication]]></category>
		<category><![CDATA[LAN]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=1008</guid>
		<description><![CDATA[Ce billet continue la série de billets traitant de l&#8217;architecture d&#8217;une LAN Party. Après avoir présenté la topologie IP de notre réseau, nous allons nous intéresser au filtrage IP.
Avant de commencer à traiter ce sujet, je vais faire un petit point d&#8217;avancement sur la préparation du réseau. Nous avons passé 2 soirées à configurer les [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/03/gathering.jpg"><img class="alignleft size-medium wp-image-992" title="gathering" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/03/gathering-300x225.jpg" alt="" width="198" height="149" /></a>Ce billet continue la série de billets traitant de l&#8217;architecture d&#8217;une LAN Party. Après avoir présenté la <a href="http://www.antoinebenkemoun.fr/2010/03/architecture-reseau-d%e2%80%99une-lan-party-conception/">topologie IP</a> de notre réseau, nous allons nous intéresser au filtrage IP.</p>
<p>Avant de commencer à traiter ce sujet, je vais faire un petit point d&#8217;avancement sur la préparation du réseau. Nous avons passé 2 soirées à configurer les équipements Cisco et nous avons réussi à créer la topologie IP évoqué au billet précédent en 2 heures. Ce résultat est relativement satisfaisant et a été rendu possible par la préparation des configurations à l&#8217;avance. La quantité de VLAN ne nous a pas posé de problème particulier car la configuration des équipements Cisco est claire à ce niveau. Il nous reste juste une petite problématique au niveau de la communication entre deux interfaces du même ASA.</p>
<p>Le filtrage IP est une composante nécessaire de notre configuration réseau car les ASA refusent par défaut le trafic réseau. Dans le cadre d&#8217;une LAN, nous pouvons dissocier deux périodes : les périodes de tournoi et les périodes sans tournoi. Nous avons décidé d&#8217;adapter la configuration réseau en fonction de chaque période.</p>
<p>Le filtrage IP hors tournoi sera le plus permissif possible. Il n&#8217;y a aucun intérêt à restreindre les flux émanant des tables. Nous imposerons éventuellement une limite de bande passante au niveau des flux sortant sur Internet afin d&#8217;éviter la saturation trop rapide du lien. Ce niveau de filtrage nous permettra de tester notre configuration réseau sans se soucier des ACL.</p>
<p>Le filtrage IP pendant les tournois sera, au contraire, le plus restrictif possible. L&#8217;objectif est de limiter les flux au minimum nécessaire pour les jeux. La présence de flux parasites serait susceptibles d&#8217;impacter négativement la latence des flux de jeux causant ainsi le mécontentement des joueurs.</p>
<p>Au final, le filtrage IP s&#8217;adaptera en fonction des conditions de la LAN. Ceci se concrétisera par deux jeux d&#8217;ACL que nous appliquerons aux interfaces en fonction du filtrage souhaité.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2010/03/architecture-reseau-d%e2%80%99une-lan-party-filtrage/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Architecture réseau d’une LAN Party : Conception</title>
		<link>http://www.antoinebenkemoun.fr/2010/03/architecture-reseau-d%e2%80%99une-lan-party-conception/</link>
		<comments>http://www.antoinebenkemoun.fr/2010/03/architecture-reseau-d%e2%80%99une-lan-party-conception/#comments</comments>
		<pubDate>Fri, 19 Mar 2010 21:56:07 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Libre]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Explication]]></category>
		<category><![CDATA[LAN]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[VPN]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=1000</guid>
		<description><![CDATA[Ce billet fait suite au précédent qui avait eu pour objectif de définir le contexte d&#8217;un réseau d&#8217;une LAN et de présenter le projet. Aujourd&#8217;hui, nous allons définir l&#8217;architecture IP et L2 de notre LAN.
Avant de commencer, je souhaite faire un petit point d&#8217;avancement. La préparation de l&#8217;Utt Arena a commencé quelque peu en retard [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/03/gathering.jpg"><img class="alignleft size-medium wp-image-992" title="gathering" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/03/gathering-300x225.jpg" alt="" width="192" height="144" /></a>Ce billet fait suite au <a href="http://www.antoinebenkemoun.fr/2010/03/architecture-reseau-dune-lan-party-introduction/">précédent</a> qui avait eu pour objectif de définir le contexte d&#8217;un réseau d&#8217;une LAN et de présenter le projet. Aujourd&#8217;hui, nous allons définir l&#8217;architecture IP et L2 de notre LAN.</p>
<p>Avant de commencer, je souhaite faire un petit point d&#8217;avancement. La préparation de l&#8217;Utt Arena a commencé quelque peu en retard au niveau du réseau pour diverses raisons. Les choses avancent donc très vite et je vais essayer de vous faire partager notre avancement sur ce blog du mieux possible. J&#8217;approfondirais plus ou moins les sujets en fonction du temps que j&#8217;ai à ma disposition.</p>
<p>Je pense que l&#8217;architecture d&#8217;un réseau se doit d&#8217;être la plus simple possible et la plus logique possible. Si un réseau est simplement compréhensible par un humain, il sera plus facile à gérer et les sources d&#8217;erreur seront réduites. La conception de l&#8217;architecture est une phase exceptionnellement critique sur laquelle repose tout le reste.</p>
<p>L&#8217;objectif de notre réseau est le contrôle des flux et la l&#8217;optimisation de la latence. Ces deux objectifs sont quelque peu contradictoires car le contrôle des flux implique l&#8217;ajout d&#8217;intermédiaires de filtrage et de routage. Nous avons essayé de concilier au mieux ces deux objectifs.</p>
<p>Nous avons créé un VLAN par switch de table ce qui correspond à 20 joueurs pour les tournois CS et CSS. Ces deux tournois sont, de loin, les plus problématiques en terme d&#8217;utilisation réseau. Ceci nous fait donc 8 VLAN pour CS et 4 VLAN pour CSS. Pour les tournois TrackMania et Warcraft III, nous avons choisi de faire un VLAN par tournoi. Les joueurs Warcraft III jouent entre eux sans passer par un serveur, il est donc plus simple de les placer dans un VLAN dédié.</p>
<p>Tous les VLAN contenant les joueurs seront routés par un ASA. Nous avons ensuite réparti les VLAN équitablement parmi les ASA.</p>
<p>Ensuite, nous devons interconnecter les ASA entre eux. Nous avons choisi le protocole de routage OSPF car il s&#8217;agit d&#8217;un protocole simple et efficace. La logique traditionnelle voudrait que nous insérions un routeur central afin de router les flux des 4 ASA. Etant donné que notre objectif est la latence, nous avons choisi de ne pas mettre ce routeur. Les ASA seront donc tous interconnectés par le même réseau IP. OSPF est parfaitement capable de gérer cette configuration en passant par l&#8217;élection d&#8217;un DR (Designated Router).</p>
<p>Nous avons ensuite ajouté deux routeurs standards afin de router les flux des serveurs et des administrateurs. Ces routeurs participeront également à l&#8217;OSPF avec les ASA.</p>
<p>Et pour finir la tache la plus importante, le nommage des équipements. Inutile mais tellement indispensable et amusant. Nous avons choisi des noms de volcans pour les ASA et des noms de montagne pour les routeurs. Les ASA s&#8217;appelleront ainsi Etna, Fuji, Kilauea et Pinatubo et les routeurs Everest et K2.</p>
<p style="text-align: center;"><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/03/TopoLogique.png"><img class="size-full wp-image-1002 aligncenter" title="TopoLogique" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/03/TopoLogique.png" alt="" width="286" height="320" /></a></p>
<p style="text-align: center;">Cliquez sur l&#8217;image pour l&#8217;agrandir.</p>
<p>Au final, nous obtenons un schéma relativement effrayant. Ce dernier nous a permis de nous rendre compte de la taille du réseau que nous avons projeté de mettre en place. La difficulté est, honnêtement, un facteur très motivant. Cette réflexion a été faite avec toute l&#8217;équipe réseau et avec le retour de personnes extérieures ce qui a permis de dynamiser la réflexion.</p>
<p>Dans les prochains épisodes : la spécificité de la configuration des ASA et un rebondissement inattendu ! Quel suspens !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2010/03/architecture-reseau-d%e2%80%99une-lan-party-conception/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Architecture réseau d&#8217;une LAN Party : Introduction</title>
		<link>http://www.antoinebenkemoun.fr/2010/03/architecture-reseau-dune-lan-party-introduction/</link>
		<comments>http://www.antoinebenkemoun.fr/2010/03/architecture-reseau-dune-lan-party-introduction/#comments</comments>
		<pubDate>Mon, 15 Mar 2010 15:09:22 +0000</pubDate>
		<dc:creator>Antoine</dc:creator>
				<category><![CDATA[Libre]]></category>
		<category><![CDATA[Réseau]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[Explication]]></category>

		<guid isPermaLink="false">http://www.antoinebenkemoun.fr/?p=991</guid>
		<description><![CDATA[J&#8217;avoues avoir un peu de mal à poster des billets régulièrement en ce moment. Cela s&#8217;explique en partie par une petite baisse de motivation pour le faire mais aussi la reprise des cours qui sont un peu plus nombreux que prévus.
Un autre projet qui va me prendre beaucoup de temps est l&#8217;Utt Arena. Mais qu&#8217;est [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/03/gathering.jpg"><img class="alignleft size-medium wp-image-992" title="gathering" src="http://www.antoinebenkemoun.fr/wp-content/uploads/2010/03/gathering-300x225.jpg" alt="" width="216" height="162" /></a>J&#8217;avoues avoir un peu de mal à poster des billets régulièrement en ce moment. Cela s&#8217;explique en partie par une petite baisse de motivation pour le faire mais aussi la reprise des cours qui sont un peu plus nombreux que prévus.</p>
<p>Un autre projet qui va me prendre beaucoup de temps est l&#8217;<a href="http://www.uttarena.org">Utt Arena</a>. Mais qu&#8217;est ce que l&#8217;Utt Arena me diriez-vous ? Il s&#8217;agit d&#8217;une LAN Party ou, pour faire plus &laquo;&nbsp;marketing&nbsp;&raquo;, un tournoi de jeux vidéo. Ce n&#8217;est pas la première fois que je m&#8217;investis dans ce projet car j&#8217;en avais été président en 2007 et 2008. Depuis, j&#8217;ai essentiellement aidé occasionnellement. Pour l&#8217;édition 2010, je me suis proposé avec l&#8217;aide d&#8217;un ami et d&#8217;un &laquo;&nbsp;nouveau&nbsp;&raquo; pour mettre en place et gérer la partie réseau de cette LAN.</p>
<p>Une LAN est un événement d&#8217;envergure dans lequel les joueurs ramènent chacun leur ordinateur. Le principal problème provient de ce fait. Il serait possible de croire que les joueurs ont des machines &laquo;&nbsp;de course&nbsp;&raquo; avec une installation (Windows, forcément) propre. La réalité est tout autre. Nous retrouvons les &laquo;&nbsp;versions&nbsp;&raquo; les plus exotiques de Windows remplies jusqu&#8217;aux oreilles de malware et d&#8217;applications non recommandables.</p>
<p>Lors des précédentes éditions, nous avons choisi la simplicité par manque de moyens matériels et humains. Tous les joueurs étaient disposés sur un même LAN (au sens IP du terme) avec un DHCP pour leur allouer des adresses IP automatiquement. L&#8217;inconvénient est que tous les ordinateurs pouvaient communiquer sans restriction. Dans de telles conditions, les partages de films interdits aux mineurs et la prolifération des malwares en tous genre sont optimaux.</p>
<p>De plus, il était quasiment impossible d&#8217;avoir une visibilité quelconque sur les différents flux échangés ainsi qu&#8217;une évaluation de la latence. Ah la latence, parlons-en. Les participants à une LAN ne jurent que par elle. Au dessus de 10 ms affichées par le jeu Counter-Strike, le réseau est considéré trop lent. Bien que des astuces soient possibles au niveau des serveurs de jeu afin d&#8217;optimiser l&#8217;affichage de cette latence, l&#8217;optimisation du réseau est primordiale.</p>
<p>Cette année, nous avons réussi à mettre la main sur une batterie d&#8217;équipements de sécurité robustes. Nous aurons à notre disposition 4 firewalls Cisco ASA 5510 ainsi que quelques routeurs Cisco 2800 Series. L&#8217;ajout d&#8217;intermédiaires de communication au niveau IP induira inéluctablement une latence supplémentaire. Cela nous permettra cependant de pouvoir réellement maitriser notre réseau et de bénéficier des fonctionnalités de QoS du Modular Policy Framework Cisco. Nous espérons sincèrement que cet ajout de latence sera minime au regard des avantages fournis par les fonctionnalités de ces équipements.</p>
<p>Ce billet est le premier d&#8217;une série de billets ayant pour objectif de détailler le processus de mise en place de cette architecture ainsi que des différents outils (open source, bien sur) d&#8217;évaluation des performances réseau. Elle sera clôturée par un retour d&#8217;expérience suite à l&#8217;événement qui aura lieu du 16 au 18 Avril. En attendant, je retourne éplucher les différentes documentations des ASA.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antoinebenkemoun.fr/2010/03/architecture-reseau-dune-lan-party-introduction/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
