RE: incorporation de dnscrypt-proxy [ Répondre ] Par : Richard REY (Rexy) on 2022-03-13 11:19 | [forum:492807] |
Bonjour, Merci pour cette proposition déjà bien aboutie. Ceci est en effet une piste très intéressante d'évolution. Au-delà des ajouts proposés par ce proxy DNS (DOH, Dnscrypt, etc.) il est utile de vérifier quelques critères de non-régression par rapport à l'architecture actuelle. J'en propose deux : - Depuis la V3.3, nous avons décidé de remplacer dnsmasq par unbound à cause de problèmes de montée en charge. L'étude qui a démontré cela est au §9.8 de la doc technique. Il faut donc vérifier que Dnscrypt-proxy répond aussi à cette contrainte de "montée en charge". - En remplaçant dnsmasq par Unbound, nous avons été obligés de laisser une instance de dnsmasq chainée à Unbound pour le traitement de la whitelist. Vous pouvez le voir sur le schéma d'architecture du §3 de la doc technique. Cela est dû au fait que la version de Unbound packagé dans Mageia7.1 n’intégrait pas encore la notion de "hook". Les hook DNS nous permettent d'alimenter des ipsets (variable du parefeu) en temps réel. Nous avons sollicité le packager Mageia pour qu'il bascule sur une version "compatible hook" d'unbound et qu'il modifie les options de compilation. Cela a été fait pour Mageia 8. Nous pourrons donc supprimer la dernière instance de Dnsmasq dans la prochaine version 3.6 (il y aura une 3.5.5 avant). Il faut donc vérifier que Dnscrypt-proxy intègre cette notion de Hook afin de pouvoir alimenter les Ipsets. Dans le cas contraire, il faudra le chainer à Unbound (ce qui impacte légèrement la performance de résolution). La version de dnscrypt-proxy de Mageia8 est la 2.0.44 (2.1 dans Cauldron --> mageia9) |
incorporation de dnscrypt-proxy [ Répondre ] Par : guillaume marsat on 2022-03-13 07:45 | [forum:492794] |
Bonjour, une idée qui je pense serai à étudier c'est soit l'ajout de dnscrypt-proxy (https://dnscrypt.info/) , soit le remplacement de dnsmasq pare celui-ci . il a l'avantage de gérer les protocole récent de résolution DNS, mais aussi il et moins sensible sur la syntax dans ces whiteliste et blacklist car baser sur des patterns donc sans obligation de coller précisément au conventions de nomages des nom des domaines ce qui éviterais certain bugs de maj de la bl de toulouse quant une coquille ce glice dedans. sous mageia 8 la version et un peut ancienne mais il suffit de télécharger le binaire prés compiler sur le git pour remplacer celui des dépôts pour mètre a jour. le code ci-dessous le faisant automatiquement la maj sur mageia 8 if [ "$(/usr/sbin/dnscrypt-proxy -version)" != "2.1.1" ] ; then if [ "$(arch)" = "x86_64" ] ;then ARCH="x86_64" fi ARCH=${ARCH:="i386"} wget https://github.com/DNSCrypt/dnscrypt-proxy/releases/download/2.1.1/dnscrypt-proxy-linux_${ARCH}-2.1.1.tar.gz tar xf dnscrypt-proxy-linux_${ARCH}-2.1.1.tar.gz cp -f linux-${ARCH}/dnscrypt-proxy /usr/sbin/dnscrypt-proxy rm dnscrypt-proxy-linux_${ARCH}-2.1.1.tar.gz rm -rf linux-${ARCH}/ fi exemple de code pour créer une instance spécifique alcasar if [ -z "$(id -u alcasar1dnscrypt-proxy 2> /dev/null)" ]; then useradd -g nogroup -u $(get_free_uid_sys) --system -K PASS_MAX_DAYS=-1 --home /run/CTdnscrypt-proxy --comment "system user alcasar1dnscrypt-proxy" --shell /usr/sbin/nologin alcasar1dnscrypt-proxy fi { echo " [Unit] Description=DNSCrypt client proxy Documentation=https://github.com/DNSCrypt/dnscrypt-proxy/wiki After=network.target Before=nss-lookup.target Wants=nss-lookup.target [Install] WantedBy=multi-user.target [Service] AmbientCapabilities=cap_net_bind_service NonBlocking=true ExecStart=/usr/sbin/dnscrypt-proxy -config /etc/alcasar//dnscrypt-proxy.toml ProtectHome=true ProtectKernelModules=true ProtectKernelTunables=true ProtectControlGroups=true MemoryDenyWriteExecute=true User=alcasard1nscrypt-proxy CacheDirectory=alcasar1dnscrypt-proxy LogsDirectory=alcasar1dnscrypt-proxy RuntimeDirectory=alcasar1dnscrypt-proxy " } > /etc/systemd/system/alcasar1dnscrypt-proxy.service chmod 664 /etc/systemd/system/alcasar1dnscrypt-proxy.service systemctl daemon-reload systemctl enable alcasar1dnscrypt-proxy.service |