Projet

Général

Profil

AtelierDNS2015 » Historique » Version 4

Version 3 (Matthieu Herrb, 08/04/2015 10:47) → Version 4/7 (Matthieu Herrb, 08/04/2015 10:49)

{{>toc}}

h1. Atelier DNS 2015

* Animé par Matthieu Herrb.
* Mardi 10 février 2015 à 19h30 au grand builder ekito 15 rue Gabriel Peri.
* TPs le mardi 7 avril 2015 meme endroit

* Durée: 1h30 à 2h

Slides : http://homepages.laas.fr/matthieu/talks/ttnn-dns.pdf

h2. Sujets traités

* Le « Domain Name System » à quoi ça sert et comment ça marche
* Comment configurer un serveur pour gérer son propre domaine en auto-hébergement
* Atelier pratique de l'achat d'un nom de domaine à la configuration.

h2. Ateliers pratiques:

* achat et gestion d'un domaine DNS chez Gandi
* configuration d'un serveur cache (resolveur recursif) local (ou comment échapper à la main rouge :) avec bind ou unbound.
* configuration de bind ou de NSD pour héberger son domaine si on ne fait plus confiance à Gandi (ou à un autre hébergeur).

h2. Questions

* Comment gérer les clés DNSSEC à partir d'une prestation de type Gandi ? (qui génère la clé de zone et comment fonctionne la délégation ?)
* début de reponse: http://wiki.gandi.net/en/domains/dnssec

* Depuis quelques années, il est possible de créer des extensions personnalisés (.google, .perso, .blog, ...), quelles garanties faut-il apporter à l'ICANN pour que le dossier soit accepté? Que représente la gestion d'une nouvelle extension en terme de charge de travail/frais/responsabilités juridiques?
* https://archive.icann.org/fr/topics/new-gtlds/rfp-clean-19sep11-fr.pdf
* http://www.zdnet.fr/actualites/bzh-ou-paris-a-quoi-servent-ces-nouveaux-tld-et-a-qui-rapportent-ils-39790215.htm

h2. Exemples

h3. Exemple de fichier named.conf (bind)

<pre>
acl clients {
localnets;
::1;
};

acl slaves {
217.70.177.40;
91.224.149.89;
2a01:6600:8081:5900::1;
};

options {
version ""; // remove this to allow version queries
listen-on { any; };
listen-on-v6 { any; };
};

view "recursive" {
match-clients { clients; };
match-recursive-only yes;
// Standard zones
//
zone "." {
type hint;
file "etc/root.hint";
};

zone "localhost" {
type master;
file "standard/localhost";
allow-transfer { localhost; };
};

zone "127.in-addr.arpa" {
type master;
file "standard/loopback";
allow-transfer { localhost; };
};

zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" {
type master;
file "standard/loopback6.arpa";
allow-transfer { localhost; };
};

// Master zones
//
zone "herrb.net" {
type master;
file "master/herrb.net";
allow-transfer { slaves; };
};

zone "31.168.192.IN-ADDR.ARPA" {
type master;
file "master/herrb.net.rev";
allow-transfer { slaves; };
};
zone "1.6.1.8.0.8.0.0.6.6.1.0.a.2.ip6.arpa" {
type master;
file "master/ipv6.ttn.rev";
allow-transfer { slaves; };
};
zone "89/32.149.224.91.in-addr.arpa" IN {
type master;
file "master/tls00.rev";
allow-transfer { slaves; };
};
};
view "authoritative" {
recursion no;
additional-from-auth no;
additional-from-cache no;

// Master zones
//
zone "herrb.net" IN {
type master;
file "master/herrb.public.net";
allow-transfer { slaves; };
};

zone "8.b.0.7.8.a.7.0.1.0.0.2.ip6.arpa" {
type master;
file "master/ipv6.nerim.rev";
allow-transfer { slaves; };
};
zone "1.6.1.8.0.8.0.0.6.6.1.0.a.2.ip6.arpa" {
type master;
file "master/ipv6.ttn.rev";
allow-transfer { slaves; };
};
zone "89/32.149.224.91.in-addr.arpa" IN {
type master;
file "master/tls00.rev";
allow-transfer { slaves; };
};
zone "9.5.1.8.0.8.0.0.6.6.1.0.a.2.ip6.arpa" {
type master;
file "master/tls00.ipv6.rev";
allow-transfer { slaves; };
};
};
</pre>

