Próbuję skonfigurować BIND, aby przechwytywał wszystkie żądania do niego kierowane i wskazywał na określony zestaw serwerów NS i określony rekord A.
Mam około 500 domen i dodaję nowe w tempie 10-15 dziennie, więc nie chcę jawnie dodawać strefy dla każdej domeny.
Moja obecna konfiguracja to: w moim named.conf mam widok (nazwany zewnętrzny) z następującą strefą:
zone "." {
type master;
file "ext.zone";
};
To pasuje do wszystkich żądań.
ext.zone to:
3600 USD @ IN SOA. root.nsdomain.com. ( 1; Seryjny 3600; Odświeżać 300; Spróbować ponownie 3600; Wygasać 300); Ujemne buforowanie TTL IN NS ns1.przyklad.com IN NS ns2.example.com ns1 IN A 192.0.2.4 ns2 IN A 192.0.2.5 *. IN A 192.0.2.6
więc celem jest: dla wszystkich żądań NS, zwróć ns1.example.com
i ns2.example.com
dla wszystkich żądań A, z wyjątkiem miejsca, w którym znajduje się ns1.example.com
lub ns2.example.com
, zwróć 192.0.2.6
. Do ns1.example.com
zwrotu 192.0.2.4
, do ns2.example.com
zwrotu 192.0.2.5
.
To prawie działa, jedynym problemem jest to, że kiedy robię kopanie, otrzymuję:
dig @localhost somedomain.example ; > DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5_5.3> @ localhost somedomain.example ; (Znaleziono 1 serwer) ;; opcje globalne: printcmd ;; Mam odpowiedź: ;; kod operacji: QUERY, status: NOERROR, id: 37733 ;; flagi: qr aa rd; ZAPYTANIE: 1, ODPOWIEDŹ: 1, ORGAN: 2, DODATKOWE: 2 ;; SEKCJA PYTANIA: ; somedomain.example. W ;; SEKCJA ODPOWIEDZI: somedomain.example. 3600 IN A 192.0.2.6 // zgodnie z oczekiwaniami ;; SEKCJA ORGANU: . 3600 IN NS ns1.przyklad.com. // oczekiwany, nie wiem czy „.” na początku jest źle. . 3600 IN NS ns2.example.com. // patrz wyżej. ;; SEKCJA DODATKOWA: ns1.przyklad.com. 3600 W A 192.0.2.6 // nie należy się spodziewać, powinno to być 192.0.2.4 ns2.example.com. 3600 W A 192.0.2.6 // nie należy się spodziewać, powinno to być 192.0.2.5
Jak to naprawić? Czy robię coś okropnego? Czy jest na to lepszy sposób?