Update tutorial2
This commit is contained in:
parent
5a4650f70e
commit
764a790b11
8 changed files with 177 additions and 20 deletions
|
|
@ -19,3 +19,136 @@ Voici les grandes étapes :
|
|||
* tester avec `dig @9.9.9.9 ANY login-x.srs.p0m.fr` que votre serveur est bien joignable.
|
||||
|
||||
Un ouvrage de référence, qui répondra à l'intégralité de vos questions et manières d'utiliser votre serveur DNS se trouve à <http://www.zytrax.com/books/dns/>.
|
||||
|
||||
|
||||
## Coller aux spécifications
|
||||
|
||||
Pourquoi une telle complexité apparente pour déléguer une zone DNS ?
|
||||
|
||||
Vous êtes sur le point d'obtenir le contrôle total d'un domaine :
|
||||
`login-x.srs.p0m.fr.`. Cela signifie que vous allez pouvoir décider,
|
||||
depuis votre propre serveur de noms (respectueux des
|
||||
[standards](https://www.ietf.org/rfc/rfc1034.txt)), comment vous allez
|
||||
répondre aux serveurs résolveurs des utilisateurs.
|
||||
|
||||
Le protocole DNS étant décentralisé, mais basé sur une arborescence
|
||||
unique, il est nécessaire que les serveurs faisant autorité sur une
|
||||
zone (`fr.`, `srs.p0m.fr.`, ...) fournissent toutes les informations
|
||||
nécessaire pour que cette délégation fonctionne.
|
||||
|
||||
À cet instant, vous connaissez l'adresse IPv6 routable sur Internet de votre
|
||||
serveur de noms (comme vous n'avez aujourd'hui qu'une seule machine, c'est
|
||||
l'adresse de votre tunnel). Il va donc falloir indiquer à Internet que c'est
|
||||
cette IP qu'il faut contacter, si l'on veut interroger le serveur faisant
|
||||
autorité.
|
||||
|
||||
Concrètement, vous allez devoir vous attribuer un sous-domaine pour votre
|
||||
serveur de noms, car c'est grâce à un enregistrement `NS` figurant dans la zone
|
||||
parente (pour vous, la zone parente c'est `srs.p0m.fr`) que la délégation va se
|
||||
faire.
|
||||
|
||||
Dans le cas basique, on va utiliser les serveurs de quelqu'un d'autre (d'un
|
||||
hébergement spécialisé par exemple, ou celui de son bureau d'enregistrement
|
||||
s'ils proposent ce service). Auquel cas, on fera figurer ce genre
|
||||
d'informations :
|
||||
|
||||
```
|
||||
42sh$ dig @e.ext.nic.fr. NS epita.fr.
|
||||
;; ->>HEADER<<- opcode: QUERY; status: NOERROR; id: 17590
|
||||
;; Flags: qr rd; QUERY: 1; ANSWER: 0; AUTHORITY: 3; ADDITIONAL: 0
|
||||
|
||||
;; QUESTION SECTION:
|
||||
;; epita.fr. IN NS
|
||||
|
||||
;; AUTHORITY SECTION:
|
||||
epita.fr. 172800 IN NS tooty.ionis-it.com.
|
||||
epita.fr. 172800 IN NS kazooie.ionis-it.com.
|
||||
epita.fr. 172800 IN NS banjo.ionis-it.com.
|
||||
|
||||
;; Received 100 B
|
||||
;; Time 2042-12-04 13:42:23 CET
|
||||
;; From 2a00:d78:0:102:193:176:144:22@53(UDP) in 13.9 ms
|
||||
```
|
||||
|
||||
La commande est envoyée spécifiquement aux serveurs de l'AFNIC, faisant
|
||||
autorité pour la zone `fr.`. Les serveurs de l'AFNIC nous indiquent en retour,
|
||||
que `epita.fr.` est déléguée à Ionis, et qu'elle dispose de 3 serveurs faisant
|
||||
autorité.
|
||||
|
||||
Mais dans votre cas, vous hébergez vous-même votre propre serveur au sein de
|
||||
votre zone, vous n'avez pas d'autre domaine à votre disposition. C'est
|
||||
également le cas de Wikipédia :
|
||||
|
||||
```
|
||||
42sh$ dig @d0.org.afilias-nst.org. NS wikipedia.org.
|
||||
;; ->>HEADER<<- opcode: QUERY; status: NOERROR; id: 47396
|
||||
;; Flags: qr rd; QUERY: 1; ANSWER: 0; AUTHORITY: 3; ADDITIONAL: 3
|
||||
|
||||
;; QUESTION SECTION:
|
||||
;; wikipedia.org. IN NS
|
||||
|
||||
;; AUTHORITY SECTION:
|
||||
wikipedia.org. 86400 IN NS ns0.wikimedia.org.
|
||||
wikipedia.org. 86400 IN NS ns2.wikimedia.org.
|
||||
wikipedia.org. 86400 IN NS ns1.wikimedia.org.
|
||||
|
||||
[...]
|
||||
```
|
||||
|
||||
On voit ici que pour résoudre les sous-domaines de `wikipedia.org.`, il faut
|
||||
demander à `nsX.wikimedia.org.`. Mais comment obtenir alors, l'adresse de ces
|
||||
serveurs de noms, puisque l'on ne sait pas où les contacter ...!
|
||||
|
||||
C'est là que les *GLUE records* entrent en jeu !
|
||||
|
||||
J'ai volontairement tronqué la sortie de la commande précédente, en entier, c'est :
|
||||
|
||||
```
|
||||
42sh$ dig @d0.org.afilias-nst.org. NS wikipedia.org.
|
||||
;; ->>HEADER<<- opcode: QUERY; status: NOERROR; id: 47396
|
||||
;; Flags: qr rd; QUERY: 1; ANSWER: 0; AUTHORITY: 3; ADDITIONAL: 3
|
||||
|
||||
;; QUESTION SECTION:
|
||||
;; wikipedia.org. IN NS
|
||||
|
||||
;; AUTHORITY SECTION:
|
||||
wikipedia.org. 86400 IN NS ns0.wikimedia.org.
|
||||
wikipedia.org. 86400 IN NS ns2.wikimedia.org.
|
||||
wikipedia.org. 86400 IN NS ns1.wikimedia.org.
|
||||
|
||||
;; ADDITIONAL SECTION:
|
||||
ns0.wikimedia.org. 86400 IN A 208.80.154.238
|
||||
ns1.wikimedia.org. 86400 IN A 208.80.153.231
|
||||
ns2.wikimedia.org. 86400 IN A 91.198.174.239
|
||||
|
||||
;; Received 143 B
|
||||
;; Time 2042-12-04 13:42:23 CET
|
||||
;; From 2001:500:f::1@53(UDP) in 15.2 ms
|
||||
```
|
||||
|
||||
Afin d'éviter de tourner en rond sans jamais avoir réponse à notre question, en
|
||||
même temps que de nous répondre sur qui sont les serveurs faisant autorité pour
|
||||
la zone `wikipedia.org.`, les serveurs gérant la zone `org.` indiquent
|
||||
également à quelle adresse ont peut les contacter.
|
||||
|
||||
Ce sont les administrateurs de la zone `wikipedia.org.` qui ont indiqué à
|
||||
`org.` quels étaient leurs serveurs de noms. Et ils ont également donné des
|
||||
*GLUE records*, pour permettre à la magie d'opérer.
|
||||
|
||||
À vous maintenant de créer votre zone, en envoyant sur Maatma, le nom de
|
||||
domaine votre serveur de noms, ainsi que le *GLUE record* qui lui correspond.
|
||||
|
||||
|
||||
## DNSSEC (bonus)
|
||||
|
||||
En bonus, vous devriez sécuriser les réponses envoyées par votre serveur DNS.
|
||||
|
||||
Pour ce faire, et toujours parce que l'on se trouve dans le cadre d'une
|
||||
structure arborescente, les clefs publiques permettant de valider les
|
||||
enregistrements d'un domaine en particulier, sont publiées dans la zone
|
||||
parente. C'est pourquoi, vous disposez sur Maatma, d'une interface vous
|
||||
permettant d'indiquer vos clefs publiques.
|
||||
|
||||
De nombreux articles sont disponibles sur Internet pour vous permettre de
|
||||
configurer DNSSEC en fonction du serveur autoritaire que vous aurez choisi. À
|
||||
vous de jouer !
|
||||
|
|
|
|||
Reference in a new issue