J'essaie de configurer BIND afin qu'il intercepte toutes les demandes qui lui sont adressées et les pointe vers un ensemble spécifique de serveurs NS et un enregistrement A spécifique.
J'ai environ 500 domaines et j'en ajoute de nouveaux à raison de 10 à 15 par jour, donc je ne veux pas ajouter explicitement une zone pour chaque domaine.
Ma configuration actuelle est la suivante: dans mon named.conf, j'ai une vue (nommée external) avec la zone suivante:
zone "." {
type master;
file "ext.zone";
};
Cela correspond à toutes les demandes.
ext.zone est:
TTL 3600 $ @ SOA. root.nsdomain.com. ( 1 ; En série 3600; Rafraîchir 300; Retenter 3600; Expirer 300); Cache TTL négatif EN NS ns1.example.com EN NS ns2.example.com ns1 IN A 192.0.2.4 ns2 IN A 192.0.2.5 *. DANS UN 192.0.2.6
ainsi, l'objectif est: pour toutes les demandes NS, retourner ns1.example.com
et ns2.example.com
pour toutes les demandes A, sauf là où c'est ns1.example.com
ou ns2.example.com
, retourner 192.0.2.6
. Pour le ns1.example.com
retour 192.0.2.4
, pour le ns2.example.com
retour 192.0.2.5
.
Cela fonctionne presque, le seul problème est que lorsque je fais une fouille, j'obtiens:
creuser @localhost somedomain.example ; > DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5_5.3> @localhost somedomain.example ; (1 serveur trouvé) ;; options globales: printcmd ;; J'ai une réponse: ;; opcode: QUERY, statut: NOERROR, id: 37733 ;; drapeaux: qr aa rd; DEMANDE: 1, RÉPONSE: 1, AUTORITÉ: 2, SUPPLÉMENTAIRE: 2 ;; SECTION QUESTION: ; undomaine.exemple. DANS UN ;; SECTION RÉPONSE: undomaine.exemple. 3600 DANS UN 192.0.2.6 // comme prévu ;; SECTION DE L'AUTORITÉ: . 3600 IN NS ns1.example.com. // attendu, je ne sais pas si le "." au début, c'est mauvais. . 3600 IN NS ns2.example.com. // voir au dessus. ;; SECTION SUPPLÉMENTAIRE: ns1.example.com. 3600 IN A 192.0.2.6 // non attendu, cela devrait être 192.0.2.4 ns2.example.com. 3600 IN A 192.0.2.6 // non attendu, cela devrait être 192.0.2.5
Comment puis-je réparer ça? Suis-je en train de faire quelque chose d'horrible? Y a-t-il une meilleure manière de faire cela?