Zarzadzanie BINDem

luty 10th, 2007

Ostatnio pochwaliłem się konfiguracją serwera DNS opartego na BIND. Serwer działa sobie i działa a ja dalej szukałem narzędzia do zarządzania całym tym ustrojstwem.

Z pomocą przyszło narzędzie rndc

[root]-[/var/lib/named] # rndc status
number of zones: 63
debug level: 0
xfers running: 0
xfers deferred: 0
soa queries in progress: 0
query logging is OFF
server is up and running

Oprogramowanie rndc jest częścia BINDa i jedyny problem to skonfigurowanie named.conf oraz rndc.conf. Najpierw należle przygotować daemona dns. W pliku named.conf należy dokonać kilku zmian.

key "rndc-key" {
algorithm hmac-md5;
secret "JaKiSbArDzOdLuGiCiAg";
};

Został już zdefiniowany klucz który zostanie użyty do autoryzacji połączenia, teraz trzeba udostęnic możliwość zarządzania przy użyciu rndc

controls {
inet 127.0.0.1 port 953
allow { localhost; } keys { "rndc-key"; };
};

Poprzez ten wpis udostępniono połączenie na interfejsie lo (127.0.0.1) na porcie domyślnym (953), z dostępem ograniczonym do localhost oraz autoryzacji za pomoca klucza. Oczwiście konieczny jest restart serwera dns

Ostatnim elementem jest konfiguracja samego rndc . Ponieważ u mnie cały BIND jest w chroot w lokalizacji /var/lib/named więc i tam umiejscowiłem rndc.conf

key "rndc-key" {
algorithm hmac-md5;
secret "JaKiSbArDzOdLuGiCiAg";
};
options {
default-key "rndc-key";
default-server 127.0.0.1;
default-port 953;
};

Niezbędne jest jeszcze odpowiednie podlinkowanie pliku rndc.conf

ln -s /var/lib/named/rndc.conf /etc/rndc.conf.
To już wszystko :) Teraz możemy tesować działanie i nawet przeładowywać konfigurację stref.

Na przedstawionym przykładzie zarządzanie odbywa się z localhost ale gdy mamy produkcyjny serwer z kilkoma interfejsami sieciowymi, można pokusić się o oddelegowanie oddzielnej sieci/podsieci wykorzystywanej tylko do logowania SSH, dokonywania backupów oraz zarządzania usługami, np. DNS.

ZOLTAN

3 Responses to “Zarzadzanie BINDem”

  1. 1 Root
    luty 11th, 2007 at 8:46 am

    Coś klikanego: http://source.xname.org/

  2. 2 admin
    luty 11th, 2007 at 12:48 pm

    hmmm to dziala na freedns.sgh.waw.pl i owszem fajnie wyglada … ale wg mnie jest ZLE z zalozenia ;)

    Z dwoch powodow:
    1. Wykonanie … Owszem php i mysql jak najbardziej ale trzeba potem tlumaczyc to na format BINDa ktory natywnie nie ma wsparcia dla SQL. Sensowniejsze wydaje mi sie użycie PowerDNS który “zna” SQL
    2. Parsowanie do konfiguracji BINDa uruchamiane jest co prawda za pomoca CRONa a nie skrytow cgi poprzez http, traktuje to więc jako nie do konca bezpieczne.

    Wydaje mi sie ze na primary DNS wybiore PowerDNS i wszystko w SQL a secondary DNS beda odpowiednio BIND. Dzieki temu serwery secondary nie beda mialy zbednych procesow daemona http oraz sql

  3. 3 prozz
    luty 12th, 2007 at 4:04 pm

    andrew kej bylby dumny :D

Leave a Reply