Zarzadzanie BINDem
luty 10th, 2007Ostatnio 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
luty 11th, 2007 at 8:46 am
Coś klikanego: http://source.xname.org/
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
luty 12th, 2007 at 4:04 pm
andrew kej bylby dumny