Wiki » Historique » Révision 3
Révision 2 (sacha, 25/12/2022 23:48) → Révision 3/35 (sacha, 26/12/2022 00:07)
# DNS récursif Ouvert DoH DoT & HA Aquilenet propose deux serveurs DNS ouverts cf https://www.aquilenet.fr/services/dns/ On a mis aussi un DNS ouvert aussi sur l'IP 45.67.81.23 car facile à retenir, c'est l'adresse de dns.aquilenet.fr (voir [http://dns.aquilenet.fr](http://dns.aquilenet.fr)) . Nous en avons profité pour ajouter DoH et DoT et d'avoir cette adresse en IP Virtuelle partagée entre Gaia et Hades. ## Configurations communes à Gaia et Hades ### Apache2 * /etc/apache2/sites-enabled/dns.aquilenet.fr.conf ~~~ <VirtualHost *:80> ServerAdmin webmaster@aquilenet.fr ServerName dns.aquilenet.fr DocumentRoot /srv/www/dns.aquilenet.fr ErrorLog ${APACHE_LOG_DIR}/dns.aqln.error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/dns.aqln.access.log combined Alias /.well-known/acme-challenge /srv/letsencrypt/challenges/dns.aquilenet.fr <Directory /srv/letsencrypt/challenges/dns.aquilenet.fr> Require all granted </Directory> <Directory /> Options FollowSymLinks AllowOverride None Require all granted </Directory> </VirtualHost> ~~~ ### ## Génération du certificat SSL ~~~ certbot --apache --agree-tos --email sysop@aquilenet.fr -d dns.aquilenet.fr chgrp bind /etc/letsencrypt/live/dns.aquilenet.fr/privkey.pem chmod 0640 /etc/letsencrypt/live/dns.aquilenet.fr/privkey.pem openssl dhparam -out /etc/bind/dhparam.pem 4096 ~~~ Copie du certificat sur gaia * /etc/letsencrypt/renewal-hooks/post/sync-cert.sh ~~~ #!/bin/bash rsync -aPHSA /etc/letsencrypt/archive/dns.aquilenet.fr gaia:/etc/letsencrypt/archive/ ~~~ ## Bind9 BIND 9.17.10 implémente DoH, au jour de l'installation il n'est disponible que dans les backports bullseye (A changer quand il sera dans main). * /etc/bind/named.conf.options Dans la catégorie "options {" ~~~ listen-on-v6 { 2a0c:e300::101; }; listen-on { 185.233.100.101; 45.67.81.23; }; # DOH listen-on port 443 tls local-tls http default { 45.67.81.23; }; # DoT listen-on port 853 tls local-tls { 45.67.81.23; }; recursion yes; dnssec-validation auto; ~~~ ~~~ # DoH DoT tls local-tls { key-file "/etc/letsencrypt/live/dns.aquilenet.fr/privkey.pem"; cert-file "/etc/letsencrypt/live/dns.aquilenet.fr/fullchain.pem"; dhparam-file "/etc/bind/dhparam.pem"; protocols { TLSv1.2; TLSv1.3; }; prefer-server-ciphers yes; session-tickets no; }; ~~~ ### ## AppArmor * /etc/apparmor.d/local/usr.sbin.named ~~~ /etc/letsencrypt/** r, ~~~ appliquer avec: `apparmor_parser -r /etc/apparmor.d/usr.sbin.named` ## Configurations spécifiques ### Génération du certificat SSL sur Hades ~~~ certbot --apache --agree-tos --email sysop@aquilenet.fr -d dns.aquilenet.fr chgrp bind /etc/letsencrypt/live/dns.aquilenet.fr/privkey.pem chmod 0640 /etc/letsencrypt/live/dns.aquilenet.fr/privkey.pem openssl dhparam -out /etc/bind/dhparam.pem 4096 ~~~ Copie du certificat sur gaia * /etc/letsencrypt/renewal-hooks/post/sync-cert.sh ~~~ #!/bin/bash rsync -aPHSA /etc/letsencrypt/archive/dns.aquilenet.fr gaia:/etc/letsencrypt/archive/ ~~~ ### Keepalived #### Hades Master * /etc/keepalived/keepalived.conf ~~~ global_defs { notification_email { sysop@aquilenet.fr } notification_email_from vrrp-dns@aquilenet.fr.fr smtp_server localhost smtp_connect_timeout 30 } vrrp_instance DNS { state MASTER interface eth0 virtual_router_id 101 priority 100 advert_int 2 smtp_alert unicast_src_ip 185.233.100.16 unicast_peer { 185.233.100.2 } virtual_ipaddress { 45.67.81.23/32 dev eth1 scope global # VIP } } ~~~ #### Gaia Slave * /etc/keepalived/keepalived.conf ~~~ global_defs { notification_email { sysop@aquilenet.fr } notification_email_from vrrp-dns@aquilenet.fr.fr smtp_server localhost smtp_connect_timeout 30 } vrrp_instance DNS { state BACKUP interface eth0 virtual_router_id 101 priority 50 advert_int 2 smtp_alert unicast_src_ip 185.233.100.2 unicast_peer { 185.233.100.16 } virtual_ipaddress { 45.67.81.23/32 dev eth1 scope global # VIP } } ~~~