Wiki CgX

Parce que j'ai un cerveau, mais pas trop.

Outils pour utilisateurs

Outils du site


it:linux-selfhosting:bind

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Dernière révisionLes deux révisions suivantes
it:linux-selfhosting:bind [01 Mar 2022 :: 10:46] – ↷ Liens modifiés en raison d'un déplacement. CgXit:linux-selfhosting:bind [30 May 2022 :: 11:51] CgX
Ligne 108: Ligne 108:
  
 </code> </code>
- 
- 
-===== Valider automatiquement un certificat Let's Encrypt en dns-01 ===== 
- 
-<WRAP center round info 60%> 
-Postulat : On veut créer un certificat wildcard *.domain.tld avec letsencrypt. On a un serveur bind autoritaire sous la main, en local sur la machine. 
-</WRAP> 
- 
-==== Etape 1 : créer un accès a bind ==== 
- 
-  * D'abord on génère une nouvelle clé (si possible dans le répertoire qui va bien ///var/cache/bind/keys//) : 
-<code>dnssec-keygen -a HMAC-SHA512 -b 512 -n HOST letsencrypt</code> 
-  * Ensuite on va récupérer le contenu de la clé dans l'un des fichiers : letsencrypt. IN KEY 512 3 165 ''6kB<bla bla pleins de trucs>aCA=='' 
-  * On va le coller dans le fichier que va utiliser certbot pour accéder a la zone ((Ici, le serveur bind est local (127.0.0.1), mais on peut mettre autre chose si besoin.)) : 
-<code - /etc/letsencrypt/rfc2136.ini>dns_rfc2136_server = 127.0.0.1 
-dns_rfc2136_name = letsencrypt 
-dns_rfc2136_secret = 6kB<bla bla pleins de trucs>aCA== 
-dns_rfc2136_algorithm = HMAC-SHA512 
-dns-rfc2136-propagation-seconds = 300 
-</code> 
- 
-<WRAP center round important 60%> 
-L'option ''dns-rfc2136-propagation-seconds'' est facultative : il m'est arrivé que le renouvellement foire parce que l'enregistrement DNS ne se propage pas assez vite vers les NS secondaires. La valeur par défaut de cette option est **60** secondes. 
-</WRAP> 
- 
- 
-  * Et on va aussi le coller dans la config de bind : 
-<code config /etc/bind/named.conf.local> 
-key "letsencrypt" { 
-    algorithm hmac-sha512; 
-    secret "6kB<bla bla pleins de trucs>aCA=="; 
-    }; 
-</code> 
-  * Dans le même fichier de config, rajouter l'accès à la zone elle-même : 
-<code config /etc/bind/named.conf.local> 
-zone "domain.tld" in { 
-    type master; 
-    file "domain.tld.named"; 
-    ... 
-    ... 
-    update-policy { grant letsencrypt name _acme-challenge.domain.tld. txt; }; 
-    }; 
-</code> 
-  * Et on restart : <code>service bind9 restart</code> 
- 
-==== Etape 2 : On teste à vide ==== 
- 
-<WRAP center round info 60%> 
-Ici, on souhaite générer un certificat pour ***.domain.tld** mais également pour **domain.tld**, car il n'est pas compris par défaut dans le wildcard ! 
-</WRAP> 
- 
-On teste une première génération en dry-run :  
-<code>certbot certonly --dns-rfc2136 --dns-rfc2136-credentials /etc/letsencrypt/rfc2136.ini --preferred-challenges=dns --email=letsencrypt@domain.tld --agree-tos -d *.domain.tld -d domain.tld --dry-run</code> 
- 
-<WRAP center round important 60%> 
-Attention : Le fichier de zone étant modifié directement par bind pour ajouter puis retirer l'enregistrement TXT, il a tendance a mettre le bazar dans la syntaxe du fichier ! Pensez à faire une sauvegarde de votre zone "propre" avant de lancer ces commandes 
-</WRAP> 
- 
-Ce qui devrait donner à peu près ça : 
-<code>Saving debug log to /var/log/letsencrypt/letsencrypt.log 
- 
-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
-Processing /usr/local/etc/letsencrypt/renewal/domain.tld.conf 
-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
-Cert not due for renewal, but simulating renewal for dry run 
-Plugins selected: Authenticator dns-rfc2136, Installer None 
-Renewing an existing certificate 
-Performing the following challenges: 
-dns-01 challenge for domain.tld 
-Waiting 5 seconds for DNS changes to propagate 
-Waiting for verification... 
-Cleaning up challenges 
- 
-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
-new certificate deployed without reload, fullchain is 
-/usr/local/etc/letsencrypt/live/domain.tld/fullchain.pem 
-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
- 
-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
-** DRY RUN: simulating 'certbot renew' close to cert expiry 
-**          (The test certificates below have not been saved.) 
- 
-Congratulations, all renewals succeeded. The following certs have been renewed: 
-  /usr/local/etc/letsencrypt/live/domain.tld.com/fullchain.pem (success) 
-** DRY RUN: simulating 'certbot renew' close to cert expiry 
-**          (The test certificates above have not been saved.) 
-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</code> 
- 
-==== Etape 3 : On génère vraiment ==== 
- 
-Même commande que précédemment, mais sans le dry-run :  
-<code>certbot certonly --dns-rfc2136 --dns-rfc2136-credentials /etc/letsencrypt/rfc2136.ini --preferred-challenges=dns --email=letsencrypt@domain.tld --agree-tos -d *.domain.tld -d domain.tld</code> 
- 
-Si tout se passe bien, vous aurez généré votre certificat wildcard ! 
  
 ===== Installer un serveur DNS over HTTPS ===== ===== Installer un serveur DNS over HTTPS =====
it/linux-selfhosting/bind.txt · Dernière modification : 30 May 2022 :: 11:53 de CgX