пятница, 12 сентября 2008 г.

Удаленное управление сервером имён BIND9

Управление сервером имён BIND9 производится с помощью команды rndc. С его помощью можно удаленно обновить (или принудительно перезагрузить) зоны, сбросить кеш сервера или заморозить обновление динамических зон.

Сперва настраиваем BIND9

  • Сгенерируем ключ «/etc/namedb/rndc.key»
    # rndc-confgen -u bind -a -b 256
  • Создадим конфигурационный файл «/etc/namedb/rndc.conf»
    1. include "/etc/namedb/rndc.key";
    2. options {
    3. default-key "rndc-key";
    4. default-server 127.0.0.1;
    5. default-port 953;
    6. };
  • Отредактируем файл «/etc/namedb/named.conf» и добавим
    1. include "/etc/namedb/rndc.key";
    2. controls {
    3. inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndc-key"; };
    4. inet 192.168.0.xxx port 953 allow { 192.168.0.yyy; } keys { "rndc-key"; };
    5. };
    где «192.168.0.xxx» – ip-адрес сервера в сети, а «192.168.0.yyy» – ip-адрес компьютера администратора.
  • Перезагружаем сервер имён
    # /etc/rc.d/named restart
  • Проверяем
    # rndc reload
    server reload successful
Теперь настроим на стороне администратора
  • Копируем с сервера файлы для rndc
    $ sudo scp -p admin@192.168.0.xxx:/etc/namedb/rndc.'*' /etc/namedb/
  • Отредактируем файл «/etc/namedb/rndc.conf»
    1. include "/etc/namedb/rndc.key";
    2. options {
    3. default-key "rndc-key";
    4. # default-server 127.0.0.1;
    5. default-server 192.168.0.xxx;
    6. default-port 953;
    7. };
  • Проверяем
    # rndc reload
    server reload successful
Если у вас несколько серверов, то они настраиваются похожим образом.
  • На стороне администратора сохраняем ключи с именами вроде «/etc/namedb/server-name.key» и редактируем
    1. key "rndc-server-name-key" {
    2. algorithm hmac-md5;
    3. secret "super-secret-password-hash=";
    4. };
  • В файл «/etc/namedb/rndc.conf» добавим строки для каждого сервера
    1. include "/etc/namedb/server-name.key";
    2. server "server-name" {
    3. key "rndc-server-name-key";
    4. };
    «server-name» может быть именем сервера или его ip-адресом.
  • Проверяем
    # rndc -s server-name reload
    server reload successful
    Если опустить параметр «-s» то будем «рулить» сервером, заданным по умолчанию в секции «options»

Комментариев нет: