AdminDNS » Historique » Version 2
Fabien Dupont, 22/08/2012 17:06
1 | 1 | Fabien Dupont | h1. Administration des DNS |
---|---|---|---|
2 | 1 | Fabien Dupont | |
3 | 1 | Fabien Dupont | {{>toc}} |
4 | 1 | Fabien Dupont | |
5 | 1 | Fabien Dupont | h2. Architecture générale des DNS de Tetaneutral.net |
6 | 1 | Fabien Dupont | |
7 | 1 | Fabien Dupont | Les NS de l'association gèrent les 8 domaines suivants : |
8 | 1 | Fabien Dupont | |
9 | 1 | Fabien Dupont | * as197422.net |
10 | 1 | Fabien Dupont | * tetaneutral.biz |
11 | 1 | Fabien Dupont | * tetaneutral.com |
12 | 1 | Fabien Dupont | * tetaneutral.eu |
13 | 1 | Fabien Dupont | * tetaneutral.fr |
14 | 1 | Fabien Dupont | * tetaneutral.info |
15 | 1 | Fabien Dupont | * tetaneutral.net + ipv6.tetaneutral.net |
16 | 1 | Fabien Dupont | * tetaneutral.org |
17 | 1 | Fabien Dupont | |
18 | 1 | Fabien Dupont | Tous ces domaines sont hébergés sur ns1.nomdudomaine.tld (ex: ns1.tetaneutral.net) qui, physiquement est gw. |
19 | 1 | Fabien Dupont | |
20 | 1 | Fabien Dupont | De plus, ces zones ont pour NS secondaire : ns2.nomdudomaine.tld, qui est aussi gw temporairement, ns3.nomdudomaine.tld qui est la VM que l'on a chez grenode et ns6.gandi.net (sauf pour ipv6.tetaneutral.net), le secondaire de gandi. |
21 | 1 | Fabien Dupont | |
22 | 1 | Fabien Dupont | De plus, les NS gère les zones reverse suivantes : |
23 | 1 | Fabien Dupont | |
24 | 1 | Fabien Dupont | * 0.0.0.8.0.0.6.6.1.0.a.2.ip6.arpa |
25 | 1 | Fabien Dupont | * 0.8.0.0.6.6.1.0.a.2.ip6.arpa |
26 | 1 | Fabien Dupont | * 0.8.0.8.0.0.6.6.1.0.a.2.ip6.arpa |
27 | 1 | Fabien Dupont | * 1.8.0.8.0.0.6.6.1.0.a.2.ip6.arpa |
28 | 1 | Fabien Dupont | * 148.224.91.in-addr.arpa |
29 | 1 | Fabien Dupont | * 149.224.91.in-addr.arpa |
30 | 1 | Fabien Dupont | * 236.213.91.in-addr.arpa |
31 | 1 | Fabien Dupont | |
32 | 1 | Fabien Dupont | Elles sont toutes sur ns1.tetaneutral.net (gw), ns2.tetaneutral.net (gw aussi) et ns3.tetaneutral.net (grenode) mais pas gandi. |
33 | 1 | Fabien Dupont | |
34 | 1 | Fabien Dupont | <pre> |
35 | 1 | Fabien Dupont | .-------------------------------------. |
36 | 1 | Fabien Dupont | | Serveur secondaire | |
37 | 1 | Fabien Dupont | | ns2.tetaneutral.* | |
38 | 1 | Fabien Dupont | | (gw) | |
39 | 1 | Fabien Dupont | | S: as197422.net | |
40 | 1 | Fabien Dupont | | S: ipv6.tetaneutral.net | |
41 | 1 | Fabien Dupont | | S: tetaneutral.biz | |
42 | 1 | Fabien Dupont | | S: tetaneutral.com | |
43 | 1 | Fabien Dupont | | S: tetaneutral.eu | |
44 | 1 | Fabien Dupont | | S: tetaneutral.fr | |
45 | 1 | Fabien Dupont | .---------------------------->| S: tetaneutral.info | |
46 | 1 | Fabien Dupont | | | S: tetaneutral.net | |
47 | 1 | Fabien Dupont | | | S: tetaneutral.org | |
48 | 1 | Fabien Dupont | | | S: 0.0.0.8.0.0.6.6.1.0.a.2.ip6.arpa | |
49 | 1 | Fabien Dupont | | | S: 0.8.0.0.6.6.1.0.a.2.ip6.arpa | |
50 | 1 | Fabien Dupont | | | S: 0.8.0.8.0.0.6.6.1.0.a.2.ip6.arpa | |
51 | 1 | Fabien Dupont | | | S: 1.8.0.8.0.0.6.6.1.0.a.2.ip6.arpa | |
52 | 1 | Fabien Dupont | | | S: 148.224.91.in-addr.arpa | |
53 | 1 | Fabien Dupont | | | S: 149.224.91.in-addr.arpa | |
54 | 1 | Fabien Dupont | | | S: 236.213.91.in-addr.arpa | |
55 | 1 | Fabien Dupont | | '-------------------------------------' |
56 | 1 | Fabien Dupont | | |
57 | 1 | Fabien Dupont | .-------------------------------------. .-------------------------------------. |
58 | 1 | Fabien Dupont | | Serveur primaire | | Serveur secondaire | |
59 | 1 | Fabien Dupont | | ns1.tetaneutral.* | | ns3.tetaneutral.* | |
60 | 1 | Fabien Dupont | | (gw) | | (grenode) | |
61 | 1 | Fabien Dupont | | P: as197422.net | | S: as197422.net | |
62 | 1 | Fabien Dupont | | P: ipv6.tetaneutral.net | | S: ipv6.tetaneutral.net | |
63 | 1 | Fabien Dupont | | P: tetaneutral.biz | | S: tetaneutral.biz | |
64 | 1 | Fabien Dupont | | P: tetaneutral.com | | S: tetaneutral.com | |
65 | 1 | Fabien Dupont | | P: tetaneutral.eu | | S: tetaneutral.eu | |
66 | 1 | Fabien Dupont | | P: tetaneutral.fr | | S: tetaneutral.fr | |
67 | 1 | Fabien Dupont | | P: tetaneutral.info |--------->| S: tetaneutral.info | |
68 | 1 | Fabien Dupont | | P: tetaneutral.net | | S: tetaneutral.net | |
69 | 1 | Fabien Dupont | | P: tetaneutral.org | | S: tetaneutral.org | |
70 | 1 | Fabien Dupont | | P: 0.0.0.8.0.0.6.6.1.0.a.2.ip6.arpa | | S: 0.0.0.8.0.0.6.6.1.0.a.2.ip6.arpa | |
71 | 1 | Fabien Dupont | | P: 0.8.0.0.6.6.1.0.a.2.ip6.arpa | | S: 0.8.0.0.6.6.1.0.a.2.ip6.arpa | |
72 | 1 | Fabien Dupont | | P: 0.8.0.8.0.0.6.6.1.0.a.2.ip6.arpa | | S: 0.8.0.8.0.0.6.6.1.0.a.2.ip6.arpa | |
73 | 1 | Fabien Dupont | | P: 1.8.0.8.0.0.6.6.1.0.a.2.ip6.arpa | | S: 1.8.0.8.0.0.6.6.1.0.a.2.ip6.arpa | |
74 | 1 | Fabien Dupont | | P: 148.224.91.in-addr.arpa | | S: 148.224.91.in-addr.arpa | |
75 | 1 | Fabien Dupont | | P: 149.224.91.in-addr.arpa | | S: 149.224.91.in-addr.arpa | |
76 | 1 | Fabien Dupont | | P: 236.213.91.in-addr.arpa | | S: 236.213.91.in-addr.arpa | |
77 | 1 | Fabien Dupont | '-------------------------------------' '-------------------------------------' |
78 | 1 | Fabien Dupont | | |
79 | 1 | Fabien Dupont | | .-------------------------------------. |
80 | 1 | Fabien Dupont | | | Serveur secondaire | |
81 | 1 | Fabien Dupont | | | ns6.gandi.net | |
82 | 1 | Fabien Dupont | | | (gandi) | |
83 | 1 | Fabien Dupont | | | S: as197422.net | |
84 | 1 | Fabien Dupont | | | S: tetaneutral.biz | |
85 | 1 | Fabien Dupont | '---------------------------->| S: tetaneutral.com | |
86 | 1 | Fabien Dupont | | S: tetaneutral.eu | |
87 | 1 | Fabien Dupont | | S: tetaneutral.fr | |
88 | 1 | Fabien Dupont | | S: tetaneutral.info | |
89 | 1 | Fabien Dupont | | S: tetaneutral.net | |
90 | 1 | Fabien Dupont | | S: tetaneutral.org | |
91 | 1 | Fabien Dupont | '-------------------------------------' |
92 | 1 | Fabien Dupont | </pre> |
93 | 1 | Fabien Dupont | |
94 | 1 | Fabien Dupont | h2. Modification d'une zone |
95 | 1 | Fabien Dupont | |
96 | 1 | Fabien Dupont | Concrètement les zones sont stockée dans le "repository GIT bind-zones":http://git.tetaneutral.net/bind-zones.git/. |
97 | 1 | Fabien Dupont | |
98 | 1 | Fabien Dupont | Pour modifier une zone, il faut donc cloner le repository, modifier la zone (penser à incrémenter le serial), commiter/pusher la modification puis lancer l'agent puppet sur gw. |
99 | 1 | Fabien Dupont | |
100 | 1 | Fabien Dupont | h3. Clonage du repository |
101 | 1 | Fabien Dupont | |
102 | 1 | Fabien Dupont | <pre> |
103 | 1 | Fabien Dupont | $ git clone ssh://git@git.tetaneutral.net/bind-zones |
104 | 1 | Fabien Dupont | </pre> |
105 | 1 | Fabien Dupont | |
106 | 1 | Fabien Dupont | Les zones sont rangées et nommées de la façon suivante : [nom de la vue bind]/[nom de la zone].zone. |
107 | 1 | Fabien Dupont | |
108 | 1 | Fabien Dupont | Ici, il n'y a qu'une vue bind appelée « wan ». |
109 | 1 | Fabien Dupont | |
110 | 1 | Fabien Dupont | h3. Modification d'un zone |
111 | 1 | Fabien Dupont | |
112 | 1 | Fabien Dupont | Avant de modifier une zone, il faut bien s'assurer qu'on est sur la dernier commit du repository (sinon, c'est la fête au conflit) : |
113 | 1 | Fabien Dupont | |
114 | 1 | Fabien Dupont | <pre> |
115 | 1 | Fabien Dupont | $ git pull |
116 | 1 | Fabien Dupont | Already up-to-date. |
117 | 1 | Fabien Dupont | </pre> |
118 | 1 | Fabien Dupont | |
119 | 2 | Fabien Dupont | Ensuite, il suffit de modifier le fichier wan/nomdelazone.zone (ici, pour ajouter zorglub.tetaneutral.net) : |
120 | 1 | Fabien Dupont | <pre> |
121 | 1 | Fabien Dupont | $ vi wan/tetaneutral.net.zone |
122 | 1 | Fabien Dupont | $ git diff |
123 | 1 | Fabien Dupont | diff --git a/wan/tetaneutral.net.zone b/wan/tetaneutral.net.zone |
124 | 1 | Fabien Dupont | index de147a8..5c6cb01 100644 |
125 | 1 | Fabien Dupont | --- a/wan/tetaneutral.net.zone |
126 | 1 | Fabien Dupont | +++ b/wan/tetaneutral.net.zone |
127 | 1 | Fabien Dupont | @@ -2,7 +2,7 @@ |
128 | 1 | Fabien Dupont | ; |
129 | 1 | Fabien Dupont | $TTL 86400 |
130 | 1 | Fabien Dupont | @ IN SOA ns1.tetaneutral.net. root.tetaneutral.net. ( |
131 | 1 | Fabien Dupont | - 2012082202 ; serial |
132 | 1 | Fabien Dupont | + 2012082203 ; serial |
133 | 1 | Fabien Dupont | 86400 ; Refresh |
134 | 1 | Fabien Dupont | 3600 ; Retry |
135 | 1 | Fabien Dupont | 3600000 ; expire |
136 | 1 | Fabien Dupont | @@ -67,6 +67,8 @@ stg-free-nb6 IN AAAA 2a01:e34:edc8:94d0:221:85ff:fe48:708f |
137 | 1 | Fabien Dupont | grenode IN A 91.216.110.40 |
138 | 1 | Fabien Dupont | mx2 IN A 91.216.110.40 |
139 | 1 | Fabien Dupont | |
140 | 1 | Fabien Dupont | +zorglub IN A 91.224.149.142 |
141 | 1 | Fabien Dupont | + |
142 | 1 | Fabien Dupont | rps2 IN A 87.98.151.166 |
143 | 1 | Fabien Dupont | rps2-6 IN AAAA 2001:41d0:2:39a8::1 |
144 | 1 | Fabien Dupont | equinix-paris IN A 195.42.144.120 |
145 | 1 | Fabien Dupont | </pre> |
146 | 1 | Fabien Dupont | |
147 | 1 | Fabien Dupont | +Important :+ Il faut bien penser à incrémenter le serial de la zone (voir en haut des fichiers) pour que les modifications soient prise en compte. Pour s'assurer que le serial est toujours augmenté, il est écrit dans la forme yyyymmddrr où : |
148 | 1 | Fabien Dupont | |
149 | 1 | Fabien Dupont | * yyyy est l'année en cours sur 4 chiffres (ex: 2012), |
150 | 1 | Fabien Dupont | * mm est le mois en cours sur 2 chiffres (ex: 08), |
151 | 1 | Fabien Dupont | * dd est le jour du mois en cours sur 2 chiffres (ex: 22) et |
152 | 1 | Fabien Dupont | * rr est le numéro de révision de la zone pour le jour en cours (ex: 00 pour la première, puis 01, 02, etc.). |
153 | 1 | Fabien Dupont | |
154 | 1 | Fabien Dupont | Une fois la modification effectuée elle doit être commitée et pushée dans le repository git : |
155 | 1 | Fabien Dupont | |
156 | 1 | Fabien Dupont | <pre> |
157 | 1 | Fabien Dupont | $ git commit wan/tetaneutral.net.zone -m 'New host : zorglub.tetaneutral.net' |
158 | 1 | Fabien Dupont | [master 107104b] New host : zorglub.tetaneutral.net |
159 | 1 | Fabien Dupont | 1 file changed, 3 insertions(+), 1 deletion(-) |
160 | 1 | Fabien Dupont | $ git push |
161 | 1 | Fabien Dupont | Counting objects: 7, done. |
162 | 1 | Fabien Dupont | Delta compression using up to 4 threads. |
163 | 1 | Fabien Dupont | Compressing objects: 100% (3/3), done. |
164 | 1 | Fabien Dupont | Writing objects: 100% (4/4), 390 bytes, done. |
165 | 1 | Fabien Dupont | Total 4 (delta 2), reused 0 (delta 0) |
166 | 1 | Fabien Dupont | To ssh://git@git.tetaneutral.net/bind-zones.git |
167 | 1 | Fabien Dupont | 4fe0629..107104b master -> master |
168 | 1 | Fabien Dupont | </pre> |
169 | 1 | Fabien Dupont | |
170 | 1 | Fabien Dupont | h3. Prise en compte des modifications sur le primaire |
171 | 1 | Fabien Dupont | |
172 | 1 | Fabien Dupont | Pour que les modifications effectuées dans le repository git soient prise en compte sur le serveur primaire (ns1.tetaneutral.net AKA gw), il suffit de lancer l'agent puppet dessus. |
173 | 1 | Fabien Dupont | |
174 | 1 | Fabien Dupont | <pre> |
175 | 1 | Fabien Dupont | # puppet agent -vt |
176 | 1 | Fabien Dupont | info: Retrieving plugin |
177 | 1 | Fabien Dupont | info: Caching catalog for gw.tetaneutral.net |
178 | 1 | Fabien Dupont | info: Applying configuration version '1345644614' |
179 | 1 | Fabien Dupont | *snip* |
180 | 1 | Fabien Dupont | notice: /Stage[main]/Bind/Exec[git-pull]/returns: executed successfully |
181 | 1 | Fabien Dupont | *snip* |
182 | 1 | Fabien Dupont | notice: Finished catalog run in 5.94 seconds |
183 | 1 | Fabien Dupont | </pre> |
184 | 1 | Fabien Dupont | |
185 | 1 | Fabien Dupont | L'agent puppet effectue un « git pull » s'il y a des nouveaux commits dans le repository. Si c'est le cas, il recharge les zones dans bind pour prise en compte. |
186 | 1 | Fabien Dupont | |
187 | 1 | Fabien Dupont | h3. Vérifications |
188 | 1 | Fabien Dupont | |
189 | 1 | Fabien Dupont | La première vérification à effectuer est de contrôler que bind a bien pris en compte la modification de la zone +avec le nouveau serial+ : |
190 | 1 | Fabien Dupont | |
191 | 1 | Fabien Dupont | <pre> |
192 | 1 | Fabien Dupont | # tail /var/log/named/general.log |
193 | 1 | Fabien Dupont | 22-Aug-2012 14:50:16.596 reloading zones succeeded |
194 | 1 | Fabien Dupont | 22-Aug-2012 14:50:16.603 zone tetaneutral.net/IN/wan: loaded serial 2012082203 |
195 | 1 | Fabien Dupont | </pre> |
196 | 1 | Fabien Dupont | |
197 | 1 | Fabien Dupont | Exemple de rechargement de zone sans augmentation du serial : |
198 | 1 | Fabien Dupont | |
199 | 1 | Fabien Dupont | <pre> |
200 | 1 | Fabien Dupont | # tail /var/log/named/general.log |
201 | 1 | Fabien Dupont | *snip* |
202 | 1 | Fabien Dupont | 22-Aug-2012 14:45:08.890 zone tetaneutral.net/IN/wan: zone serial (2012082101) unchanged. zone may fail to transfer to slaves. |
203 | 1 | Fabien Dupont | </pre> |
204 | 1 | Fabien Dupont | |
205 | 1 | Fabien Dupont | Ensuite, il faut vérifier que la nouvelle zone a bien été transférée aux serveurs secondaires : |
206 | 1 | Fabien Dupont | |
207 | 1 | Fabien Dupont | <pre> |
208 | 1 | Fabien Dupont | # tail /var/log/named/xfer-out.log |
209 | 1 | Fabien Dupont | *snip* |
210 | 1 | Fabien Dupont | 22-Aug-2012 14:50:16.680 client 91.216.110.40#51301: view wan: transfer of 'tetaneutral.net/IN': AXFR-style IXFR started |
211 | 1 | Fabien Dupont | 22-Aug-2012 14:50:16.682 client 91.216.110.40#51301: view wan: transfer of 'tetaneutral.net/IN': AXFR-style IXFR ended |
212 | 1 | Fabien Dupont | 22-Aug-2012 14:53:37.118 client 217.70.177.40#44443: view wan: transfer of 'tetaneutral.net/IN': AXFR-style IXFR started |
213 | 1 | Fabien Dupont | 22-Aug-2012 14:53:37.121 client 217.70.177.40#44443: view wan: transfer of 'tetaneutral.net/IN': AXFR-style IXFR ended |
214 | 1 | Fabien Dupont | </pre> |
215 | 1 | Fabien Dupont | |
216 | 1 | Fabien Dupont | On ne voit que deux transferts, un vers 91.216.110.40 (grenode) et un vers 217.70.177.40 (ns6.gandi.net) alors qu'il y a trois secondaires. Mais ns1 et ns2 sont la même machine, ce n'est pas la peine de mettre à jour le cache du serveur primaire d'une zone alors qu'il connaît déjà la zone. |
217 | 1 | Fabien Dupont | |
218 | 1 | Fabien Dupont | Dernière vérification : contrôler que la modification effectuée est bien prise en compte : |
219 | 1 | Fabien Dupont | |
220 | 1 | Fabien Dupont | <pre> |
221 | 1 | Fabien Dupont | $ dig +short zorglub.tetaneutral.net @ns1.tetaneutral.net |
222 | 1 | Fabien Dupont | 91.224.149.142 |
223 | 1 | Fabien Dupont | $ dig +short zorglub.tetaneutral.net @ns2.tetaneutral.net |
224 | 1 | Fabien Dupont | 91.224.149.142 |
225 | 1 | Fabien Dupont | $ dig +short zorglub.tetaneutral.net @ns3.tetaneutral.net |
226 | 1 | Fabien Dupont | 91.224.149.142 |
227 | 1 | Fabien Dupont | $ dig +short zorglub.tetaneutral.net @ns6.gandi.net. |
228 | 1 | Fabien Dupont | 91.224.149.142 |
229 | 1 | Fabien Dupont | </pre> |