Projet

Général

Profil

AtelierDNS2015 » Historique » Version 6

Matthieu Herrb, 08/04/2015 10:52

1 2 Matthieu Herrb
{{>toc}} 
2 2 Matthieu Herrb
3 1 Matthieu Herrb
h1. Atelier DNS 2015
4 1 Matthieu Herrb
5 1 Matthieu Herrb
* Animé par Matthieu Herrb.
6 1 Matthieu Herrb
* Mardi 10 février 2015 à 19h30 au grand builder ekito 15 rue Gabriel Peri.
7 5 Matthieu Herrb
* TPs le mardi 7 avril 2015 même endroit
8 1 Matthieu Herrb
9 1 Matthieu Herrb
 * Durée: 1h30 à 2h
10 1 Matthieu Herrb
11 1 Matthieu Herrb
Slides : http://homepages.laas.fr/matthieu/talks/ttnn-dns.pdf
12 1 Matthieu Herrb
13 1 Matthieu Herrb
h2. Sujets traités
14 1 Matthieu Herrb
15 1 Matthieu Herrb
* Le « Domain Name System » à quoi ça sert et comment ça marche
16 1 Matthieu Herrb
* Comment configurer un serveur pour gérer son propre domaine en auto-hébergement
17 1 Matthieu Herrb
* Atelier pratique de l'achat d'un nom de domaine à la configuration. 
18 1 Matthieu Herrb
19 1 Matthieu Herrb
20 1 Matthieu Herrb
h2. Ateliers pratiques:
21 1 Matthieu Herrb
22 1 Matthieu Herrb
* achat et gestion d'un domaine DNS chez Gandi
23 5 Matthieu Herrb
* configuration d'un serveur cache (résolveur recursif) local (ou comment échapper à la main rouge :)) avec bind ou unbound.
24 1 Matthieu Herrb
* configuration de bind ou de NSD pour héberger son domaine si on ne fait plus confiance à Gandi (ou à un autre hébergeur).
25 1 Matthieu Herrb
26 1 Matthieu Herrb
h2. Questions 
27 1 Matthieu Herrb
28 1 Matthieu Herrb
* 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 ?) 
29 6 Matthieu Herrb
30 1 Matthieu Herrb
 * début de reponse: http://wiki.gandi.net/en/domains/dnssec
31 1 Matthieu Herrb
32 1 Matthieu Herrb
* 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?
33 6 Matthieu Herrb
34 1 Matthieu Herrb
 * https://archive.icann.org/fr/topics/new-gtlds/rfp-clean-19sep11-fr.pdf 
35 1 Matthieu Herrb
 * http://www.zdnet.fr/actualites/bzh-ou-paris-a-quoi-servent-ces-nouveaux-tld-et-a-qui-rapportent-ils-39790215.htm
36 1 Matthieu Herrb
37 1 Matthieu Herrb
h2. Exemples 
38 1 Matthieu Herrb
39 1 Matthieu Herrb
h3. Exemple de fichier named.conf (bind)
40 1 Matthieu Herrb
41 1 Matthieu Herrb
<pre>
42 1 Matthieu Herrb
acl clients {
43 1 Matthieu Herrb
        localnets;
44 1 Matthieu Herrb
        ::1;
45 1 Matthieu Herrb
};
46 1 Matthieu Herrb
47 1 Matthieu Herrb
acl slaves { 
48 1 Matthieu Herrb
        217.70.177.40;
49 1 Matthieu Herrb
        91.224.149.89;
50 1 Matthieu Herrb
        2a01:6600:8081:5900::1;
51 1 Matthieu Herrb
};
52 1 Matthieu Herrb
53 1 Matthieu Herrb
options {
54 1 Matthieu Herrb
        version "";     // remove this to allow version queries
55 1 Matthieu Herrb
        listen-on    { any; };
56 1 Matthieu Herrb
        listen-on-v6 { any; };
57 1 Matthieu Herrb
};
58 1 Matthieu Herrb
59 1 Matthieu Herrb
view "recursive" {
60 1 Matthieu Herrb
        match-clients { clients; };
61 1 Matthieu Herrb
        match-recursive-only yes;
62 1 Matthieu Herrb
        // Standard zones
63 1 Matthieu Herrb
        //
64 1 Matthieu Herrb
        zone "." {
65 1 Matthieu Herrb
                type hint;
66 1 Matthieu Herrb
                file "etc/root.hint";
67 1 Matthieu Herrb
        };
68 1 Matthieu Herrb
69 1 Matthieu Herrb
        zone "localhost" {
70 1 Matthieu Herrb
                type master;
71 1 Matthieu Herrb
                file "standard/localhost";
72 1 Matthieu Herrb
                allow-transfer { localhost; };
73 1 Matthieu Herrb
        };
74 1 Matthieu Herrb
75 1 Matthieu Herrb
        zone "127.in-addr.arpa" {
76 1 Matthieu Herrb
                type master;
77 1 Matthieu Herrb
                file "standard/loopback";
78 1 Matthieu Herrb
                allow-transfer { localhost; };
79 1 Matthieu Herrb
        };
80 1 Matthieu Herrb
81 1 Matthieu Herrb
        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" {
82 1 Matthieu Herrb
                type master;
83 1 Matthieu Herrb
                file "standard/loopback6.arpa";
84 1 Matthieu Herrb
                allow-transfer { localhost; };
85 1 Matthieu Herrb
        };
