Home > Dodatki do kursów, Tips n' tricks > Bind – generowanie wpisów i dynamiczna aktualizacja stref

Bind – generowanie wpisów i dynamiczna aktualizacja stref

Kilka słów o tym jak upraościć sobie administrowanie strefami w serwerze BIND…

Automatyczne generowanie wpisów w pliku strefy

Przy tworzeniu stref z wieloma podobnymi wpisami typu hostXXX użyteczna jest instrukcja GENERATE. Przykładowy wpis z pliku strefy może wyglądać następująco:

[...]
$GENERATE 100-110 host$ IN A		10.0.0.$
[...]

Po umieszczeniu takiego wpisu w pliku strefy wynik polecenia dig -t axfr labnet.com wykonującego transfer strefy dla zony będzie wyglądał następująco:

<<>> DiG 9.5.0-P2 <<>> -t axfr labnet.com
;; global options:  printcmd
labnet.com.		172800	IN SOA	moher.vnet.com. [...]
labnet.com.		172800	IN NS	moher.vnet.com.
labnet.com.		172800	IN TXT	"v=spf1 mx ~all"
labnet.com.		172800	IN MX	5 melman.labnet.com.
host100.labnet.com.	172800	IN A	10.0.0.100
host101.labnet.com.	172800	IN A	10.0.0.101
host102.labnet.com.	172800	IN A	10.0.0.102
host103.labnet.com.	172800	IN A	10.0.0.103
host104.labnet.com.	172800	IN A	10.0.0.104
host105.labnet.com.	172800	IN A	10.0.0.105
host106.labnet.com.	172800	IN A	10.0.0.106
host107.labnet.com.	172800	IN A	10.0.0.107
host108.labnet.com.	172800	IN A	10.0.0.108
host109.labnet.com.	172800	IN A	10.0.0.109
host110.labnet.com.	172800	IN A	10.0.0.110
melman.labnet.com.	172800	IN A	10.0.0.5
labnet.com.		172800	IN SOA	moher.vnet.com. [...]
;; Query time: 5 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Jun  8 09:46:36 2009
;; XFR size: 17 records (messages 1, bytes 460)

Dynamiczne modyfikowanie strefy

W niektórych wypadkach dogodne jest modyfikowanie strefy “w locie” – bez przeładowywania strefy z pliku. Rozwiązanie takie często spotyka się na styku serwerów DNS i DHCP. Konfigurację tej funkcjonalności w serwerze BIND należy rozpocząć od wygenerowania klucza poleceniem dnssec-keygen:

dnssec-keygen -a HMAC-MD5 -b 512 -n HOST labnet-update

W wyniku tego polecenia wygenerowane zostaną pliki Klabnet-update.+157+63533.key oraz Klabnet-update.+157+63533.private. Na ich podstawie należy wygenerować wpis do pliku named.conf, bądź innego umieszczonego w katalogu /etc/named.d/ z następującą zawartością:

key labnet-update {
algorithm hmac-md5;
        secret  "UPLyG8ScPjErGo7XU [...] MVxWXHfvIlz/Dhy/9EvYzZA==";
};

zastępując rzecz jasna wartość pola secret kluczem z jednego z plików Klabnet-update*
Dla każdej strefy, która ma być edytowana z wykorzystaniem tego klucza należy dodać dyrektywę allow-update:

[...]
zone "labnet.com" in {
        allow-transfer { none; };
        allow-update { key labnet-update; };
        file "master/labnet.com";
        type master;
};
[...]

Po wprowadzeniu tej sekcji do konfiguracji demona BIND można wykorzystywać narzędzie nsupdate do szybkiej edycji pliku strefy lub napisać własny skrypt, np. w języku perl w oparciu o moduł Net::DNS

  1. Brak komentarzy
  1. Brak jeszcze trackbacków