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?
Aby ustawić symbol wieloznaczny poddomeny
bind
, należy użyć następującego formatu:Przykład:
źródło
W zależności od konfiguracji
ns1.example.com
jest192.0.2.4
ins2.example.com
jest192.0.2.5
. Musisz skonfigurować rozpoznawanie nazw serwera NS wexample.com
strefie, aby uzyskać prawidłowe adresy IP.Mam nadzieję, że wyrażę się jasno. Wróć do mnie, jeśli potrzebujesz więcej informacji.
źródło
Symbole wieloznaczne DNS mogą powodować problemy!
Jest wiele sposobów - od skryptów SHELL po serwery DNS oparte na SQL.
UPD. (2019-11) : Tak jak powiedziałem 8 lat temu , skrypty SHELL są dobrym rozwiązaniem i zostało to udowodnione za pomocą proponowanego rozwiązania przyjętej odpowiedzi „dodawania wpisu strefy” - najwyraźniej nie w oparciu o użycie symboli wieloznacznych. ;-)
W 2019 r. Jeszcze łatwiej jest znaleźć zasoby wyjaśniające wady symboli wieloznacznych DNS i chociaż większość z nich została napisana „u zarania Internetu”, nadal mają pewną wartość. Na przykład RFC1912 wymienia kilka rzeczy związanych z używaniem symboli wieloznacznych DNS. Główny problem jest jasno wyjaśniony jako „…
Ma jednak również kilka przykładów z życia, które są trochę staromodne.
źródło