h3. Exemple de fichier unbound.conf

<pre>
server:
interface: 140.93.5.46
interface: 2001:660:6602:4::52e
interface: 127.0.0.1
interface: ::1
access-control: 127.0.0.0/8 allow
access-control: ::1 allow
access-control: 2001:660:6602:4::/64 allow
access-control: 192.168.1.0/8 allow
private-domain: "laas.fr"
auto-trust-anchor-file: "/var/unbound/etc/autotrust/root.key"
local-zone: "168.192.in-addr.arpa." transparent

forward-zone:
name: "168.192.in-addr.arpa."
forward-addr: 2001:660:6602:4::2
forward-addr: 2001:660:6602:2::7
forward-addr: 140.93.0.15
forward-addr: 195.83.132.132

forward-zone:
name: "2.0.6.6.0.6.6.0.1.0.0.2.ip6.arpa."
forward-addr: 2001:660:6602:4::2
forward-addr: 2001:660:6602:2::7
forward-addr: 140.93.0.15
forward-addr: 195.83.132.132

forward-zone:
name: "laas.fr"
forward-addr: 2001:660:6602:4::2
forward-addr: 2001:660:6602:2::7
forward-addr: 140.93.0.15
forward-addr: 195.83.132.132
</pre>

* Injections de données locales (pour adresses privées par ex.):

<pre>
server:
....

local-zone: "herrb.net." typetransparent
private-address: 192.168.31.0/24
private-address: 172.31.31.0/24
private-domain: herrb.net.

local-data: "nowhere.herrb.net. IN A 91.224.149.89"

local-data: "bluenote.herrb.net. IN A 192.168.31.2"
local-data: "bluenote-em.herrb.net. IN A 192.168.31.3"
local-data: "television.herrb.net. IN A 192.168.31.4"
local-data: "southside.herrb.net. IN A 192.168.31.5"
local-data: "harvest.herrb.net. IN A 192.168.31.6"
local-data: "alabama.herrb.net. IN A 192.168.31.8"

local-data-ptr: "192.168.31.2 bluenote.herrb.net."
local-data-ptr: "192.168.31.3 bluenote-em.herrb.net."
local-data-ptr: "192.168.31.4 television.herrb.net."
local-data-ptr: "192.168.31.5 southside.herrb.net."
local-data-ptr: "192.168.31.6 harvest.herrb.net."
local-data-ptr: "192.168.31.8 alabama.herrb.net."
</pre>


h3. Exemple de fichier nsd.conf

<pre>
server:
hide-version: yes

remote-control:
control-enable: yes

# tsig key example
key:
name: "tsig1.example.com."
algorithm: hmac-sha256
secret: "bWVrbWl0YXNkaWdvYXQ="

# master zone example
zone:
name: "example.com"
zonefile: "example.com"
notify: 192.0.2.1 NOKEY
provide-xfr: 192.0.2.1 NOKEY

# slave zone example
zone:
name: "example.net"
zonefile: "example.net"
allow-notify: 192.0.2.2 tsig1.example.com.
request-xfr: 192.0.2.2 tsig1.example.com.

</pre>



h3. ipv6calc

* génération de fichier zone reverse IPv6 pour ttnn (/56):



<pre>
$

ipv6calc --in ipv6 --out revnibbles.arpa 2a01:6600:8081:6101::3f | cut -d. -f-18
f.3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0

</pre>

(Remplacer -f-18 par -f-20 pour une delegation de /48 ou par -f-16 pour un /64)



* génération d'une adresse IPv6 SLAAC a partir prefixe + adresse MAC:

<pre>
$

ipv6calc --in prefix+mac --out ipv6addr 2a01:6600:8081:6101:: 00:00:24:cd:7e:50
2a01:6600:8081:6101:200:24ff:fecd:7e50

</pre>



h3. Examples de zones

https://chiliproject.tetaneutral.net/projects/git-tetaneutral-net/repository/bind-zones/revisions/master/show/wan

h3. Fix serial number

http://www.zytrax.com/books/dns/ch9/serial.html