<?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>Romain DUCHENE's Website &#187; linuw</title>
	<atom:link href="http://www.romainduchene.com/tag/linuw/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.romainduchene.com</link>
	<description>Le Blog / Site web de Romain DUCHENE</description>
	<lastBuildDate>Sat, 24 Oct 2009 17:49:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Howto: Installer DJBDNS sur Debian Sarge</title>
		<link>http://www.romainduchene.com/2007/03/howto-installer-djbdns-sur-debian-sarge/</link>
		<comments>http://www.romainduchene.com/2007/03/howto-installer-djbdns-sur-debian-sarge/#comments</comments>
		<pubDate>Sat, 17 Mar 2007 17:46:26 +0000</pubDate>
		<dc:creator>Romain DUCHENE</dc:creator>
				<category><![CDATA[Tech]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[djbdns]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[linuw]]></category>

		<guid isPermaLink="false">http://www.romainduchene.com/?p=228</guid>
		<description><![CDATA[Dans cet article, nous allons faire une installation de DJBDNS alias tinydns (un serveur DNS très léger et très sécurisé) sur une distribution Debian Sarge.
Nous allons devoir installer avant tout 2 packages qui sont nécessaires : ucspi-tcp et daemontools.
Préparation de la Debian Sarge
Il faut tout d’abord ajouter dans /etc/apt/sources.list les non-free. En effet, DJBDNS ne possédant [...]]]></description>
			<content:encoded><![CDATA[<p class="spip">Dans cet article, nous allons faire une installation de DJBDNS alias tinydns (un serveur DNS très léger et très sécurisé) sur une distribution Debian Sarge.</p>
<p class="spip">Nous allons devoir installer avant tout 2 packages qui sont nécessaires : ucspi-tcp et daemontools.</p>
<h3 class="spip">Préparation de la Debian Sarge</h3>
<p class="spip">Il faut tout d’abord ajouter dans /etc/apt/sources.list les non-free. En effet, DJBDNS ne possédant pas une licence &laquo;&nbsp;free&nbsp;&raquo; (au sens debian du terme), il ne se trouve pas dans la distribution de base. Il faut donc rajouter le terme &laquo;&nbsp;non-free&nbsp;&raquo; à la fin de la ligne principale de package des sources apt (à personnaliser suivant le mirroir que vous utilisez).</p>
<p class="spip">/etc/apt/sources.list</p>
<blockquote>
<div class="spip_code" style="text-align: left;" dir="ltr"><tt>deb http://ftp.fr.debian.org/debian/ stable main non-free<br />
</tt></div>
</blockquote>
<p class="spip">Nous mettons maintenant à jour notre base APT, pour y mettre les sources de ucspi-tcp, Daemontools et DJBDNS. En effet, en raison de sa licence, il ne peut être livré que sous forme de code source, à nous donc de les compiler. Nous devrons être root durant cette installation.</p>
<blockquote>
<div class="spip_code" style="text-align: left;" dir="ltr"><tt><br />
su -<br />
apt-get update<br />
</tt></div>
</blockquote>
<h3 class="spip">Installation de ucspi-tcp et Daemontools</h3>
<p class="spip">Nous lançons maintenant le téléchargement, la compilation et la création des paquets .deb qui seront installés.</p>
<blockquote>
<div class="spip_code" style="text-align: left;" dir="ltr"><tt><br />
apt-get install -y ucspi-tcp-src patch libssl-dev<br />
build-ucspi-tcp<br />
</tt></div>
</blockquote>
<p>Suivez les instructions dans chacune des compilations, les infos sont claires.</p>
<p class="spip">Nous allons maintenant télécharger et installer Daemontools. Plusieurs solutions sont possibles, nous choisirons d’utiliser des version pré-compilées depuis le site de Gerrit Pape.</p>
<blockquote>
<div class="spip_code" style="text-align: left;" dir="ltr"><tt><br />
wget http://smarden.org/pape/Debian/dists/woody/unofficial/binary-i386/daemontools_0.76-woody1_i386.deb<br />
wget http://smarden.org/pape/Debian/dists/woody/unofficial/binary-i386/daemontools-run_0.76.3_all.deb<br />
dpkg -i daemontools_0.76-woody1_i386.deb daemontools-run_0.76.3_all.deb<br />
</tt></div>
</blockquote>
<p class="spip">Par sécurité, on va copier des binaires aux bons endroits&#8230; :</p>
<blockquote>
<div class="spip_code" style="text-align: left;" dir="ltr"><tt><br />
cd /usr/bin<br />
for i in envdir envuidgid fghack multilog pgrphack readproctitle \<br />
setlock setuidgid softlimit supervise svc svok svscan svscanboot \<br />
svstat tai64n tai64nlocal ; do ln -s /usr/local/bin/$i ; done<br />
</tt></div>
</blockquote>
<h3 class="spip">Installation de DJBDNS</h3>
<p class="spip">Attaquons maintenant la véritable installation de djbdns ! djbdns est constitué de 3 sous-programmes majeurs :<br />
<img class="spip_puce" src="../spip/ecrire/puce.gif" alt="-" /> tinydns : le serveur DNS en lui-même. C’est lui qui écoutera sur votre IP publique le port UDP 53 et qui répondra aux requêtes DNS pour les domaines DNS que vous allez héberger.<br />
<img class="spip_puce" src="../spip/ecrire/puce.gif" alt="-" /> dnscache : c’est votre serveur DNS local, qui vous servira à répondre à votre serveur (uniquement) à toute les requêtes DNS possible (même celles que vous n’hébergez pas). C’est donc un serveur DNS qui sait aller interroger les autres serveurs DNS sur Internet et faire des requêtes récursives. il écoutera donc sur votre IP locale (ou localhost) sur le port UDP 53.<br />
<img class="spip_puce" src="../spip/ecrire/puce.gif" alt="-" /> axfrdns : C’est lui qui va servir à gérer les transfert de zone DNS, il écoutera donc sur votre IP publique sur le port TCP 53.
</p>
<p class="spip">Nous allons devoir également compiler les sources.</p>
<blockquote>
<div class="spip_code" style="text-align: left;" dir="ltr"><tt><br />
apt-get install djbdns-installer<br />
build-djbdns<br />
</tt></div>
</blockquote>
<p>Encore une fois, suivez les instructions pour la compilation, les infos sont claires.</p>
<p class="spip">Nous allons maintenant devoir configurer DJBDNS. Modifiez la ligne ci-dessous avec l’IP de votre serveur :</p>
<blockquote>
<div class="spip_code" style="text-align: left;" dir="ltr"><tt><br />
tinydns-conf tinydns dnslog /etc/tinydns 192.168.0.5<br />
</tt></div>
</blockquote>
<p class="spip">Nous pouvons maintenant faire prendre en compte tinydns par daemontools (puis on vérifie que tout est ok).</p>
<blockquote>
<div class="spip_code" style="text-align: left;" dir="ltr"><tt><br />
ln -s /etc/tinydns /service<br />
svstat /service/tinydns<br />
</tt></div>
</blockquote>
<p class="spip">Nous allons maintenant installer dnscache (si vous en avez besoin)</p>
<blockquote>
<div class="spip_code" style="text-align: left;" dir="ltr"><tt><br />
dnscache-conf dnscache dnslog /etc/dnscache 127.0.0.1<br />
ln -s /etc/dnscache /service<br />
svstat /service/dnscache<br />
</tt></div>
</blockquote>
<p class="spip">Si vous désirez que votre serveur utilise ce serveur DNS, vous devez modifier votre fichier de conf locale DNS : /etc/resolv.conf</p>
<blockquote>
<div class="spip_code" style="text-align: left;" dir="ltr"><tt><br />
nameserver 127.0.0.1<br />
</tt></div>
</blockquote>
<p class="spip">Allez, pour terminer, nous allons installer axfrdns (pour les transferts de zone) :</p>
<blockquote>
<div class="spip_code" style="text-align: left;" dir="ltr"><tt><br />
axfrdns-conf axfrdns dnslog /etc/axfrdns /etc/tinydns 192.168.0.5<br />
</tt></div>
</blockquote>
<p>Pour terminer la configuration d&#8217;axfrdns, nous allons lui dire d&#8217;autoriser toutes les connexions entrantes, de répondre aux requêtes DNS, mais de refuser tout transfert de zones (nous verrons plus bas comment autoriser le transfert de zones vers d&#8217;autres serveurs). Puis on active le service.</p>
<blockquote><p><tt>echo ':allow,AXFR=""' &gt; /etc/axfrdns/tcp<br />
ln -s /etc/axfrdns /service<br />
svstat /service/axfrdns<br />
</tt></p></blockquote>
<p class="spip">Si vous désirez autoriser le transfert de toutes vos zones vers un autre serveur 192.168.0.10 (par exemple).</p>
<blockquote>
<div class="spip_code" style="text-align: left;" dir="ltr"><tt><br />
echo '192.168.0.10:allow' &gt;&gt; /etc/axfrdns/tcp<br />
</tt></div>
</blockquote>
<p>Il faut valider les changements fais dans /etc/axfrdns/tcp Utilisez simplement les commandes suivantes, en root, pour valider les changements faits dans vos règles, Notez aussi qu’il est inutile de redémarrer axfrdns, le programme tcpserver prends automatiquement en compte les changements fais dans tcp.cdb :</p>
<blockquote>
<div class="spip_code" style="text-align: left;" dir="ltr"><tt><br />
cd /etc/axfrdns<br />
make<br />
</tt></div>
</blockquote>
<h3 class="spip">Configuration de DJBDNS</h3>
<p class="spip">Toute la configuration de djbdns (hors configuration de base comme l’IP d’écoute) se fait via le fichier /service/tinydns/root/data</p>
<p class="spip">Afin de pouvoir gérer sans pb toutes les extensions de domaine, nous allons configurer tinydns avec les serveurs root. Ajouter dans /service/tinydns/root/data</p>
<blockquote>
<div class="spip_code" style="text-align: left;" dir="ltr"><tt><br />
&amp;:198.41.0.4:a.root-servers.net<br />
&amp;:128.9.0.107:b.root-servers.net<br />
&amp;:192.33.4.12:c.root-servers.net<br />
&amp;:128.8.10.90:d.root-servers.net<br />
&amp;:192.203.230.10:e.root-servers.net<br />
&amp;:192.5.5.241:f.root-servers.net<br />
&amp;:192.112.36.4:g.root-servers.net<br />
&amp;:128.63.2.53:h.root-servers.net<br />
&amp;:192.36.148.17:i.root-servers.net<br />
&amp;:192.58.128.30:j.root-servers.net<br />
&amp;:193.0.14.129:k.root-servers.net<br />
&amp;:198.32.64.12:l.root-servers.net<br />
&amp;:202.12.27.33:m.root-servers.net<br />
.localhost<br />
.1.0.0.127.in-addr.arpa<br />
=localhost:127.0.0.1<br />
</tt></div>
</blockquote>
<p class="spip">Voici quelques exemples de configuration de domaine, mais vous trouverez l’intégralité des méthodes de configuration sur <a class="spip_url" href="http://cr.yp.to/djbdns/tinydns-data.html">http://cr.yp.to/djbdns/tinydns-data.html</a> Exemples d’ajout dans /service/tinydns/root/data</p>
<blockquote>
<div class="spip_code" style="text-align: left;" dir="ltr"><tt><br />
# SOA Test.com<br />
Ztest.com:ns.wiroo.com:dns.wiroo.com:2005011401::86100:86100:</tt></p>
<p><tt># Name Server<br />
.test.com::ns4.wiroo.com:86100<br />
.test.com::ns2.wiroo.com:86100</tt></p>
<p><tt># MX Record<br />
@test.com:192.168.58.128:mail.wiroo.com:10</tt></p>
<p><tt># A Record<br />
=www.test.com:192.168.58.128<br />
</tt></div>
</blockquote>
<p class="spip">Après chaque modification, il suffit d’aller dans le répertoire /service/djbdns/root et d’y faire un make. Aucun redémarrage du démon n’est nécessaire, le fichier texte /service/tinydns/root/data sera compilé en /service/tinydns/root/data.cdb</p>
<blockquote>
<div class="spip_code" style="text-align: left;" dir="ltr"><tt><br />
cd /etc/tinydns/root<br />
make<br />
</tt></div>
</blockquote>
<p class="spip">djbdns inclut certains outils pour tracer les pb : tinydns-get A www.wiroo.com ns4.wiroo.com ou dnstrace any www.aol.com a.root-servers.net &gt; AOL &amp; dnstracesort &lt; AOL | less</p>
<p class="spip">Dernière chose, regardons maintenant comme répliquer notre configuration dns sur un autre serveur (tinydns également). L’avantage avec tinydns, c’est qu’il suffit d’envoyer le fichier data compiler (/service/tinydns/root/data.cdb) vers le second serveur. Mieux, nous pouvons automatiser très facilement cela pour que cela se fasse automatiquement à chaque make ! Nous utiliserons le protocole SSH pour copier data.cdb (nous considèrerons que le serveur a une autorisation de connexion SSH au serveur cible via clé ssh automatisée)</p>
<p class="spip">Modifions donc le fichier /service/tinydns/root/Makefile</p>
<blockquote>
<div class="spip_code" style="text-align: left;" dir="ltr"><tt><br />
remote: data.cdb<br />
scp data.cdb ns2.wiroo.com:/etc/tinydns/root/data.cdb.tmp<br />
ssh ns2.wiroo.com mv /etc/tinydns/root/data.cdb.tmp /etc/tinydns/root/data.cdb<br />
data.cdb: data<br />
/usr/bin/tinydns-data<br />
</tt></div>
</blockquote>
<p class="spip">Et voila, amusez vous bien avec votre nouveau serveur DNS !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.romainduchene.com/2007/03/howto-installer-djbdns-sur-debian-sarge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

