2 votes

Problèmes liés à l'exécution de plusieurs serveurs DNS BIND derrière une seule IP publique

Je suis en train d'implémenter une solution pour équilibrer les requêtes DNS sur plusieurs serveurs DNS récursifs afin d'augmenter la limite de QPS.

Chaque VM centos a un espace de noms gi configuré avec le loopback du ns configuré à une seule IP publique DNS.

Chaque serveur DNS annonce la même IP DNS à mon réseau à travers les peerings bgp configurés sur mon routeur quagga.

toutes les requêtes entrantes sont équilibrées via le cœur du réseau à l'aide de la fonction bgp maximum-paths

Cependant, un seul serveur DNS Bind interrogera l'IP DNS, l'autre retournera simplement servfail (ce n'est pas statique, si je tue les peerings bgp vers Server1, les requêtes sont réussies, la même chose se produit si je tue les peerings vers Server2), mais ils ne fonctionneront pas en tandem.

Une chose que j'ai remarquée est que si je fais un

ip netns exec gi dig @DNSIP +trace

ip netns exec gi dig @DNSIP  cloudflare.com +trace

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-16.P2.el7_8.6 <<>> @DNSIP cloudflare.com +trace
; (1 server found)
;; global options: +cmd
.           509520  IN  NS  e.root-servers.net.
.           509520  IN  NS  c.root-servers.net.
.           509520  IN  NS  f.root-servers.net.
.           509520  IN  NS  j.root-servers.net.
.           509520  IN  NS  b.root-servers.net.
.           509520  IN  NS  i.root-servers.net.
.           509520  IN  NS  h.root-servers.net.
.           509520  IN  NS  m.root-servers.net.
.           509520  IN  NS  k.root-servers.net.
.           509520  IN  NS  a.root-servers.net.
.           509520  IN  NS  l.root-servers.net.
.           509520  IN  NS  d.root-servers.net.
.           509520  IN  NS  g.root-servers.net.
.           509520  IN  RRSIG   NS 8 0 (didn't include the key)

alors que Server2 ne renvoie pas de RRSIG bien que les deux fichiers named.conf contiennent dnssec-enable yes et dnssec-validation yes.

ip netns exec gi dig @DNSIP  cloudflare.com +trace

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-16.P2.el7_8.6 <<>> @DNSIP cloudflare.com +trace
; (1 server found)
;; global options: +cmd
.           518400  IN  NS  c.root-servers.net.
.           518400  IN  NS  k.root-servers.net.
.           518400  IN  NS  g.root-servers.net.
.           518400  IN  NS  d.root-servers.net.
.           518400  IN  NS  a.root-servers.net.
.           518400  IN  NS  j.root-servers.net.
.           518400  IN  NS  e.root-servers.net.
.           518400  IN  NS  h.root-servers.net.
.           518400  IN  NS  f.root-servers.net.
.           518400  IN  NS  i.root-servers.net.
.           518400  IN  NS  m.root-servers.net.
.           518400  IN  NS  b.root-servers.net.
.           518400  IN  NS  l.root-servers.net.

Ma configuration dnssec est la suivante :

    dnssec-enable no;
    dnssec-validation no;

    /* Path to ISC DLV key */
    bindkeys-file "/etc/named.iscdlv.key";

    managed-keys-directory "/var/named/dynamic";

Si je désactive dnssec dans mon fichier named.conf, les serveurs DNS fonctionnent en tandem et je peux atteindre mon objectif de 20 000 QPS, mais si dnssec est activé, cela ne fonctionne pas.

Quelqu'un a-t-il déjà rencontré un problème de ce type ? S'agit-il d'une limitation de BIND derrière un seul PublicIP ? ou s'agit-il, comme je le soupçonne, d'un problème lié à la configuration de DNSSEC ?

2voto

Tommiie Points 5467

Essayez cette configuration DNSsec sur tous vos résolveurs DNS :

options {
   //dnssec-enable no; - remove the line, the option has been obsoleted
   dnssec-validation auto;
}

Les options dnssec-enable a été supprimé (voir ARM, p. 156) et DNSsec lookaside validation (DLV) a également été supprimé (voir ARM, p. 156).

Pour les résolveurs récursifs, je ne pense pas que vous ayez besoin d'autre chose.

Il convient de noter que dnssec-validation auto; est le paramètre par défaut, vous n'avez donc pas besoin de le saisir.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X