[[formations:dns]]

DNS

Pour éviter de se farcir les adresses IPs à la main, on utilise un annuaire, le DNS (Domain Name System), qui traduit par exemple www.ffdn.org en 185.233.100.13 + 2a0c:e300::13. Cela fonctionne donc exactement comme l'annuaire téléphonique: on cherche un nom, cela donne un numéro. On peut en plus regarder à l'envers: depuis le numéro, obtenir le nom correspondant (reverse DNS, rDNS).

  • Le laisser-passer A38 d'Internet (DNS) - système de nom de domaines - Monsieur Bidouille

Partie 1

Partie 2

  • Éventuellement des liens ou vidéos vers des tutoriels

Différents membres de la fédération fournissent des résolveurs ouverts, que l'on peut donc utiliser depuis n'importe où dans le monde, pourvu que le port 53 soit ouvert:

FAI IPv4 IPv6 validation DNSSEC disponible en TLS
Alsace Réseau Neutre 89.234.141.66 2a00:5881:8100:1000::3 Oui Non
Aquilenet 185.233.100.100 2a0c:e300::100 ? ?
Aquilenet 185.233.100.101 2a0c:e300::101 ? ?
FDN 80.67.169.12 2001:910:800::12 ? ?
FDN 80.67.169.40 2001:910:800::40 ? ?
Gozdata (hébergé sur une VM Grifon) 89.234.186.18 2a00:5884:8218::1 Oui Non
LDN 80.67.188.188 2001:913::8 Oui Oui

Une autre liste est disponible sur https://diyisp.org/dokuwiki/doku.php?id=technical:dnsresolver


Pour faire votre propre résolveur ouvert:

  • Avec bind:
    • mettre dans named.conf.options les options recursion yes; et allow-query { any; };
  • Attention à limiter les requêtes, car sinon vous risquez de participer à des DDoS basés sur DNS
    • Limiter à 20/seconde par /28 en v4, et à 1/s pour les requêtes ANY:
iptables -N dns_limit
iptables -A INPUT -d $VOTRE_IP -p tcp -m tcp --dport 53 -j dns_limit
iptables -A dns_limit -s $VOTRE_RESEAU -j ACCEPT
-A dns_limit -m hashlimit --hashlimit-above 20/sec --hashlimit-burst 100 --hashlimit-mode srcip --hashlimit-name DNS --hashlimit-srcmask 28 -m comment --comment "RATE-LIMIT DNS 10/src burst 100" -j DROP
-A dns_limit -m string --algo bm --hex-string "|00 00 ff 00 01|" --from 28 -m hashlimit --hashlimit-above 1/sec --hashlimit-burst 2 --hashlimit-mode srcip --hashlimit-name RL-DNS-ANY-v4 --hashlimit-srcmask 28 -m comment --comment "RATE-LIMIT DNS ANY QTYPE 1/s burst 2" -j DROP
iptables -A dns_limit -j ACCEPT
  • de même par /56 en v6:
ip6tables -N dns_limit
ip6tables -A INPUT -d $VOTRE_IP_6 -p tcp -m tcp --dport 53 -j dns_limit
ip6tables -A dns_limit -s $VOTRE_RESEAU_6 -j ACCEPT
-A dns_limit -m hashlimit --hashlimit-above 20/sec --hashlimit-burst 100 --hashlimit-mode srcip --hashlimit-name DNS --hashlimit-srcmask 56 -m comment --comment "RATE-LIMIT DNS 10/s burst 100" -j DROP
-A dns_limit -m string --algo bm --hex-string "|00 00 ff 00 01|" --from 48 -m hashlimit --hashlimit-above 1/sec --hashlimit-burst 2 --hashlimit-mode srcip --hashlimit-name RL-DNS-ANY-v6 --hashlimit-srcmask 56 -m comment --comment "RATE-LIMIT DNS ANY QTYPE 1/s burst 2" -j DROP
ip6tables -A dns_limit -j ACCEPT
  • formations/dns.txt
  • Dernière modification: 2019/05/11 14:44
  • par khrys