<?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>Labo IT &#187; server</title>
	<atom:link href="http://www.laboit.net/tag/server/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.laboit.net</link>
	<description>A lot of experiences on new technologies.</description>
	<lastBuildDate>Sun, 13 Jun 2010 13:01:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Gestion des objets Active Directory</title>
		<link>http://www.laboit.net/2009/07/23/gestion-des-objets-active-directory/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=gestion-des-objets-active-directory</link>
		<comments>http://www.laboit.net/2009/07/23/gestion-des-objets-active-directory/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 12:10:55 +0000</pubDate>
		<dc:creator>Alexandre VIOT</dc:creator>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Active]]></category>
		<category><![CDATA[directory]]></category>
		<category><![CDATA[dsadd]]></category>
		<category><![CDATA[dsmod]]></category>
		<category><![CDATA[dsrm]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.laboit.net/?p=372</guid>
		<description><![CDATA[Lorsque l’on souhaite créer ou modifier un compte utilisateur Active Directory, on utilise généralement la console Active Directory Users and Computers. Cependant, une deuxième solution s’offre à nous : les outils en ligne de commande. Ces utilitaires souvent passés sous silence sont plus puissants que la console graphique. Ces outils en ligne de commande sont généralement [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Lorsque l’on souhaite créer ou modifier un compte utilisateur Active Directory, on utilise généralement la console <strong>Active Directory Users and Computers</strong>.</p>
<p style="text-align: justify;">Cependant, une deuxième solution s’offre à nous : les outils en <strong>ligne de commande</strong>. Ces utilitaires souvent passés sous silence sont plus puissants que la console graphique.</p>
<p style="text-align: justify;">Ces outils en ligne de commande sont généralement plus rapides et modulables quand ils nous sont familiers. Il est également possible de les utiliser en script, ce qui facilite l’administration.</p>
<p><span id="more-372"></span></p>
<h2>Les outils disponibles</h2>
<p style="text-align: justify;">Active Directory contient de nombreuses commandes. Nous allons nous intéresser à trois d&#8217;entre elles qui permettent de gérer des objets Active Directory :</p>
<blockquote><p>Dsadd</p>
<p>Dsmod</p>
<p>Dsrm</p></blockquote>
<h2>Le distinguished name</h2>
<p style="text-align: justify;">Ces outils utilisent le <strong>distinguished name.</strong> Il faut donc bien comprendre à quoi il correspond.</p>
<p style="text-align: justify;">Chaque objet, que cela soit un utilisateur, une OU, un ordinateur ou un groupe, est identifié par un unique chemin dans le schéma. Il s’agit du distinguished name (<strong>dn</strong>).  Il contient le <strong>nom de domaine</strong>, toutes les <strong>OU</strong> et le <strong>commun name</strong> (cn) de l’objet.</p>
<p><img class="aligncenter size-full wp-image-374" title="Schema Active Directory" src="http://www.laboit.net/wp-content/uploads/2009/07/activeDirectoryArchi.png" alt="Schema Active Directory" width="201" height="177" /></p>
<p>Pour un utilisateur Alexandre VIOT situé dans l’unité d’organisation Administrateurs, son <strong>dn</strong> sera alors :</p>
<pre class="brush: plain;">«CN=Alexandre VIOT, OU=Administrateurs, OU=Microsoft, DC=laboit, DC=lan »</pre>
<h2>Dsadd</h2>
<p>La commande dsadd permet d’<strong>ajouter</strong> un objet dans la base de données Active Directory. Il faut lui préciser son <strong>type</strong> ainsi que son <strong>dn</strong>.</p>
<p>Les différents types disponibles :</p>
<blockquote><p>Computer</p>
<p>Contact</p>
<p>Group</p>
<p>Ou</p>
<p>User</p></blockquote>
<p>Par exemple, pour créer l’OU Formation dans laboit.lan, nous utiliserons :</p>
<pre class="brush: plain;">dsadd ou « OU=Formation, DC=laboit, DC=lan »</pre>
<p>Pour créer un utilisateur:</p>
<pre class="brush: plain;">dsadd user  «CN= Alexandre VIOT,  OU=Microsoft, DC=laboit, DC=lan » -samid alexv –fn Alexandre -ln VIOT  –pwd myPassw0rd </pre>
<h2>Dsmod</h2>
<p>Dsmod permet quant à lui de <strong>modifier</strong> un objet déjà existant dans l’AD.</p>
<p>Pour ajouter un utilisateur au groupe LaboIT_Admins:</p>
<pre class="brush: plain;">dsmod group « cn=LaboIT_Admins, OU=Microsoft, DC=laboit, DC=lan »  -addmr  «CN= Alexandre VIOT,  OU=Microsoft, DC=laboit, DC=lan »</pre>
<p>Voici l’option qui permet de désactiver un compte. Cela peut vous être utile lorsque vous voulez en désactiver par script.</p>
<pre class="brush: plain;">dsmod user «CN= Alexandre VIOT,  OU=Microsoft, DC=laboit, DC=lan »   -disabled yes</pre>
<h2>Dsrm</h2>
<p>Dsrm a pour effet de <strong>supprimer</strong> l’objet de la base Active Directory.</p>
<p>Il prend juste en argument le <strong>dn</strong> de l’objet.</p>
<pre class="brush: plain;">dsrm  «CN= Alexandre VIOT,  OU=Microsoft, DC=laboit, DC=lan » </pre>
<h2>Pour aller plus loin</h2>
<p>Vous trouverez sur la page ci-dessous tous les options disponibles lors de la création / modification d’objets.</p>
<p><a href="http://technet.microsoft.com/fr-fr/library/cc731279(WS.10).aspx">http://technet.microsoft.com/fr-fr/library/cc731279(WS.10).aspx</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.laboit.net/2009/07/23/gestion-des-objets-active-directory/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installer le service DNS sur Windows Server</title>
		<link>http://www.laboit.net/2009/07/20/installer-le-service-dns-sur-windows-server/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=installer-le-service-dns-sur-windows-server</link>
		<comments>http://www.laboit.net/2009/07/20/installer-le-service-dns-sur-windows-server/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 08:41:55 +0000</pubDate>
		<dc:creator>Alexandre VIOT</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[nslookup]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[zone]]></category>

		<guid isPermaLink="false">http://www.laboit.net/?p=325</guid>
		<description><![CDATA[Nous allons nous intéresser à la résolution de noms de domaines.  Nous utiliserons pour cela le service DNS (Domain Name System) dans un environnement Windows Server. Après un rappel sur le fonctionnement de DNS, les points abordés seront l’installation et l’administration du service. J’expliquerai les différents types de zones, les redirecteurs et la délégation de [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Nous allons nous intéresser à la <strong>résolution de noms de domaines</strong>.  Nous utiliserons pour cela le service <strong>DNS</strong> (Domain Name System) dans un environnement Windows Server.</p>
<p style="text-align: justify;">Après un rappel sur le fonctionnement de DNS, les points abordés seront l’installation et l’administration du service. J’expliquerai les différents types de <strong>zones</strong>, les <strong>redirecteurs</strong> et la <strong>délégation</strong> de zone.<span id="more-325"></span></p>
<h2>Introduction à DNS</h2>
<p style="text-align: justify;">Avant de commencer toute partie pratique, nous allons revoir le fonctionnement DNS afin de bien comprendre ce que nous allons mettre en place par la suite.</p>
<h3>Pourquoi ?</h3>
<p>Les ordinateurs en réseau  ne peuvent communiquer entre eux que par des adresses IP. Une adresse IP est seulement composée de chiffre. De ce fait, il est techniquement impossible, de base, de s’échanger des données en utilisant un nom. Hors il est bien plus <strong>facile</strong> de retenir un nom plutôt qu’une suite de chiffre.</p>
<p style="text-align: justify;">Au début d’internet, on utilisait un fichier texte sur la machine qui permettait de faire la relation entre un nom et une adresse IP. Il était rempli manuellement sur chaque ordinateur.</p>
<p style="text-align: justify;">Ce fichier existe toujours sur nos nouveaux systèmes d’exploitation. Sous Windows, il se trouve dans <strong>%SystemRoot%\Windows\System32\drivers\etc\hosts</strong> et sous Linux  <strong>/etc/hosts</strong>.</p>
<p style="text-align: justify;">Cependant, avec l’explosion d’internet et la multiplication des noms de domaine il est devenu indispensable d’avoir un système qui permette de gérer dynamiquement la résolution. Ce fut l’apparition du <strong>DNS</strong> pour <strong>Domain Name System.</strong></p>
<h3>Un model hiérarchique</h3>
<p style="text-align: justify;">De par sa création, le système DNS est basé sur une structure <strong>arborescente</strong>. Cela signifie que vous pouvez décomposer un nom de domaine en plusieurs parties. Chaque partie est délimitée par un « <strong>.</strong> ». Par exemple, on peut séparer <a href="../../../../../">www.laboit.net</a> en 3 parties.</p>
<p style="text-align: justify;">La décomposition commence par la droite, et plus on va vers la gauche, plus on se rapproche de la machine cible.</p>
<p style="text-align: justify;">Pour chaque partie du nom de domaine, il existe un serveur qui est capable de nous donner l’adresse IP de la machine, ou bien de nous rediriger vers un autre serveur DNS.</p>
<p style="text-align: justify;">De plus, tous les noms de domaine dérivent d’une racine  <strong>Root</strong> symbolisé par le « . ». Ainsi, le véritable nom de Labo IT serait « <a href="../../../../../">www.laboit.net</a>. »</p>
<h3>La composition</h3>
<p>On distingue deux types de noms avec le système DNS :</p>
<blockquote><p>le <strong>nom d&#8217;hôte </strong>qui représente le nom d&#8217;une machine, généralement un serveur.</p>
<p>le <strong>FQDN</strong> (Fully Qualified Domain Name) ou <strong>nom de domaine pleinement qualifié</strong></p></blockquote>
<p style="text-align: justify;">Le FQDN est composé de deux parties : le nom d&#8217;hôte et le suffixe DNS. Le suffixe DNS défini la relation entre le domaine auquel appartiennent la machine et le domaine racine. Pour un FQDN du type  <strong>www.microsoft.laboit.net</strong>, le nom d’hôte serait  <strong>www </strong>et le suffixe serait <strong>microsoft.laboit.net</strong>.</p>
<p>Voici un schéma pour vous montrer le model hiérarchique :</p>
<p style="padding-left: 30px;"><img class="aligncenter size-full wp-image-334" title="hierarchique_dns" src="http://www.laboit.net/wp-content/uploads/2009/07/hierarchique_dns.png" alt="hierarchique_dns" width="530" height="153" /></p>
<p>A chaque niveau de la hiérarchie, il existe un serveur DNS pour chaque membre.</p>
<h3>Le processus</h3>
<p style="text-align: justify;">Pour obtenir une réponse à ses demandes, un client doit au moins avoir un serveur DNS primaire de renseigné. Pour les particuliers, il s’agit généralement de celui du fournisseur d’accès.</p>
<p>Voici le processus lorsqu’un client demande une résolution de nom :</p>
<ol>
<li style="text-align: justify;"><img class="aligncenter size-full wp-image-336" title="schema_requete_dns" src="http://www.laboit.net/wp-content/uploads/2009/07/schema_requete_dns.png" alt="schema_requete_dns" width="530" height="424" /> Dans un premier temps, le client envoie une requête à son serveur DNS primaire pour savoir l’adresse IP du <strong>FQDN</strong> <a href="../../../../../">www.laboit.net</a></li>
<li style="text-align: justify;">Si le serveur DNS a déjà le site dans son <strong>cache</strong>, il lui renvoie directement l’adresse IP. Sinon il va aller interroger d’autres serveurs.</li>
<li style="text-align: justify;">Le serveur A demande au serveur racine (<strong>B</strong>) qui s’occupe de la partie <strong>.net</strong>. Ce dernier lui répond qu’il faut demander au serveur C.</li>
<li style="text-align: justify;">Le serveur A réitère sa demande au serveur <strong>C</strong> mais cette fois, il demande l’adresse du serveur qui a autorité pour <strong>laboit.net</strong>. Le serveur <strong>C</strong> le redirige vers le serveur <strong>D</strong>.</li>
<li>Le serveur A demande au serveur  <strong>D</strong> de lui donner l’adresse IP de la machine qui a le nom d’hôte <strong>www</strong>.</li>
<li>Une fois l’adresse IP obtenue, le serveur A la renvoie au client.</li>
</ol>
<h2>Mise en place du service</h2>
<p style="text-align: justify;">Nous allons mettre en place un serveur DNS local.</p>
<h3>Pré requis</h3>
<p style="text-align: justify;">Pour le bon fonctionnement de la résolution, les clients doivent savoir où envoyer leurs requêtes. L’information est généralement délivrée par le serveur DHPC, ou bien en dur pour les clients qui ont une IP fixe.</p>
<p>C’est pour cela que notre serveur DNS doit avoir une <strong>IP statique </strong>dans notre réseau.</p>
<h3>Installation</h3>
<p>Sous Windows Server 2008, le service DNS est un rôle. On utilisera <strong>Server Manager</strong> pour l’installer.</p>
<p style="padding-left: 30px;"><img class="aligncenter size-full wp-image-338" title="installation_1" src="http://www.laboit.net/wp-content/uploads/2009/07/installation_1.PNG" alt="installation_1" width="530" height="387" /></p>
<p style="text-align: justify;">Une fois le service DNS installé, vous pouvez le configurer grâce à une console dédiée accessible dans les outils d&#8217;administration ou bien en tapant la commande <strong>dnsmgmt.msc</strong></p>
<h3>Configuration</h3>
<h3>Les serveurs racines</h3>
<p style="text-align: justify;">Lorsque vous avez installé le service sur votre machine, vous devez vérifier la présence des informations sur les <strong>serveurs DNS racine</strong>. En effet, si elles sont absentes, vous ne pourrez pas résoudre les noms de domaines extérieurs à votre réseau.</p>
<p style="text-align: justify;">Quand notre serveur reçoit une requête dont il ne connait pas la réponse, il va contacter les serveurs DNS racine pour l’obtenir.</p>
<p style="text-align: justify;">Pour accéder aux Serveur Racines, clic droit sur le serveur dans la console, puis <strong>Propriété</strong>.</p>
<p style="padding-left: 30px;"><img class="aligncenter size-full wp-image-340" title="rootserver" src="http://www.laboit.net/wp-content/uploads/2009/07/rootserver.png" alt="rootserver" width="399" height="462" /></p>
<h3>Les redirecteurs</h3>
<p style="text-align: justify;">On a vu ci dessus que lorsque notre serveur DNS ne peut pas résoudre un nom de domaine, celui-ci va en contacter un autre. Par défaut, il s’agit des serveurs racines.</p>
<p style="text-align: justify;">Un redirecteur permet de modifier ce comportement : en effet, notre serveur ne va plus demander aux  racines mais à un serveur qu’on aura précisé.</p>
<p style="text-align: justify;">Cette fonction peut vous être utile lorsque vous avez plusieurs sites ou plusieurs serveurs DNS dans votre entreprise.</p>
<p style="padding-left: 30px;"><img class="aligncenter size-full wp-image-341" title="forwarder DNS" src="http://www.laboit.net/wp-content/uploads/2009/07/forwarder.png" alt="forwarder DNS" width="397" height="462" /></p>
<h3>Utilisation des zones</h3>
<h3>Introduction</h3>
<p style="text-align: justify;">Le service est basé sur le principe de zone. Une zone contient les informations pour un et un seul nom de domaine. Pour simplifier, on peut comparer une zone DNS à un dossier. Vous pouvez avoir plusieurs zones par serveur.</p>
<p>Un client peut effectuer deux types de requête, une <strong>directe</strong> et une <strong>indirecte</strong>.</p>
<p>La requête <strong>directe</strong> est une demande de résolution simple, vous voulez connaitre l’adresse IP en fonction du nom.</p>
<p>La requête <strong>indirecte</strong> est le contraire, vous souhaitez connaitre le nom de la machine en fonction de son adresse IP.</p>
<p>Le nom de la zone pour la directe est simplement le suffixe DNS tandis que pour la zone inversée il s’agit de l’adresse IP à « <strong>l’envers </strong>» suivi de « <strong>.in-addr.arpa </strong>». Pour résoudre 192.168.1.10, il faudra créer la zone inverse  « <strong>1.168.192.in-addr.arpa ».</strong></p>
<h3>Les types d’enregistrement</h3>
<p>Voici une liste des principaux enregistrements DNS : <strong> </strong></p>
<blockquote>
<p style="padding-left: 30px;"><strong>A </strong>qui fait correspondre un nom d&#8217;hôte à une adresse IPv4.</p>
<p style="padding-left: 30px;"><strong>AAAA </strong>qui fait correspondre un nom d&#8217;hôte à une adresse IPv6</p>
<p style="padding-left: 30px;"><strong>CNAME </strong>qui permet de faire un alias vers un enregistrement <strong>A</strong>.</p>
<p style="padding-left: 30px;"><strong>MX </strong>qui définit les serveurs de messagerie.</p>
<p style="padding-left: 30px;"><strong>PTR </strong>qui associe une adresse IP à un enregistrement de nom de domaine, aussi dit « <em>reverse</em> » puisque il fait exactement le contraire du A record.</p>
<p style="padding-left: 30px;"><strong>NS </strong>qui définit les serveurs DNS de ce domaine.</p>
<p style="padding-left: 30px;"><strong>SOA </strong>donne les informations générales de la zone.</p>
<p style="padding-left: 30px;"><strong>SRV</strong> qui définit un service.</p>
</blockquote>
<p><strong> </strong></p>
<h3>Configuration d’une zone Primaire</h3>
<h3>Zone directe</h3>
<p style="text-align: justify;">La création de zone directe est simple sous Windows Server 2008. Il suffit de cliquer droit sur le conteneur de <strong>« Zone de recherche directe</strong> » puis de sélectionner « <strong>Nouvelle Zone</strong> ».</p>
<p style="text-align: justify;">Une fenêtre s’ouvre alors vous demandant le type de la zone. Sélectionnez pour le moment « <strong>Zone Primaire</strong>»</p>
<p><img class="aligncenter size-full wp-image-347" title="Type Zone DNS" src="http://www.laboit.net/wp-content/uploads/2009/07/typeZone.png" alt="Type Zone DNS" width="496" height="382" /></p>
<p style="text-align: justify;">Le serveur n’étant pour le moment pas un contrôleur de domaine, nous ne pouvons pas choisir d’intégrer la zone à Active Directory.</p>
<p style="text-align: justify;">Sur la fenêtre suivante,  spécifiez le nom de votre zone, dans notre exemple, cela sera <strong>laboit.lan</strong></p>
<p style="padding-left: 30px;"><img class="aligncenter size-full wp-image-349" title="Nom Zone DNS" src="http://www.laboit.net/wp-content/uploads/2009/07/nameZone.png" alt="Nom Zone DNS" width="498" height="382" /></p>
<p style="text-align: justify;">Par la suite, une fenêtre vous demandera si la zone doit accepter les <strong>mises à jour dynamiques</strong> sécurisées ou non sécurisées. Cette option est utile lorsque vous utilisez un plan d’adressage dynamique tel que<strong> DHCP.</strong> En effet, les machines changeront régulièrement d’IP et la résolution de nom statique n’a plus aucun intérêt. Les machines sous Windows mettront donc à jour les informations DNS les concernant.</p>
<p>Voici la signification des 3 choix possibles :</p>
<blockquote>
<p style="text-align: justify;"><strong>N&#8217;autoriser que les mises à jour dynamiques sécurisées</strong> : seuls les ordinateurs possédant un compte d&#8217;ordinateur dans Active Directory peuvent créer et mettre à jour automatiquement leurs enregistrements de ressources.</p>
<p style="text-align: justify;"><strong>Autoriser à la fois les mises à jour dynamiques sécurisées et non sécurisées</strong> : tous les ordinateurs exécutant Windows 2000/XP/2003 peuvent créer et mettre à jour leurs enregistrements de ressources. Même une machine qui n&#8217;est pas membre du domaine.</p>
<p style="text-align: justify;"><strong>Ne pas autoriser les mises à jour dynamiques</strong> : Dans ce cas, la seule façon de mettre à jour les enregistrements de ressources est d&#8217;utiliser la commande ipconfig /registerdns sur chaque machine cliente.</p>
</blockquote>
<p><img class="aligncenter size-full wp-image-350" title="Enregistrement Dynamique DNS" src="http://www.laboit.net/wp-content/uploads/2009/07/Dynamic.png" alt="Enregistrement Dynamique DNS" width="500" height="371" /></p>
<p>Cliquez sur Terminer pour créer la zone primaire.</p>
<p style="text-align: justify;">Lorsque la zone primaire a été crée, vous pouvez ajouter autant d’informations que vous souhaitez. Dans l’exemple si dessous, j’ai crée 3 enregistrements : un de type <strong>A</strong> et deux autres <strong>alias</strong>.</p>
<p style="text-align: justify; padding-left: 30px;"><img class="aligncenter size-full wp-image-352" title="Zone DNS Labo IT" src="http://www.laboit.net/wp-content/uploads/2009/07/dnsLaboIT.png" alt="Zone DNS Labo IT" width="530" height="153" /></p>
<h3>Zone indirecte</h3>
<p style="text-align: justify;">Si vous voulez avoir la possibilité de résoudre une adresse IP en nom, vous devez créer une zone de <strong>recherche inverse</strong>, ou <strong>indirecte</strong>.</p>
<p style="text-align: justify;">Le principe de création reste le même que pour la zone principale, sauf qu’on ne vous demandera pas un nom, mais une <strong>plage IP</strong>. La zone inverse contiendra des enregistrements <strong>PTR.</strong></p>
<p style="text-align: justify; padding-left: 30px;"><img class="aligncenter size-full wp-image-353" title="Plage Adresse IP DNS" src="http://www.laboit.net/wp-content/uploads/2009/07/reverseIP.png" alt="Plage Adresse IP DNS" width="496" height="383" /></p>
<p style="text-align: justify;">Voici le résultat après l’ajout d’un enregistrement de type A dans la zone directe :</p>
<p style="text-align: justify; padding-left: 30px;"><img class="aligncenter size-full wp-image-354" title="Liste zone Indirecte DNS" src="http://www.laboit.net/wp-content/uploads/2009/07/reverseList.png" alt="Liste zone Indirecte DNS" width="763" height="245" /></p>
<h3>Les zones secondaires</h3>
<p style="text-align: justify;">Lors de la création d&#8217;une zone, l&#8217;assistant vous demande son type. Il existe la zone secondaire.</p>
<p style="text-align: justify;">Une zone secondaire est utile lorsque vous avez plusieurs serveurs DNS dans votre entreprise: vous pouvez répliquer les zones primaires  pour éviter la surcharge.</p>
<p style="text-align: justify;">Pour des questions de sécurité, les zones secondaires sont seulement en lecture seule.</p>
<h3>La délégation de zone</h3>
<p style="text-align: justify;">Voici un autre point important du service DNS, <strong>la délégation</strong> de zone.</p>
<p style="text-align: justify;">Imaginons que vous ayez deux sous domaine dans votre architecture : <strong>microsoft.laboit.net</strong> et <strong>cisco.laboit.net</strong>. Pour une meilleure organisation et gestion de votre réseau, vous avez décidé d’installer un serveur DNS dans chaque zone. Le serveur DNS de <strong>laboit.lan</strong> doit donc être capable de rediriger les requêtes vers le serveur sous jacent qui a autorité sur la zone.</p>
<p style="text-align: justify; padding-left: 30px;"><img class="aligncenter size-full wp-image-356" title="Schema Delegation" src="http://www.laboit.net/wp-content/uploads/2009/07/delegation.png" alt="Schema Delegation" width="393" height="340" /></p>
<p style="text-align: justify;">La délégation s’applique sur une zone, cliquez droit sur la zone dont vous voulez déléguer, puis sélectionnez <strong>Nouvelle Délégation</strong>.</p>
<p style="text-align: justify; padding-left: 30px;"><img class="aligncenter size-full wp-image-358" title="New Delegation" src="http://www.laboit.net/wp-content/uploads/2009/07/newDele.png" alt="New Delegation" width="607" height="304" /></p>
<p style="text-align: justify;">L’assistant vous demande alors le nom du sous domaine puis l’adresse IP du serveur distant.</p>
<p style="text-align: justify; padding-left: 30px;"><img class="alignleft size-full wp-image-360" title="Nom de la delegation" src="http://www.laboit.net/wp-content/uploads/2009/07/nameDelegation.png" alt="Nom de la delegation" width="250" height="160" /></p>
<p style="text-align: justify; padding-left: 30px;"><img class="alignright size-full wp-image-361" title="Adresse IP Serveur Delegation" src="http://www.laboit.net/wp-content/uploads/2009/07/delegation_ip.png" alt="Adresse IP Serveur Delegation" width="250" height="124" /></p>
<p style="text-align: justify; padding-left: 30px;">
<p style="text-align: justify; padding-left: 30px;">
<p style="text-align: justify; padding-left: 30px;">
<p style="text-align: justify; padding-left: 30px;">
<p style="text-align: justify; padding-left: 30px;">
<p style="text-align: justify; padding-left: 30px;">
<p style="text-align: justify;">Votre délégation est désormais effective. Les domaines délégués sont grisés sur l’arborescence et contiennent l&#8217;adresse IP du serveur qui a authorité.</p>
<p style="padding-left: 30px;"><img class="aligncenter size-full wp-image-359" title="Resultat delegation" src="http://www.laboit.net/wp-content/uploads/2009/07/delegation_result.png" alt="Resultat delegation" width="530" height="192" /></p>
<h2>Conclusion</h2>
<p>Tout au long de cet article nous avons vu le fonctionnement du service DNS.</p>
<p>J’espère  que cet article a pu vous être utile.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.laboit.net/2009/07/20/installer-le-service-dns-sur-windows-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stratégie de mot de passe granulaire sous Windows Server 2008</title>
		<link>http://www.laboit.net/2009/06/12/strategie-de-mot-de-passe-granulaires-sous-windows-server-2008/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=strategie-de-mot-de-passe-granulaires-sous-windows-server-2008</link>
		<comments>http://www.laboit.net/2009/06/12/strategie-de-mot-de-passe-granulaires-sous-windows-server-2008/#comments</comments>
		<pubDate>Fri, 12 Jun 2009 11:37:46 +0000</pubDate>
		<dc:creator>Alexandre VIOT</dc:creator>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[2003]]></category>
		<category><![CDATA[2008]]></category>
		<category><![CDATA[fine]]></category>
		<category><![CDATA[gpo]]></category>
		<category><![CDATA[grained]]></category>
		<category><![CDATA[granulaire]]></category>
		<category><![CDATA[password]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[type]]></category>
		<category><![CDATA[user]]></category>

		<guid isPermaLink="false">http://www.laboit.net/?p=289</guid>
		<description><![CDATA[Si vous avez un domaine Active Directory sous Windows Server 2003, vous avez surement déjà essayé de définir plusieurs stratégies de mot de passe pour vos différents types d&#8217;utilisateurs. Pour cela, vous avez créé plusieurs stratégies de groupe et vous les avez liés aux unités d&#8217;organisation de votre domaine.  Cependant, cette solution donne toujours le [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Si vous avez un domaine Active Directory sous <strong>Windows Server 2003</strong>, vous avez surement déjà essayé de définir plusieurs stratégies de mot de passe pour vos différents types d&#8217;utilisateurs.</p>
<p style="text-align: justify;">Pour cela, vous avez créé plusieurs stratégies de groupe et vous les avez liés aux unités d&#8217;organisation de votre domaine.  Cependant, cette solution donne toujours le même résultat : seule la stratégie de mot de passe spécifiée au niveau du domaine s&#8217;applique, la <strong>Default Domain Policy</strong>.</p>
<p style="text-align: justify;">Sous Windows Server 2003, il est <strong> impossible</strong> de définir plusieurs stratégies de mot de passe pour le domaine.</p>
<p style="text-align: justify;">Heureusement,  <strong>Windows Server</strong> <strong>2008</strong> autorise désormais la création de plusieurs stratégies de mot de passe, dites granulaires. Néanmoins, elles ne pourront s&#8217;appliquer que sur des <strong>comptes utilisateurs</strong> ou de <strong>groupes de sécurité</strong> et non sur des unités d&#8217;organisation.<span id="more-289"></span></p>
<h2>Pourquoi</h2>
<p style="text-align: justify;">On peut se poser la question de pourquoi a-t-on besoin d&#8217;avoir des mots de passe différents pour le domaine.</p>
<p style="text-align: justify;">La réponse est simple : vous avez dans votre entreprise différents types d&#8217;utilisateurs et tous n&#8217;ont pas la même <strong>importance</strong>.</p>
<p style="text-align: justify;">Pour des questions de <strong>sécurité</strong>, vous aimeriez que vos administrateurs changent leur mot de passe tous les 30 jours, que la longueur soit d&#8217;au moins 12 caractères&#8230;</p>
<p style="text-align: justify;">Cependant, il est très difficile d&#8217;imposer à un utilisateur lambda la même complexité, ceux-ci seraient alors tentés d&#8217;inscrire le mot de passe sur leur bureau.</p>
<h2>Configuration</h2>
<p>L&#8217;ajout de stratégies granulaire s&#8217;effectue en <strong>3</strong> étapes :</p>
<ol>
<li>Vérification des prés requis.</li>
<li>Création de la stratégie.</li>
<li>Attribution à un groupe</li>
</ol>
<h5>Pré Requis</h5>
<p style="text-align: justify;">La stratégie de mots de passes granulaire est une chose qui n&#8217;existait pas sous Windows Server 2003, il faudra donc élever le <strong>niveau fonctionnel</strong> de votre domaine sous Server 2008. Si vous souhaitez utiliser ces stratégies, il faudra migrer tous vos contrôleurs de domaine sous Windows Server 2008.</p>
<p style="text-align: justify;">Pour augmenter le niveau fonctionnel d&#8217;un domaine,  rendez-vous dans <strong>Active Directory Domains and Trusts</strong>. Il suffit ensuite de cliquer avec le bouton droit sur votre nom de domaine et de sélectionner <strong>Augmenter le niveau fonctionnel de domaine</strong>.</p>
<p style="text-align: justify;">Dans la liste, sélectionnez Windows Server 2008 et cliquez sur Augmenter.</p>
<p style="text-align: center; padding-left: 30px;"><img class="aligncenter size-full wp-image-298" title="domainlevel" src="http://www.laboit.net/wp-content/uploads/2009/06/domainlevel.jpg" alt="domainlevel" width="530" height="378" /></p>
<h5>Création</h5>
<p style="text-align: justify;">Afin de créer et d&#8217;appliquer nos stratégies granulaires, nous allons utiliser <strong>ADSI Edit</strong> car il n&#8217;y a pas réellement d&#8217;outil dédié pour cela.</p>
<p style="text-align: justify;">Une fois que vous avez connecté la console ADSI à votre serveur, vous obtenez un arbre qui décrit les caractéristiques du domaine.</p>
<p style="text-align: justify;">Pour Windows Server 2008, les stratégies de mots de passe granulaires (<strong>Fine-grained Password</strong> en anglais) ne sont pas considérées comme des GPO mais comme des <strong>objets</strong> particuliers.</p>
<p style="text-align: justify;">Ces objets sont appelés : <strong>Password Settings Objects (PSO) </strong>et ont différents attributs qui  détermineront les mots de passe.</p>
<p style="text-align: justify;">Les PSO se situent dans l&#8217;emplacement <strong>System -&gt;</strong> <strong>Password Settings Container.</strong> Ou si vous préférez le chemin LDAP: &laquo;&nbsp;<em>CN=Password Settings Container,CN=System,DC=votre_domaine&nbsp;&raquo;</em></p>
<p style="text-align: justify; padding-left: 30px;"><em><img class="aligncenter size-full wp-image-300" title="cnpassword" src="http://www.laboit.net/wp-content/uploads/2009/06/cnpassword.jpg" alt="cnpassword" width="530" height="379" /><br />
</em></p>
<p style="text-align: justify;">Avant de créer votre premier <strong>Password Setting Object</strong>, il est important de se souvenir que ce type d&#8217;objet ne peut s&#8217;appliquer qu&#8217;à des <strong>comptes utilisateurs ou à des groupes globaux</strong>.</p>
<p style="text-align: justify;">Pour ajouter une stratégie, cliquez droit sur le conteneur <strong><em>CN=Password Settings Container</em></strong> et de sélectionner <strong>New</strong> et <strong>Object</strong></p>
<p style="text-align: justify;">L&#8217;assistant ne vous propose qu&#8217;un seul type d&#8217;objet possible : le <strong>msDS-PasswordSettings.</strong></p>
<p style="padding-left: 30px; text-align: justify;"><strong><img class="aligncenter size-full wp-image-304" title="createobject" src="http://www.laboit.net/wp-content/uploads/2009/06/createobject.jpg" alt="createobject" width="530" height="377" /><br />
</strong></p>
<p><strong> </strong></p>
<p style="text-align: justify;">Cliquez sur <strong>Next</strong> et renseignez les informations demandées pour tous les attributs de l&#8217;objet.</p>
<p>Voici les explications des attributs du PSO : <strong> </strong></p>
<blockquote>
<p style="padding-left: 30px;"><strong>cn: Common Name</strong>. Le nom de votre objet PSO. Exemple: Password Admin Labo IT<strong> </strong></p>
<p style="padding-left: 30px;"><strong>msDS-PasswordSettingsPrecedence</strong>: Un PSO peut-être lié à plusieurs utilisateurs ou groupes globaux, et un utilisateur ou un groupe peut se voir appliqué plusieurs PSOs. Pour déterminer quels sont les paramètres à utiliser, chaque PSO possède une précédence. Celle-ci permet de définir des priorités entre les PSO. C&#8217;est un nombre commence à 1. Plus la valeur est petite, plus elle est prioritaire. <strong> </strong></p>
<p style="padding-left: 30px;"><strong>msDS-PasswordReversibleEncryptionEnabled</strong>: Activer le chiffrement réversible des mots de passe. C&#8217;est une valeur booléenne (TRUE ou FALSE). Cette fonction est fortement déconseillée.</p>
<p style="padding-left: 30px;"><strong>msDS-PasswordHistoryLength</strong>: Taille de l&#8217;historique des mots de passe. Nombre entier.</p>
<p style="padding-left: 30px;"><strong>msDS-PasswordComplexityEnabled</strong>: Paramètre permettant d&#8217;activer la complexité des mots de passe. Un mot de passe est considéré comme complexe lorsqu&#8217;il combine 3 des 4 critères suivant: lettres minuscules, lettres majuscules, chiffres et caractères spéciaux. La valeur attendue est un booléen. <strong> </strong></p>
<p style="padding-left: 30px;"><strong>msDS-MinimumPasswordLength</strong>: Taille minimale du mot de passe. La valeur attendue doit un nombre entier supérieur ou égal à 0.</p>
<p style="padding-left: 30px;"><strong>msDS-MinimumPasswordAge</strong>: Durée de vie minimum d&#8217;un mot de passe. La valeur attendue est une durée exprimée sous le format <strong>j:hh:mm:ss</strong>. Exemple pour 1 jour et 8 heures, 1:08:00:00.</p>
<p style="padding-left: 30px;"><strong>msDS-MaximumPasswordAge</strong>: Durée de vie maximale du mot de passe. Force l&#8217;utilisateur a changé de mot de passe une fois la durée de vie maximale atteinte. La valeur attendue est une durée au format <strong>j:hh:mm:ss</strong>. <strong>msDS-LockoutTreshold</strong>: Seuil de verrouillage pour la stratégie de verrouillage des comptes. Cela permet de définir le nombre de tentatives possibles. La valeur attendue est un nombre entier supérieur ou égal à 0. <strong> </strong></p>
<p style="padding-left: 30px;"><strong>msDS-LockoutObservationWindow</strong>: Durée pendant laquelle un utilisateur ne peut plus tenter d&#8217;ouvrir sa session. La valeur attendue est une durée au format j:hh:mm:ss comprise entre 00:00:00:01 et la valeur du paramètre msDS-LockoutDuration.</p>
<p style="padding-left: 30px;"><strong>msDS-LockoutDuration</strong>: Durée pendant laquelle un compte utilisateur reste verrouillé s&#8217;il n&#8217;y a pas eu l&#8217;intervention d&#8217;un administrateur. La valeur attendue est une durée au format j:hh:mm:ss.</p>
</blockquote>
<p style="text-align: justify;">Une fois la configuration terminée, l&#8217;objet PSO doit apparaitre dans la liste de droite.</p>
<h5>Attribution</h5>
<p style="text-align: justify;">La dernière étape consiste à attribuer notre PSO à un <strong>compte utilisateur ou un groupe global.</strong></p>
<p style="text-align: justify;">Pour avoir une meilleure gestion des stratégies, je vous conseille d&#8217;appliquer <strong>les PSO aux groupes</strong> et non à un compte utilisateur.</p>
<p style="text-align: justify;">Pour appliquer une stratégie, cliquez droit dessus puis <strong>Propriétés</strong>. Cherchez ensuite l&#8217;attribut <strong>msDS-PSOAppliedTo</strong>, sélectionnez-le puis cliquez sur le bouton <strong>Modifier</strong>.</p>
<p>Dans la fenêtre qui apparaît cliquez sur<strong> Ajouter un Compte Windows</strong> et sélectionnez le groupe voulu.</p>
<p style="padding-left: 30px;"><img class="aligncenter size-full wp-image-309" title="msdapplyto" src="http://www.laboit.net/wp-content/uploads/2009/06/msdapplyto.jpg" alt="msdapplyto" width="530" height="379" /></p>
<p>Notre objet de mot de passe est désormais créé et appliqué sur un groupe.</p>
<h2>Conclusion</h2>
<p>Après cet article, les stratégies de mot de passes granulaires ne devraient plus avoir de secret pour vous. J&#8217;espère qu&#8217;il vous aidera à les mettre en place et à comprendre leur fonctionnement.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.laboit.net/2009/06/12/strategie-de-mot-de-passe-granulaires-sous-windows-server-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Implement a HTTP tunnel on a Linux server</title>
		<link>http://www.laboit.net/2009/05/15/implement-a-http-tunnel-on-a-linux-server/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=implement-a-http-tunnel-on-a-linux-server</link>
		<comments>http://www.laboit.net/2009/05/15/implement-a-http-tunnel-on-a-linux-server/#comments</comments>
		<pubDate>Fri, 15 May 2009 17:55:05 +0000</pubDate>
		<dc:creator>Alexandre VIOT</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[bypass]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[websense]]></category>

		<guid isPermaLink="false">http://www.laboit.net/?p=196</guid>
		<description><![CDATA[In this article, we will learn how to set up a HTTP tunnel between a PC and a Linux server with the SSH protocol to secure our transactions through a firewall or another. Before to begin any technical part, I will try to explain the operation of Port Forwarding and why implement it. To understand [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">In this article, we will learn how to set up a <strong>HTTP tunnel</strong> between a PC and a Linux server with the SSH protocol to secure our transactions through a firewall or another.</p>
<p style="text-align: left;">
<p style="text-align: justify; padding-left: 30px;">
<p style="text-align: justify;">Before to begin any technical part, I will try to explain the operation of Port Forwarding and why implement it.</p>
<p style="text-align: justify;">To understand this concept, I refresh your memories on the communication of computer:</p>
<p style="text-align: justify;">
<p style="text-align: justify;">To exchange informations, computers need an <strong>IP address</strong> and a <strong>port</strong> number. The port number is important because it&#8217;s thanks to it that the communication exists. Client and server have to communicate on the same port number.</p>
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">Now, we decrypt the <strong>Port Forwarding</strong>. The Port Forwarding consist of redirect informations sent on a port number of a computer to a different port number on another computer.</p>
<p style="text-align: justify; padding-left: 30px;"><span id="more-196"></span></p>
<p style="text-align: justify;">A picture to better understand this redirection:</p>
<p style="text-align: justify; padding-left: 30px;"><img class="aligncenter size-full wp-image-106" title="translation2" src="http://www.laboit.net/wp-content/uploads/2009/04/translation2.png" alt="translation2" width="553" height="133" /></p>
<p style="text-align: center;">
<p style="text-align: left;">
<p style="text-align: justify; padding-left: 30px;">
<p style="text-align: justify; padding-left: 30px;">
<p style="text-align: justify;">In this example, the number port 6000 of client will be encapsulated on port 22. When the request arrives on the server on the port 22, it will be decapsulated et sent on 80.</p>
<p style="text-align: justify;">To simplify, the Port Forwarding swap the port number of communication.</p>
<p style="text-align: justify; padding-left: 30px;">
<p style="text-align: justify; padding-left: 30px;">
<h2 style="text-align: left;">Why implement it</h2>
<p style="text-align: justify; padding-left: 30px;">
<p style="text-align: justify; padding-left: 30px;">
<p style="text-align: justify;">We can ask the question of why implement it. <strong>Port forwarding</strong> with SSH is used when you want<strong> secure</strong> an communication between two computers.</p>
<p style="text-align: justify;">Maybe you have a firewall in your company which allows only the port number 22 and you want to access the internal FTP server. Or a filter on your HTTP requests (Websense, SurfControl) and you want bypass it. Bu avoid this control remains under your responsibility.</p>
<p style="text-align: justify;">How informations communicate , with and without Port Forwarding?</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-107" title="schemahttptunneling1" src="http://www.laboit.net/wp-content/uploads/2009/04/schemahttptunneling1.png" alt="schemahttptunneling1" width="553" height="248" /></p>
<p style="text-align: left;">
<p style="text-align: left;"><strong>Explication</strong>:</p>
<p style="text-align: justify; padding-left: 30px;">
<p style="text-align: justify;">The <strong><span style="color: #000080;">Blue path (1)</span></strong> is the communication in a normal situation. When you request a web page, your request is filtered by the firewall and redirected to Internet. If the website is in the blacklist, then access will be denied.</p>
<p style="text-align: justify;">
<p style="text-align: justify;">The <strong><span style="color: #ff0000;">Red path (2)</span></strong> is the communication with <strong>Port Forwarding</strong>.Your internet request is encapsulated in a secure tunnel and sent to your remote server.</p>
<p style="text-align: justify;">
<p style="text-align: justify;">When you encrypt your transaction between your PC and the server, it means that the firewall can&#8217;t inspect your request.</p>
<p style="text-align: justify;">Once the remote server has received your request, it will go for you on internet and download the web page. Everything in a <strong>secure connection</strong>.</p>
<p style="text-align: justify;"><strong> </strong></p>
<p style="text-align: justify;"><strong>Result:</strong> Secure exchange between two hosts, unable to inspect the content.</p>
<h2 style="text-align: left;">How implement it</h2>
<p style="text-align: justify;">I used for this article a Debian distribution, but this solution works also on Mandriva.</p>
<p style="text-align: justify;">We need :</p>
<p style="text-align: justify; padding-left: 60px;">- A<strong> Linux </strong>server</p>
<p style="text-align: left; padding-left: 60px;">- A client on Microsoft <strong>Windows</strong></p>
<p style="text-align: left; padding-left: 60px;">-  <strong>Putty</strong></p>
<p style="text-align: left;">The server configuration is divided into <strong>4</strong> steps.</p>
<ol>
<li> OpenSSH Installation.</li>
<li>Certificates for SSH.</li>
<li>Configuration of file SSH.</li>
<li>User creation.</li>
</ol>
<p style="text-align: left;">And for client configuration into<strong> 2</strong> steps.</p>
<ol>
<li>Configuration of Putty.</li>
<li>Configuration of your browser.</li>
</ol>
<h2 style="text-align: left;">Server Configuration</h2>
<h5 style="text-align: left;">OpenSSH Installation</h5>
<p style="text-align: justify; padding-left: 30px;">
<p style="text-align: justify;">Port Forwarding is based on the SSH protocol. So the first step is to install <strong>OpenSSH</strong>.</p>
<pre class="brush: bash;">apt-get install openssh-server</pre>
<p style="text-align: left; padding-left: 30px;"><strong> </strong></p>
<p style="text-align: left;"><strong>Note:</strong> Don&#8217;t forget to update your sources with:</p>
<pre class="brush: bash;">apt-get update</pre>
<h5 style="text-align: left;">Generating certificates for SSH</h5>
<p style="text-align: left;">Once you have installed the service SSH, you must have <strong>certificates</strong> to validate the connection.</p>
<p style="text-align: left;">A certificate contains a private key and public key which allow you to encrypt your communications.</p>
<p style="text-align: justify;">During the installation, it is possible that generation of certificates were done automatically. For more security, we are going to recreate them.</p>
<p style="text-align: justify;">
<p style="text-align: left;">To create certificates:</p>
<p style="text-align: left;">
<pre class="brush: bash;">ssh-keygen -t dsa -b 1024</pre>
<p style="text-align: left;">
<pre class="brush: bash;">ssh-keygen -t rsa -b 1024</pre>
<p style="text-align: justify;">The system asks you to specify the path et name for your certificates. I advise you to put them in <strong>/etc/ssh</strong></p>
<h5 style="text-align: left;">Configuration of file SSH</h5>
<p style="text-align: justify;">The next step is the modification of  configuration file of SSH to accepts tunnels and modify certificate&#8217;s paths.</p>
<p style="text-align: justify;">You linux server can also connect to another remote server in SSH. It will be client.</p>
<p style="text-align: justify;">This is why there are two configurations for SSH files: a file named <strong>ssh_config</strong> for the client connection and a <strong>sshd_config</strong> file which allows us to configure our SSH server.</p>
<p style="text-align: left;">We modify the file <strong>sshd_config</strong></p>
<p style="text-align: left;">
<pre class="brush: bash;">vi /etc/ssh/sshd_config</pre>
<p style="text-align: justify;">In first time, we specify new certificate&#8217;s path.</p>
<p style="text-align: left;">To do this, modify lines which contain <strong>HostKey</strong>:</p>
<pre class="brush: bash;"># HostKeys for protocol version 2
HostKey /etc/ssh/certifLaboIT
HostKey /etc/ssh/certifLaboITdsa
</pre>
<p style="text-align: justify;">To allow<strong> SSH tunneling</strong>,  add this command at the end of the file:</p>
<pre class="brush: bash;">#Permit Tunnel
PermitTunnel yes
</pre>
<p style="text-align: left;">It is possible to change the listening port of the server. In case of the port number 22 is blocked by your firewall.</p>
<div id="result_box" style="text-align: left;" dir="ltr">This requires changing the line containing the word:</div>
<pre class="brush: bash;">#What ports, IPs and protocols we listen
Port 22
</pre>
<p style="text-align: justify;">Quit Vim editor and don&#8217;t forget to save your modifications.</p>
<p style="text-align: left;">SSH configuration is now complete.</p>
<p style="text-align: left;">We need to <strong>restart the service</strong> with command:</p>
<pre class="brush: bash;">/etc/init.d/ssh restart</pre>
<h5 style="text-align: left;">User creation</h5>
<p style="text-align: justify;">To avoid login with root account, we create a new user:</p>
<pre class="brush: bash;">useradd LaboIT</pre>
<pre class="brush: bash;">passwd LaboIT</pre>
<p style="text-align: justify;">Server configuration is now complete.</p>
<p style="text-align: justify; padding-left: 30px;">
<h2 style="text-align: left;">Client Configuration</h2>
<p style="text-align: left;">It is important to understand what we are going to do.</p>
<p style="text-align: justify; padding-left: 30px;">
<div id="result_box" style="text-align: justify;" dir="ltr">As a first step we will configure Putty to listen on an<strong> unused</strong> port (example 9999) then we will open an SSH connection to the server. This will create the port forwarding.</div>
<div id="result_box" style="text-align: left;" dir="ltr">In a second step, we specify on our web browser to send all requests to this new port.</div>
<p style="text-align: justify;">
<p style="text-align: justify;">All client requests will be encapsulated in a tunnel by Putty dynamically to use the <strong><span style="color: #ff0000;">red path (2)</span></strong>.</p>
<h5 style="text-align: left;">Configuration of Putty</h5>
<p style="text-align: left;">You can download Putty at this address: <a onclick="javascript:pageTracker._trackPageview('/outbound/article/www.chiark.greenend.org.uk');" href="http://www.chiark.greenend.org.uk/%7Esgtatham/putty/download.html">http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html</a></p>
<p style="text-align: left;">The configuration of the PuTTY executable will be in 2 steps:</p>
<ol>
<li>
<div id="result_box" style="text-align: left;" dir="ltr">Information of the server&#8217;s IP address and its listening port.</div>
</li>
<li>
<div id="result_box" style="text-align: left;" dir="ltr">Creation on the client of a new dynamic port.</div>
</li>
</ol>
<p style="text-align: left; padding-left: 30px;">
<p style="text-align: left;">For the first step, we will fill in the connection information:</p>
<p style="text-align: left; padding-left: 30px;"><img class="aligncenter size-full wp-image-111" title="putty1" src="http://www.laboit.net/wp-content/uploads/2009/04/putty1.png" alt="putty1" width="400" height="384" /></p>
<p style="text-align: center;">
<p style="text-align: left;">
<p style="text-align: justify;">Specify the <strong>IP address</strong> or <strong>FQDN</strong> of the server in the <span style="color: #ff0000;">red box</span>. And then in the <span style="color: #ffff00;">yellow box</span> specify the port is in your configuration <strong>sshd_config</strong> file</p>
<p style="text-align: left;">Second step, creation of new port:</p>
<p style="text-align: left; padding-left: 30px;"><img class="aligncenter size-full wp-image-112" title="putty2" src="http://www.laboit.net/wp-content/uploads/2009/04/putty2.png" alt="putty2" width="400" height="383" /></p>
<p style="text-align: center;">
<p style="text-align: left; padding-left: 30px;">
<p style="text-align: left;">To create a dynamic, port verify that the <strong>dynamic</strong> option is selected and then in the field source port enter <strong>9999</strong>. Once this done, click <strong>Add</strong> to add to the <strong>ports forwarded</strong>.</p>
<p style="text-align: left;">To open the connection to the remote server, click <strong>Open</strong>.</p>
<p style="text-align: left; padding-left: 30px;">
<p style="text-align: left;">
<h5 style="text-align: left;">Configuration of your browser.</h5>
<div id="result_box" style="text-align: left;" dir="ltr">This is the last step, which is the more easier.</div>
<p style="text-align: justify; padding-left: 30px;">
<p style="text-align: justify;">You must specify your favorite browser where it should exit. Indeed, it should not use the<span style="color: #0000ff;"> <strong><span style="color: #000080;">blue path (1)</span></strong></span><strong> </strong>but the <strong><span style="color: #ff0000;">Red (2)</span></strong>.</p>
<p style="text-align: left; padding-left: 30px;">
<div id="result_box" style="text-align: left;" dir="ltr">We need change address of <strong>Host SOCKS</strong>. This information is generally in the connection settings.</div>
<p style="text-align: left; padding-left: 30px;">
<p style="text-align: left;">For the connection host address specify <strong>127.0.0.1</strong>, which is your PC. And in port, you must specify <strong>9999</strong>, that was informed earlier.</p>
<p style="text-align: left; padding-left: 30px;"><img class="aligncenter size-full wp-image-113" title="proxyconfig" src="http://www.laboit.net/wp-content/uploads/2009/04/proxyconfig.png" alt="proxyconfig" width="400" height="220" /></p>
<p style="text-align: left;">
<p style="text-align: left;">You just have to accept the changes and go to your favorite pages.</p>
<p style="text-align: left;">Remember that if your company has set up a filter is for a good reason. So do not overuse. You are solely responsible for your actions.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.laboit.net/2009/05/15/implement-a-http-tunnel-on-a-linux-server/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mettre en place un tunnel HTTP</title>
		<link>http://www.laboit.net/2009/04/29/mettre-en-place-un-tunnel-http/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=mettre-en-place-un-tunnel-http</link>
		<comments>http://www.laboit.net/2009/04/29/mettre-en-place-un-tunnel-http/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 13:20:04 +0000</pubDate>
		<dc:creator>Alexandre VIOT</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[forwarding]]></category>
		<category><![CDATA[port]]></category>
		<category><![CDATA[putty]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[serveur]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[websense]]></category>

		<guid isPermaLink="false">http://www.laboit.net/?p=105</guid>
		<description><![CDATA[Dans cet article, nous allons mettre en place un tunnel HTTP entre un client et un serveur Linux grâce au service SSH afin de sécuriser nos transactions à travers un pare-feu ou autre. Avant de commencer toute partie technique, je vais essayer de vous expliquer le fonctionnement du Port Forwarding et pourquoi le mettre en [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><span lang="fr">Dans cet article, nous allons mettre en place un <strong>tunnel HTTP</strong> entre un client et un serveur Linux grâce au service SSH afin de sécuriser nos transactions à travers un pare-feu ou autre.</span></p>
<p style="text-align: justify;">Avant de commencer toute partie technique, je vais essayer de vous expliquer le fonctionnement du <strong>Port Forwarding</strong> et pourquoi le mettre en place.</p>
<p style="text-align: justify;">Pour bien comprendre cette notion, un petit rappel sur le mode de communication entre les ordinateurs est peut être nécessaire:</p>
<p style="text-align: justify;">Afin de s’échanger des informations, les ordinateurs ont besoin d’une <strong>adresse IP</strong> ainsi que d’un <strong>numéro de port</strong>.  Le numéro de port est très important car c’est grâce à lui que la communication va pouvoir se faire. Le client et le serveur doivent communiquer sur le même numéro de port pour s’entendre.</p>
<p style="text-align: justify;">Prenons  un exemple de la vie quotidienne : si vous décidez de rendre visite à une personne dans un immeuble, vous avez son adresse postale (<strong>Adresse IP</strong>) et son numéro d’appartement (<strong>Port</strong>). Si vous vous trompez de numéro d’appartement, la communication ne pourra pas se faire.</p>
<p style="text-align: justify;">Déchiffrons maintenant le terme de <strong>Port Forwarding </strong>ou <strong>Redirection de Port </strong>en français. Le <strong>Port Forwarding</strong> consiste à rediriger les informations envoyées sur un port  d’un ordinateur vers un port différent de l’ordinateur distant.</p>
<p style="text-align: justify; padding-left: 30px;"><span id="more-105"></span></p>
<p style="text-align: justify;">Une image pour mieux comprendre cette redirection :</p>
<p style="text-align: justify; padding-left: 30px;"><img class="aligncenter size-full wp-image-106" title="translation2" src="http://www.laboit.net/wp-content/uploads/2009/04/translation2.png" alt="translation2" width="553" height="133" /></p>
<p style="text-align: center;">
<p style="text-align: left;">
<p style="text-align: justify; padding-left: 30px;">
<p style="text-align: justify;">Dans cet exemple, le port 6000 du client sera <strong>encapsulé</strong> sur le port 22. Lorsque la requête arrivera sur le serveur via le port 22, elle sera <strong>décapsulée</strong> et envoyées sur le port 80.</p>
<p style="text-align: justify;">Pour simplifier, le port Forwarding consiste à échanger le port de communication via un autre port.</p>
<h2 style="text-align: left;">Pourquoi le mettre en place</h2>
<p style="text-align: justify;">On peut se poser la question de pourquoi le mettre en place. Le <strong>Port Forwading</strong> avec SSH est utile lorsque vous voulez une <strong>sécuriser</strong> communication entre deux ordinateurs.</p>
<p style="text-align: justify;">Vous avez peut être dans votre entreprise un pare-feu qui n’autorise que le port 22 et vous devez accédez au serveur FTP interne de la société. Ou  tout simplement un filtrage de vos requêtes HTTP (Websense, SurfControl) et vous voulez le contourner, mais esquiver ce contrôle reste sous votre entière responsabilité.</p>
<p style="text-align: justify;">Comment communiquent les informations, avec et sans Port Forwarding ?</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-107" title="schemahttptunneling1" src="http://www.laboit.net/wp-content/uploads/2009/04/schemahttptunneling1.png" alt="schemahttptunneling1" width="553" height="248" /></p>
<p style="text-align: left;">
<p style="text-align: left;"><strong>Explication</strong>,</p>
<p style="text-align: justify;">Le <strong><span style="color: #000080;" lang="en">chemin bleu (1)</span> </strong>est la communication en temps normal. Lorsque vous demandez une page, votre requête est filtrée par le pare-feu puis redirigé vers internet. Si le site est dans la blacklist, alors l’accès vous sera refusé.</p>
<p style="text-align: justify;">Le <span style="color: #ff0000;" lang="en"><strong>chemin rouge (2)</strong></span> est la communication par la <strong>redirection de port</strong>. Votre demande internet est encapsulée dans un tunnel  complètement <strong>sécurisé</strong> puis est envoyée sur votre serveur distant.</p>
<p style="text-align: justify;">Le fait de chiffrer<strong> </strong>la transaction entre votre pc et le serveur signifie que le firewall <strong>ne pourra pas filtrer</strong> votre demande.</p>
<p style="text-align: justify;">Une fois que le serveur distant a reçu votre requête,  il va aller à votre place chercher sur internet la page web et vous la renvoyer en <strong>connexion sécurisée</strong>.</p>
<p style="text-align: justify;"><strong>Résultat</strong> <img src='http://www.laboit.net/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> es échanges sécurisés entre les deux hôtes, impossible de lire le contenu.</p>
<h2 style="text-align: left;">Comment mettre en place</h2>
<p style="text-align: justify;">J’ai utilisé pour rédiger cet article une distribution Debian, mais cette solution a également été testée sous une distribution Mandriva.</p>
<p style="text-align: justify;">Voici les équipements nécessaires :</p>
<p style="text-align: justify; padding-left: 60px;">- Un serveur<strong> Linux</strong></p>
<p style="text-align: left; padding-left: 60px;">- Un client sous Microsoft <strong>Windows</strong></p>
<p style="text-align: left; padding-left: 60px;">- L’utilitaire <strong>Putty</strong></p>
<p style="text-align: left;">La configuration du serveur se décompose en <strong>4</strong> étapes :</p>
<ol>
<li>Installation d’OpenSSH</li>
<li>Génération des certificats pour SSH</li>
<li>Configuration du fichier</li>
<li>Création d’un utilisateur</li>
</ol>
<p style="text-align: left;">Et la configuration du client en <strong>2</strong> étapes.</p>
<ol>
<li>Configuration de l’utilitaire Putty</li>
<li>Configuration du navigateur Internet</li>
</ol>
<h2 style="text-align: left;">Configuration du serveur</h2>
<h5 style="text-align: left;">Installation d’OpenSSH</h5>
<p style="text-align: justify;">La redirection de port étant basée sur le protocole SSH, la première chose à faire est d’installer l’utilitaire <strong>Openssh</strong>.</p>
<pre class="brush: bash;">apt-get install openssh-server</pre>
<p style="text-align: left;"><strong>Note </strong>: N’oubliez pas mettre à jour vos dépôts avec la commande :</p>
<pre class="brush: bash;">apt-get update</pre>
<h5 style="text-align: left;">Génération des certificats pour SSH</h5>
<p style="text-align: left;">Une fois le service installé, il est nécessaire d’avoir des <strong>certificats </strong>pour la connexion soit valide<strong>.</strong></p>
<p style="text-align: left;">Un certificat contient une clef privée et une clef publique qui vont vous permettre de chiffrer vos communications.</p>
<p style="text-align: justify;">Lors de l’installation, il est possible que la génération des certificats se soient fait automatiquement. Mais pour plus de sécurité nous allons en recréer.</p>
<p style="text-align: justify;">Nous allons générer deux types de certificats, un <strong>DSA </strong>et un <strong>RSA, </strong>qui sont deux algorithmes de chiffrement. Ils seront générés grâce à l’utilitaire <strong>ssh-keygen</strong>.</p>
<p style="text-align: left;">Pour créer les certificats :</p>
<pre class="brush: bash;">ssh-keygen -t dsa -b 1024</pre>
<pre class="brush: bash;">ssh-keygen -t rsa -b 1024</pre>
<p style="text-align: justify;">Le système vous demande ensuite de préciser le chemin et le nom pour les certificats. Je vous conseille de les mettre dans <strong>/etc/ssh</strong></p>
<h5 style="text-align: left;">Configuration du fichier SSH</h5>
<p style="text-align: justify;">Maintenant que le service est installé et que les certificats sont créés, il faut modifier le fichier de configuration de ssh pour accepter les tunnels et modifier le chemin des certificats.</p>
<p style="text-align: justify;">Il ne faut pas oublier que notre serveur peut également se connecter sur une machine distante en SSH. Il sera donc client à son tour.</p>
<p style="text-align: justify;">C’est pour cela qu’il existe deux fichiers de configurations pour SSH : un fichier nommé <strong>ssh_config</strong> pour la connexion cliente et un fichier <strong>sshd_config</strong> qui va nous permettre de configurer notre serveur SSH.</p>
<p style="text-align: left;">Nous modifions donc le fichier <strong>sshd_config</strong></p>
<pre class="brush: bash;">vi /etc/ssh/sshd_config</pre>
<p style="text-align: justify;">Dans un premier temps, nous allons spécifier les nouveaux certificats que nous venons de créer.</p>
<p style="text-align: left;">Pour cela modifier les lignes qui contiennent <strong>HostKey </strong>en précisant vos certificats.</p>
<pre class="brush: bash;"># HostKeys for protocol version 2
HostKey /etc/ssh/certifLaboIT
HostKey /etc/ssh/certifLaboITdsa
</pre>
<p style="text-align: justify;">Pour autoriser SSH à faire du <strong>Tunneling</strong>, rajouter cette commande à la fin du fichier :</p>
<pre class="brush: bash;">#Permit Tunnel
PermitTunnel yes
</pre>
<p style="text-align: left;">Il est également possible de changer le port d’écoute du serveur. Au cas où le port 22 serait bloqué par un pare-feu.</p>
<p style="text-align: left;">Il faut pour cela modifier la ligne contenant le mot :</p>
<pre class="brush: bash;">#What ports, IPs and protocols we listen
Port 22
</pre>
<p style="text-align: justify;">Quittez l’éditeur Vim en n’oubliant pas de sauvegarder vos modifications.</p>
<p style="text-align: left;">La configuration de SSH est désormais terminée.</p>
<p style="text-align: left;">Il ne reste plus qu’à <strong>redémarrer le service</strong> avec  la commande:</p>
<pre class="brush: bash;">/etc/init.d/ssh restart</pre>
<h5 style="text-align: left;">Création d’un utilisateur</h5>
<p style="text-align: justify;">Pour éviter de se connecter avec le compte root sur le serveur, nous allons créer un autre utilisateur.</p>
<pre class="brush: bash;">useradd LaboIT</pre>
<pre class="brush: bash;">passwd LaboIT</pre>
<p style="text-align: justify;">La configuration du serveur est désormais terminée. Nous pouvons maintenant passer à celle du client.</p>
<h2 style="text-align: left;">Configuration du Client</h2>
<p style="text-align: left;">Il faut bien comprendre ce que nous allons faire par la suite.</p>
<p style="text-align: justify;">Dans un premier temps, nous allons configurer Putty pour qu’il écoute sur un port <strong>non utilisé</strong> (par exemple le 9999) puis nous allons ouvrir une connexion SSH vers le serveur. Cela va créer le port Forwarding.</p>
<p style="text-align: justify;">Dans un second temps, nous spécifierons à notre navigateur web d’envoyer toutes nos requêtes vers ce nouveau port.</p>
<p style="text-align: justify;">Toutes les requêtes du client seront donc <strong>encapsulées</strong> <strong>dans un tunnel</strong> par Putty dynamiquement pour passer par le <span style="color: #ff0000;" lang="en"><strong>chemin rouge (2)</strong></span> vu plus haut.</p>
<h5 style="text-align: left;">Configuration de l’utilitaire Putty</h5>
<p style="text-align: left;">Vous pouvez télécharger Putty à cette adresse : <a onclick="javascript:pageTracker._trackPageview('/outbound/article/www.chiark.greenend.org.uk');" href="http://www.chiark.greenend.org.uk/%7Esgtatham/putty/download.html">http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html</a></p>
<p style="text-align: left;">La configuration de l’exécutable Putty se fera en 2 étapes :</p>
<ol>
<li>Renseignement de l’adresse IP du serveur et de son port d’écoute.</li>
<li>Création sur le client d’un nouveau port dynamique.</li>
</ol>
<p style="text-align: left;">Pour la première étape, nous allons renseigner les informations de connexion :</p>
<p style="text-align: left; padding-left: 30px;"><img class="aligncenter size-full wp-image-111" title="putty1" src="http://www.laboit.net/wp-content/uploads/2009/04/putty1.png" alt="putty1" width="400" height="384" /></p>
<p style="text-align: center;">
<p style="text-align: left;">
<p style="text-align: justify;">Spécifiez dans la case rouge l’<strong>adresse IP</strong> ou le <strong>FQDN</strong> du serveur. Puis dans la case jaune, indiquez le port qui se trouve dans votre fichier de configuration <strong>sshd_config</strong></p>
<p style="text-align: left;">Deuxième étape, Création du nouveau port :</p>
<p style="text-align: left; padding-left: 30px;"><img class="aligncenter size-full wp-image-112" title="putty2" src="http://www.laboit.net/wp-content/uploads/2009/04/putty2.png" alt="putty2" width="400" height="383" /></p>
<p style="text-align: center;">
<p style="text-align: left;">Pour créer un port dynamique, vérifiez que l’option <strong>Dynamic</strong> soit sélectionnée puis dans le champ <span style="color: #ff0000;" lang="en"><strong>Source port</strong></span> indiquez <strong>9999</strong>. Une fois ceci fait, cliquez sur <strong>Add </strong>pour l’ajouter dans les <strong>Forwarded Ports</strong>.</p>
<p style="text-align: left;">Pour ouvrir la connexion au serveur distant,  cliquez sur le bouton <strong>Open</strong>.</p>
<p style="text-align: left;">Bien sur, vous devez spécifier un couple <strong>utilisateur/password</strong> valide lors de la connexion au serveur.</p>
<h5 style="text-align: left;">Configuration du navigateur Internet</h5>
<p style="text-align: left;">Voici la dernière étape, qui de plus, est la plus facile.</p>
<p style="text-align: justify;">Vous devez indiquer à votre navigateur web préféré par où il doit sortir. En effet, il ne doit plus utiliser  le<span style="color: #000080;" lang="en"> <strong>chemin bleu (1)</strong></span> mais le <span style="color: #ff0000;" lang="en"><strong>rouge (2)</strong></span>.</p>
<p style="text-align: left;">Il faut que l’on change l’adresse de <strong>Hote SOCKS</strong>. Cette information est généralement dans les paramètres de connexion.</p>
<p style="text-align: left;">Pour l’adresse de connexion hôte, spécifiez <strong>127.0.0.1</strong>, c’est votre PC. Et en port, vous devez indiquez <strong>9999</strong>, celui qu’on a renseigné plus haut.</p>
<p style="text-align: left; padding-left: 30px;"><img class="aligncenter size-full wp-image-113" title="proxyconfig" src="http://www.laboit.net/wp-content/uploads/2009/04/proxyconfig.png" alt="proxyconfig" width="400" height="220" /></p>
<p style="text-align: left;">
<p style="text-align: left;">Vous n’avez plus qu’à valider les changements et de vous rendre sur vos sites favoris.</p>
<p style="text-align: left;">N’oubliez pas que si votre entreprise a mis en place un filtrage, c’est pour une bonne raison. Donc n’en abusez pas. Vous êtes le seul responsable de vos actes</p>
]]></content:encoded>
			<wfw:commentRss>http://www.laboit.net/2009/04/29/mettre-en-place-un-tunnel-http/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to set up a DHCP server on Cisco routers</title>
		<link>http://www.laboit.net/2009/04/21/how-to-set-up-a-dhcp-server-on-cisco-routers/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=how-to-set-up-a-dhcp-server-on-cisco-routers</link>
		<comments>http://www.laboit.net/2009/04/21/how-to-set-up-a-dhcp-server-on-cisco-routers/#comments</comments>
		<pubDate>Tue, 21 Apr 2009 18:16:15 +0000</pubDate>
		<dc:creator>Alexandre VIOT</dc:creator>
				<category><![CDATA[Cisco]]></category>
		<category><![CDATA[dhcp]]></category>
		<category><![CDATA[IOS]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://www.laboit.net/?p=67</guid>
		<description><![CDATA[For this first article, we will see how to set up a DHCP service on Cisco routers. DHCP Service (Dynamic Host Configuration Protocol)  allows users to obtain IP configuration automatically. The DHCP  service is often coupled with DNS service on a dedicated server. However, it is possible to activate it on a router for a [...]]]></description>
			<content:encoded><![CDATA[<p>For this first article, we will see how to set up a DHCP service on Cisco routers.</p>
<p>DHCP Service (Dynamic Host Configuration Protocol)  allows users to obtain IP configuration automatically.</p>
<p>The DHCP  service is often coupled with DNS service on a dedicated server. However, it is possible to activate it on a router for a small network.</p>
<p>An configuration has an IP address, its subnet mask and others options. Forty of them are configurable such as the default gateway, DNS servers, domain name and WINS server.</p>
<p>A client has a configuration during a specified time, we call it: <strong>the</strong> <strong>lease</strong>.</p>
<p><span style="text-decoration: underline;">Note</span> : DHCP uses broadcast to communicate,  which means that the client&#8217;s request can&#8217;t cross a router (except explicit command).</p>
<p style="padding-left: 30px;"><span id="more-67"></span></p>
<p><strong>Configuration</strong></p>
<p>This is the network for the test:</p>
<p style="padding-left: 30px;">
<p style="padding-left: 30px;">
<p style="padding-left: 30px; text-align: center;"><img class="size-full wp-image-38 aligncenter" style="border: 0pt none; margin-top: 0px; margin-bottom: 0px;" title="Reseau Labo" src="http://www.laboit.net/wp-content/uploads/2009/04/schema11.png" alt="schema11" width="553" height="390" /></p>
<p style="padding-left: 30px;">
<p>Configuring the DHPC service in <strong>4</strong> steps :</p>
<ol style="padding-left: 60px;">
<li>Creating a DHCP pool.</li>
<li>Indicating a network.</li>
<li>Settings options of pool.</li>
<li>IP Exclusions</li>
</ol>
<p><strong>Step 1 :Creating a DHCP pool<br />
</strong></p>
<p>The first step is to create a DHPC pool on the router. One pool includes addresses which will be distribute and its options.</p>
<p>To activate a pool on the router, in configuration mode:</p>
<pre class="brush: plain;">ip dhcp pool pool_name</pre>
<p style="text-align: center;"><img class="size-full wp-image-40 aligncenter" style="border: 0pt none; margin-top: 0px; margin-bottom: 0px;" title="pooldhcp" src="http://www.laboit.net/wp-content/uploads/2009/04/pooldhcp.png" alt="pooldhcp" width="507" height="30" /></p>
<p>Once this done, we are in dhcp configuration mode.</p>
<p>It is possible to create several pool on the same router.</p>
<p><strong>Step 2 : Indicating a network.</strong></p>
<p>In dhcp configuration mode, to specify the network we use the command:</p>
<pre class="brush: plain;">network ip_address mask</pre>
<p style="text-align: center;"><img class="size-full wp-image-41 aligncenter" style="border: 0pt none; margin-top: 0px; margin-bottom: 0px;" title="network" src="http://www.laboit.net/wp-content/uploads/2009/04/network.png" alt="network" width="454" height="30" /></p>
<p>In this example, the service assigns ip addresses between <span style="color: #888888;">192.168.20.1</span> and <span style="color: #888888;">192.168.20.254</span></p>
<p><strong>Step 3 :Settings options of pool.</strong></p>
<p>We will specify <strong>4</strong> options : the default gateway, DNS server, the domain name et the lease.</p>
<p>To specify the default gateway, we use the option:</p>
<pre class="brush: plain;">default-router ip_gateway</pre>
<p><span style="color: #888888;"><span style="color: #000000;">To indicate DNS server:</span></span></p>
<pre class="brush: plain;">dns-server ip_server_DNS</pre>
<p>The domain name is specified with:</p>
<pre class="brush: plain;">domain-name domain_name</pre>
<p>To configure  time of the lease : <strong> </strong></p>
<pre class="brush: plain;">lease day hour minute</pre>
<p>The option <strong><em>lease infinite</em></strong> permits to define a infinite lease.</p>
<p style="padding-left: 30px; text-align: center;"><img class="size-full wp-image-52 aligncenter" style="border: 0pt none; margin-top: 0px; margin-bottom: 0px;" title="DHCP Options" src="http://www.laboit.net/wp-content/uploads/2009/04/dhcpoptions.png" alt="DHCP Options" width="490" height="84" /></p>
<p style="padding-left: 30px;">
<p><strong>Step 4 : IP Exclusions</strong></p>
<p>Once we have configured one or more pool DHCP on the server, we must define  ip addresses which will not use. To avoid conflicts with statics addresses.</p>
<p>How forbid the server to distribute router&#8217;s ip?</p>
<p>We use this command:</p>
<pre class="brush: plain;">ip dhcp excluded-address ip_forbidden</pre>
<p style="padding-left: 30px; text-align: center;"><img class="size-full wp-image-58 aligncenter" style="border: 0pt none; margin-top: 0px; margin-bottom: 0px;" title="DHCP excluded Address" src="http://www.laboit.net/wp-content/uploads/2009/04/dhcpexcluded.png" alt="DHCP excluded Address" width="493" height="22" /></p>
<p><strong>3) </strong><strong>DHCP Server Management<br />
</strong></p>
<p>By default, the service DHCP is activated when we define a pool.</p>
<p>If we want to desactivate, we use the next command : <em><strong>no service dhcp</strong>.</em> To reactivate : <strong><em>service dhcp</em></strong></p>
<p>We can see distributed leases by the server with :<em><strong> show ip dhcp binding</strong></em></p>
<p style="padding-left: 30px; text-align: center;"><img class="size-full wp-image-60 aligncenter" style="border: 0pt none; margin-top: 0px; margin-bottom: 0px;" title="DHCP Binding" src="http://www.laboit.net/wp-content/uploads/2009/04/dhcpbinding.png" alt="DHCP Binding" width="633" height="95" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.laboit.net/2009/04/21/how-to-set-up-a-dhcp-server-on-cisco-routers/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Activer le service DHCP sur un routeur Cisco</title>
		<link>http://www.laboit.net/2009/04/07/mise-en-place-du-service-dhcp-sur-un-routeur-cisco/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=mise-en-place-du-service-dhcp-sur-un-routeur-cisco</link>
		<comments>http://www.laboit.net/2009/04/07/mise-en-place-du-service-dhcp-sur-un-routeur-cisco/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 21:07:27 +0000</pubDate>
		<dc:creator>Alexandre VIOT</dc:creator>
				<category><![CDATA[Cisco]]></category>
		<category><![CDATA[dhcp]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[serveur]]></category>

		<guid isPermaLink="false">http://www.laboit.net/?p=24</guid>
		<description><![CDATA[Pour ce premier article, nous allons étudier la mise en place du service DHCP sur un routeur Cisco Systems. Le protocole DHCP (Dynamic Host Configuration Protocol) permet aux utilisateurs d&#8217;obtenir une configuration IP  automatiquement. Le service DHCP est souvent couplé au service DNS sur un serveur distinct. Cependant, il est possible de l&#8217;activer sur un [...]]]></description>
			<content:encoded><![CDATA[<p>Pour ce premier article, nous allons étudier la mise en place du service DHCP sur un routeur Cisco Systems.</p>
<p>Le protocole DHCP (Dynamic Host Configuration Protocol) permet aux utilisateurs d&#8217;obtenir une configuration IP  automatiquement.</p>
<p>Le service DHCP est souvent couplé au service DNS sur un serveur distinct. Cependant, il est possible de l&#8217;activer sur un routeur pour un réseau de petite taille.</p>
<p>Une configuration possède une adresse ip, son masque de sous-réseau  et différentes options. Une quarantaine d&#8217;entre elles sont configurables tel que la passerelle par défaut, les serveurs DNS,  le nom de domaine, le serveur WINS.</p>
<p>La configuration est attribuée pour une durée déterminée, on appelle ce temps: <strong>le</strong> <strong>bail</strong>.</p>
<p><span style="text-decoration: underline;">Note</span> : le protocole DHCP se diffuse par broadcast,  ce qui signifie que la demande du client ne peut pas traverser un routeur (sauf commande explicite).<span id="more-24"></span></p>
<p><strong> </strong><strong>Configuration</strong></p>
<p>Voici le réseau de test :</p>
<p style="padding-left: 30px;">
<p style="padding-left: 30px;">
<p style="padding-left: 30px; text-align: center;"><img class="size-full wp-image-38 aligncenter" style="border: 0pt none; margin-top: 0px; margin-bottom: 0px;" title="Reseau Labo" src="http://www.laboit.net/wp-content/uploads/2009/04/schema11.png" alt="schema11" width="553" height="390" /></p>
<p style="padding-left: 30px;">
<p>La configuration du service DHCP se fait en <strong>4</strong> étapes :</p>
<ol style="padding-left: 60px;">
<li>Création d&#8217;un pool DHCP.</li>
<li>Indication du réseau à écouter.</li>
<li>Définition des options du pool.</li>
<li>Exclusion d&#8217;adresses IP</li>
</ol>
<p><strong>Étape 1 : Création du pool DHCP</strong></p>
<p>La première étape consiste  à créer un pool DHCP sur le routeur. Un pool regroupe les adresses qui seront distribuées ainsi que ses options.</p>
<p>La commande est la suivante, en mode de configuration globale du routeur :</p>
<pre class="brush: plain;">ip dhcp pool nom_du_pool</pre>
<p><em><span style="color: #888888;"><br />
</span></em></p>
<p style="text-align: center;"><img class="size-full wp-image-40 aligncenter" style="border: 0pt none; margin-top: 0px; margin-bottom: 0px;" title="pooldhcp" src="http://www.laboit.net/wp-content/uploads/2009/04/pooldhcp.png" alt="pooldhcp" width="507" height="30" /></p>
<p>On rentre alors en mode de configuration DHCP.</p>
<p>Il est notamment possible de créer plusieurs pools sur un même routeur.</p>
<p><strong>Étape 2 : Indication du réseau à écouter</strong></p>
<p><strong> </strong>Dans le mode de configuration DHCP, on spécifie  le réseau à écouter avec la commande :</p>
<pre class="brush: plain;">network adresse_ip masque</pre>
<p><img class="size-full wp-image-41 aligncenter" style="border: 0pt none; margin-top: 0px; margin-bottom: 0px;" title="network" src="http://www.laboit.net/wp-content/uploads/2009/04/network.png" alt="network" width="454" height="30" /><em> </em>Dans notre exemple, le service attribuera des adresses ip de <span style="color: #888888;">192.168.20.1</span> à <span style="color: #888888;">192.168.20.254</span></p>
<p><strong>Étape 3 : Définition des options du pool</strong></p>
<p><strong> </strong>Nous allons spécifier <strong>4</strong> options : la passerelle par défaut, le serveur DNS, le nom de domaine et le bail.</p>
<p>Pour spécifier la passerelle par défaut, on utilise l&#8217;option</p>
<pre class="brush: plain;">default-router ip_du_router</pre>
<p><span style="color: #888888;"><span style="color: #000000;">Pour indiquer le serveur DNS primaire :</span></span></p>
<pre class="brush: plain;">dns-server ip_du_serveur_DNS</pre>
<p>Le nom de domaine se spécifie avec:</p>
<pre class="brush: plain;">domain-name nom_de_domaine</pre>
<p>On fixe la durée du bail avec:</p>
<pre class="brush: plain;">lease jour heure minute</pre>
<p style="padding-left: 30px;">
<p>La commande <strong><em>lease infinite</em></strong> permet de définir un bail infini.</p>
<p style="padding-left: 30px; text-align: center;"><img class="size-full wp-image-52 aligncenter" style="border: 0pt none; margin-top: 0px; margin-bottom: 0px;" title="DHCP Options" src="http://www.laboit.net/wp-content/uploads/2009/04/dhcpoptions.png" alt="DHCP Options" width="490" height="84" /></p>
<p style="padding-left: 30px;">
<p><strong>Étape 4 : Exclusion d&#8217;adresses IP</strong></p>
<p><strong> </strong>Une fois qu&#8217;on a fini de configurer le ou les pools DHCP  il faut définir quelles adresses ne seront pas distribuées par le serveur, pour éviter les conflits.</p>
<p>On va  interdire au serveur de distribuer l&#8217;adresse ip du routeur.</p>
<p>On utilise pour cela la commande en mode de configuration globale.:</p>
<pre class="brush: plain;">ip dhcp excluded-address ip_interdite</pre>
<p style="padding-left: 30px;"><strong><em> </em></strong></p>
<p style="padding-left: 30px; text-align: center;"><img class="size-full wp-image-58 aligncenter" style="border: 0pt none; margin-top: 0px; margin-bottom: 0px;" title="DHCP excluded Address" src="http://www.laboit.net/wp-content/uploads/2009/04/dhcpexcluded.png" alt="DHCP excluded Address" width="493" height="22" /></p>
<p><strong>Gestion du serveur DHCP</strong></p>
<p>Par défaut, le service DHCP est activé lorsqu&#8217;on définit un pool.</p>
<p>Si l&#8217;on souhaite le désactiver, on utilise la commande suivante : <em><strong>no service dhcp</strong>.</em> Pour le réactiver : <strong><em>service dhcp</em></strong></p>
<p>On peut voir les baux distribués par le serveur avec : <em><strong>show ip dhcp binding</strong>, </em>en mode privilégié.</p>
<p style="padding-left: 30px; text-align: center;"><img class="size-full wp-image-60 aligncenter" style="border: 0pt none; margin-top: 0px; margin-bottom: 0px;" title="DHCP Binding" src="http://www.laboit.net/wp-content/uploads/2009/04/dhcpbinding.png" alt="DHCP Binding" width="633" height="95" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.laboit.net/2009/04/07/mise-en-place-du-service-dhcp-sur-un-routeur-cisco/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
