Différences

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

Lien vers cette vue comparative

Both sides previous revision Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Both sides next revision
si:acme-dns [2018/12/25 17:35]
pitchum [Certificat Wildcard avec dehydrated]
si:acme-dns [2021/02/24 17:46]
pitchum [Certificat Wildcard avec dehydrated]
Ligne 24: Ligne 24:
 ===== Configurer Bind pour les mises à jour dynamiques ===== ===== Configurer Bind pour les mises à jour dynamiques =====
  
-Techniquement il est possible de configurer directement la zone parinux.org pour accepter les changements dynamiques, avec la commande //​nsupdate//​ par exemple. Mais quand on active cette option alors Bind réorganise complètement le fichier zone à sa façon illisible. Et ça c'est pénible pour les adminsys. Et puis en plus ce fichier zone ne doit plus être éditer ​manuellement comme l'​indique la page //man nsupdate// :+Techniquement il est possible de configurer directement la zone parinux.org pour accepter les changements dynamiques, avec la commande //​nsupdate//​ par exemple. Mais quand on active cette option alors Bind réorganise complètement le fichier zone à sa façon illisible. Et ça c'est pénible pour les adminsys. Et puis en plus ce fichier zone ne doit plus être édité ​manuellement comme l'​indique la page //man nsupdate// :
  
 > Zones that are under dynamic control via nsupdate or a DHCP server should not be edited by hand. Manual edits could conflict with dynamic updates and cause data to be lost. > Zones that are under dynamic control via nsupdate or a DHCP server should not be edited by hand. Manual edits could conflict with dynamic updates and cause data to be lost.
Ligne 55: Ligne 55:
 Dans le fichier ///​etc/​bind/​named.conf.local//​ déclarer cette nouvelle zone et inclure le fichier de la clef secrète : Dans le fichier ///​etc/​bind/​named.conf.local//​ déclarer cette nouvelle zone et inclure le fichier de la clef secrète :
  
-<code>+<file /​etc/​bind/​named.conf.local.sample>
 include "/​etc/​bind/​rndc-acme.key";​ include "/​etc/​bind/​rndc-acme.key";​
 zone "​_acme-challenge.parinux.org"​ { zone "​_acme-challenge.parinux.org"​ {
Ligne 63: Ligne 63:
   allow-update { key "​rndc-acme";​ };   allow-update { key "​rndc-acme";​ };
 }; };
-</code>+</file>
  
 Il faut maintenant peupler un minimum cette zone dynamique (un SOA et un NS). Créer le fichier ///​var/​cache/​bind/​_acme-challenge.parinux.org.zone//​ comme ceci : Il faut maintenant peupler un minimum cette zone dynamique (un SOA et un NS). Créer le fichier ///​var/​cache/​bind/​_acme-challenge.parinux.org.zone//​ comme ceci :
  
-<code>+<file /​var/​cache/​bind/​_acme-challenge.parinux.org.zone>
 _acme-challenge.parinux.org. IN SOA troll4.parinux.org. admin.parinux.org. ( _acme-challenge.parinux.org. IN SOA troll4.parinux.org. admin.parinux.org. (
        ​2018112200        ​2018112200
Ligne 76: Ligne 76:
 ) )
   NS   ​troll4.parinux.org.   NS   ​troll4.parinux.org.
-</code>+</file>
  
 Permettre à Bind de modifier ce fichier : Permettre à Bind de modifier ce fichier :
Ligne 91: Ligne 91:
 sudo nsupdate -k /​etc/​bind/​rndc.key <<EOF sudo nsupdate -k /​etc/​bind/​rndc.key <<EOF
 server 127.0.0.1 server 127.0.0.1
-delete _acme-challenge.parinux.org+update ​delete _acme-challenge.parinux.org
 update add _acme-challenge.parinux.org 8000 IN TXT "​coucou tout va bieng ?" update add _acme-challenge.parinux.org 8000 IN TXT "​coucou tout va bieng ?"
 send send
 EOF EOF
 </​code>​ </​code>​
 +
 Puis Puis
  
Ligne 118: Ligne 119:
 Temporairement,​ le temps de tester la configuration on va utiliser le serveur ACME de staging. Temporairement,​ le temps de tester la configuration on va utiliser le serveur ACME de staging.
  
-<​code>​echo '​CA="​https://​acme-staging.api.letsencrypt.org/​directory"'​ | sudo tee /​etc/​dehydrated/​conf.d/​staging.sh</​code>​+<​code>​echo '​CA="​https://​acme-staging-v02.api.letsencrypt.org/​directory"'​ | sudo tee /​etc/​dehydrated/​conf.d/​staging.sh</​code>​
  
-On configure dehydrated pour faire de la validation DNS-01 dans le fichier ///​etc/​dehydrated/​conf.d/​auth-dns.conf// :+On configure dehydrated pour faire de la validation DNS-01 dans le fichier ///​etc/​dehydrated/​conf.d/​auth-dns.sh// :
  
-<​file>​+<​file ​/​etc/​dehydrated/​conf.d/​auth-dns.sh>
 CHALLENGETYPE="​dns-01"​ CHALLENGETYPE="​dns-01"​
 HOOK=/​etc/​dehydrated/​hook-custom.sh HOOK=/​etc/​dehydrated/​hook-custom.sh
Ligne 149: Ligne 150:
     "​deploy_cert"​)     "​deploy_cert"​)
         # optional:         # optional:
-        ​/path/to/deploy_cert.sh "​$@"​+        ​at /var/lib/dehydrated/​certs/​parinux.org/​fullchain.pem /​var/​lib/​dehydrated/​certs/​parinux.org/​privkey.pem > /​etc/​ejabberd/​parinux.org.ejabberd.pem 
 +        sudo -u ejabberd ejabberdctl reload_config 
         ;;         ;;
     "​unchanged_cert"​)     "​unchanged_cert"​)
Ligne 177: Ligne 180:
 La première fois : La première fois :
  
-dehydrated --register --accept-terms+<code bash>dehydrated --register --accept-terms</​code>​
  
 Puis on génère ou régénère les certificats : Puis on génère ou régénère les certificats :
  
-dehydrated -c+<code bash>dehydrated -c</​code>​
  
 Si tout s'est bien passé, alors pour peut générer un vrai certificat cette fois en supprimant le fichier ///​etc/​dehydrated/​conf.d/​staging.sh//​ : Si tout s'est bien passé, alors pour peut générer un vrai certificat cette fois en supprimant le fichier ///​etc/​dehydrated/​conf.d/​staging.sh//​ :
Ligne 188: Ligne 191:
 rm /​etc/​dehydrated/​conf.d/​staging.sh rm /​etc/​dehydrated/​conf.d/​staging.sh
 dehydrated --register --accept-terms dehydrated --register --accept-terms
-dehydrated -c+dehydrated -c --force # --force pour écraser le précédent certificat staging
 </​code>​ </​code>​
  
 
/var/lib/dokuwiki/data/pages/si/acme-dns.txt · Dernière modification: 2022/02/13 19:32 par pitchum
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Debian Driven by DokuWiki