86 1 Matthieu Herrb
87 1 Matthieu Herrb
        // Master zones
88 1 Matthieu Herrb
        //
89 1 Matthieu Herrb
        zone "herrb.net" {
90 1 Matthieu Herrb
                type master;
91 1 Matthieu Herrb
                file "master/herrb.net";
92 1 Matthieu Herrb
                allow-transfer { slaves; };
93 1 Matthieu Herrb
        };
94 1 Matthieu Herrb
95 1 Matthieu Herrb
        zone "31.168.192.IN-ADDR.ARPA" {
96 1 Matthieu Herrb
                type master;
97 1 Matthieu Herrb
                file "master/herrb.net.rev";
98 1 Matthieu Herrb
                allow-transfer { slaves; };
99 1 Matthieu Herrb
        };
100 1 Matthieu Herrb
        zone "1.6.1.8.0.8.0.0.6.6.1.0.a.2.ip6.arpa" {
101 1 Matthieu Herrb
                type master;
102 1 Matthieu Herrb
                file "master/ipv6.ttn.rev";
103 1 Matthieu Herrb
                allow-transfer { slaves; };
104 1 Matthieu Herrb
        };
105 1 Matthieu Herrb
        zone "89/32.149.224.91.in-addr.arpa" IN {
106 1 Matthieu Herrb
                type master;
107 1 Matthieu Herrb
                file "master/tls00.rev";
108 1 Matthieu Herrb
                allow-transfer { slaves; };
109 1 Matthieu Herrb
        };
110 1 Matthieu Herrb
};
111 1 Matthieu Herrb
view "authoritative" {
112 1 Matthieu Herrb
        recursion no;
113 1 Matthieu Herrb
        additional-from-auth no;
114 1 Matthieu Herrb
        additional-from-cache no;
115 1 Matthieu Herrb
116 1 Matthieu Herrb
        // Master zones
117 1 Matthieu Herrb
        //
118 1 Matthieu Herrb
        zone "herrb.net" IN {
119 1 Matthieu Herrb
                type master;
120 1 Matthieu Herrb
                file "master/herrb.public.net";
121 1 Matthieu Herrb
                allow-transfer { slaves; };
122 1 Matthieu Herrb
        };
123 1 Matthieu Herrb
124 1 Matthieu Herrb
        zone "8.b.0.7.8.a.7.0.1.0.0.2.ip6.arpa" {
125 1 Matthieu Herrb
                type master;
126 1 Matthieu Herrb
                file "master/ipv6.nerim.rev";
127 1 Matthieu Herrb
                allow-transfer { slaves; };
128 1 Matthieu Herrb
        };
129 1 Matthieu Herrb
        zone "1.6.1.8.0.8.0.0.6.6.1.0.a.2.ip6.arpa" {
130 1 Matthieu Herrb
                type master;
131 1 Matthieu Herrb
                file "master/ipv6.ttn.rev";
132 1 Matthieu Herrb
                allow-transfer { slaves; };
133 1 Matthieu Herrb
        };
134 1 Matthieu Herrb
        zone "89/32.149.224.91.in-addr.arpa" IN {
135 1 Matthieu Herrb
                type master;
136 1 Matthieu Herrb
                file "master/tls00.rev";
137 1 Matthieu Herrb
                allow-transfer { slaves; };
138 1 Matthieu Herrb
        };
139 1 Matthieu Herrb
        zone "9.5.1.8.0.8.0.0.6.6.1.0.a.2.ip6.arpa" {
140 1 Matthieu Herrb
                type master;
141 1 Matthieu Herrb
                file "master/tls00.ipv6.rev";
142 1 Matthieu Herrb
                allow-transfer { slaves; };
143 1 Matthieu Herrb
        };
144 1 Matthieu Herrb
};
145 1 Matthieu Herrb
</pre>
146 1 Matthieu Herrb
147 1 Matthieu Herrb
148 1 Matthieu Herrb
h3. Exemple de fichier unbound.conf
149 1 Matthieu Herrb
150 1 Matthieu Herrb
<pre>
151 1 Matthieu Herrb
server:
152 1 Matthieu Herrb
        interface: 140.93.5.46
