Monitor Forum | Start New Thread Start New Thread
RE: incorporation de dnscrypt-proxy [ Reply ]
By: 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 [ Reply ]
By: 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

FEDER Powered By FusionForge Collaborative Development Environment Charte d'utilisation / Nous contacter / Mentions légales Haut de page