153 1 Matthieu Herrb
        interface: 2001:660:6602:4::52e
154 1 Matthieu Herrb
        interface: 127.0.0.1
155 1 Matthieu Herrb
        interface: ::1
156 1 Matthieu Herrb
        access-control: 127.0.0.0/8 allow
157 1 Matthieu Herrb
        access-control: ::1 allow
158 1 Matthieu Herrb
        access-control: 2001:660:6602:4::/64 allow
159 1 Matthieu Herrb
        access-control: 192.168.1.0/8 allow
160 1 Matthieu Herrb
        private-domain: "laas.fr"
161 1 Matthieu Herrb
        auto-trust-anchor-file: "/var/unbound/etc/autotrust/root.key"
162 1 Matthieu Herrb
        local-zone: "168.192.in-addr.arpa." transparent
163 1 Matthieu Herrb
164 1 Matthieu Herrb
forward-zone:
165 1 Matthieu Herrb
        name: "168.192.in-addr.arpa."
166 1 Matthieu Herrb
        forward-addr: 2001:660:6602:4::2
167 1 Matthieu Herrb
        forward-addr: 2001:660:6602:2::7
168 1 Matthieu Herrb
        forward-addr: 140.93.0.15
169 1 Matthieu Herrb
        forward-addr: 195.83.132.132
170 1 Matthieu Herrb
171 1 Matthieu Herrb
forward-zone:
172 1 Matthieu Herrb
        name: "2.0.6.6.0.6.6.0.1.0.0.2.ip6.arpa."
173 1 Matthieu Herrb
        forward-addr: 2001:660:6602:4::2
174 1 Matthieu Herrb
        forward-addr: 2001:660:6602:2::7
175 1 Matthieu Herrb
        forward-addr: 140.93.0.15
176 1 Matthieu Herrb
        forward-addr: 195.83.132.132
177 1 Matthieu Herrb
178 1 Matthieu Herrb
forward-zone:
179 1 Matthieu Herrb
        name: "laas.fr"
180 1 Matthieu Herrb
        forward-addr: 2001:660:6602:4::2
181 1 Matthieu Herrb
        forward-addr: 2001:660:6602:2::7
182 1 Matthieu Herrb
        forward-addr: 140.93.0.15
183 1 Matthieu Herrb
        forward-addr: 195.83.132.132
184 1 Matthieu Herrb
</pre>
185 1 Matthieu Herrb
186 1 Matthieu Herrb
* Injections de données locales (pour adresses privées par ex.):
187 1 Matthieu Herrb
188 3 Matthieu Herrb
<pre>
189 1 Matthieu Herrb
server:
190 1 Matthieu Herrb
        ....
191 1 Matthieu Herrb
192 1 Matthieu Herrb
        local-zone: "herrb.net." typetransparent
193 1 Matthieu Herrb
        private-address: 192.168.31.0/24
194 1 Matthieu Herrb
        private-address: 172.31.31.0/24
195 1 Matthieu Herrb
        private-domain: herrb.net.
196 1 Matthieu Herrb
197 1 Matthieu Herrb
        local-data: "nowhere.herrb.net.         IN A 91.224.149.89"
198 1 Matthieu Herrb
199 1 Matthieu Herrb
        local-data: "bluenote.herrb.net.        IN A 192.168.31.2"
200 1 Matthieu Herrb
        local-data: "bluenote-em.herrb.net.     IN A 192.168.31.3"
201 1 Matthieu Herrb
        local-data: "television.herrb.net.      IN A 192.168.31.4"
202 1 Matthieu Herrb
        local-data: "southside.herrb.net.       IN A 192.168.31.5"
203 1 Matthieu Herrb
        local-data: "harvest.herrb.net.         IN A 192.168.31.6"
204 1 Matthieu Herrb
        local-data: "alabama.herrb.net.         IN A 192.168.31.8" 
205 1 Matthieu Herrb
        
206 1 Matthieu Herrb
        local-data-ptr: "192.168.31.2   bluenote.herrb.net."
207 1 Matthieu Herrb
        local-data-ptr: "192.168.31.3   bluenote-em.herrb.net."
208 1 Matthieu Herrb
        local-data-ptr: "192.168.31.4   television.herrb.net."
209 1 Matthieu Herrb
        local-data-ptr: "192.168.31.5   southside.herrb.net."
210 1 Matthieu Herrb
        local-data-ptr: "192.168.31.6   harvest.herrb.net."
211 1 Matthieu Herrb
        local-data-ptr: "192.168.31.8   alabama.herrb.net."
212 1 Matthieu Herrb
</pre>   
213 1 Matthieu Herrb
        
214 1 Matthieu Herrb
 
215 1 Matthieu Herrb
h3. Exemple de fichier nsd.conf
216 1 Matthieu Herrb
217 1 Matthieu Herrb
<pre>
218 1 Matthieu Herrb
server:
219 1 Matthieu Herrb
        hide-version: yes
220 1 Matthieu Herrb
221 1 Matthieu Herrb
remote-control:
222 1 Matthieu Herrb
        control-enable: yes
223 1 Matthieu Herrb
224 1 Matthieu Herrb
# tsig key example
225 1 Matthieu Herrb
key:
226 1 Matthieu Herrb
       name: "tsig1.example.com."
227 1 Matthieu Herrb
       algorithm: hmac-sha256
228 1 Matthieu Herrb
       secret: "bWVrbWl0YXNkaWdvYXQ="
229 1 Matthieu Herrb
230 1 Matthieu Herrb
# master zone example
231 1 Matthieu Herrb
zone:
232 1 Matthieu Herrb
       name: "example.com"
233 1 Matthieu Herrb
       zonefile: "example.com"
234 1 Matthieu Herrb
       notify: 192.0.2.1 NOKEY
235 1 Matthieu Herrb
       provide-xfr: 192.0.2.1 NOKEY
236 1 Matthieu Herrb
237 1 Matthieu Herrb
# slave zone example
238 1 Matthieu Herrb
zone:
239 1 Matthieu Herrb
       name: "example.net"
240 1 Matthieu Herrb
       zonefile: "example.net"
241 1 Matthieu Herrb
       allow-notify: 192.0.2.2 tsig1.example.com.
242 1 Matthieu Herrb
       request-xfr: 192.0.2.2 tsig1.example.com.
243 1 Matthieu Herrb
244 1 Matthieu Herrb
</pre>
245 1 Matthieu Herrb
246 1 Matthieu Herrb
h3. ipv6calc
247 1 Matthieu Herrb
248 1 Matthieu Herrb
* génération de fichier zone reverse IPv6 pour ttnn (/56):
249 1 Matthieu Herrb
250 4 Matthieu Herrb
 <pre>
251 4 Matthieu Herrb
 $ ipv6calc --in ipv6 --out revnibbles.arpa 2a01:6600:8081:6101::3f | cut -d. -f-18
252 4 Matthieu Herrb
 f.3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0
253 4 Matthieu Herrb
 </pre>
254 4 Matthieu Herrb
 (Remplacer -f-18 par -f-20 pour une delegation de /48 ou par -f-16 pour un /64)
255 1 Matthieu Herrb
256 4 Matthieu Herrb
257 1 Matthieu Herrb
* génération d'une adresse IPv6 SLAAC a partir prefixe + adresse MAC:
258 4 Matthieu Herrb
 <pre>
259 4 Matthieu Herrb
 $ ipv6calc --in prefix+mac --out ipv6addr 2a01:6600:8081:6101:: 00:00:24:cd:7e:50
260 4 Matthieu Herrb
 2a01:6600:8081:6101:200:24ff:fecd:7e50
261 4 Matthieu Herrb
 </pre>
262 1 Matthieu Herrb
263 2 Matthieu Herrb
h3. Examples de zones
264 1 Matthieu Herrb
265 1 Matthieu Herrb
https://chiliproject.tetaneutral.net/projects/git-tetaneutral-net/repository/bind-zones/revisions/master/show/wan
266 1 Matthieu Herrb
267 2 Matthieu Herrb
h3. Fix serial number
268 1 Matthieu Herrb
269 1 Matthieu Herrb
http://www.zytrax.com/books/dns/ch9/serial.html