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

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

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

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

  • Сгенерируем ключ «/etc/namedb/rndc.key»
    # rndc-confgen -u bind -a -b 256
  • Создадим конфигурационный файл «/etc/namedb/rndc.conf»
    include "/etc/namedb/rndc.key";

    options {
    default-key "rndc-key";
    default-server 127.0.0.1;
    default-port 953;
    };
  • Отредактируем файл «/etc/namedb/named.conf» и добавим
    include "/etc/namedb/rndc.key";
    controls {
    inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndc-key"; };
    inet 192.168.0.xxx port 953 allow { 192.168.0.yyy; } keys { "rndc-key"; };
    };
    где «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»
    include "/etc/namedb/rndc.key";

    options {
    default-key "rndc-key";
    # default-server 127.0.0.1;
    default-server 192.168.0.xxx;
    default-port 953;
    };
  • Проверяем
    # rndc reload
    server reload successful
Если у вас несколько серверов, то они настраиваются похожим образом.
  • На стороне администратора сохраняем ключи с именами вроде «/etc/namedb/server-name.key» и редактируем
    key "rndc-server-name-key" {
    algorithm hmac-md5;
    secret "super-secret-password-hash=";
    };
  • В файл «/etc/namedb/rndc.conf» добавим строки для каждого сервера
    include "/etc/namedb/server-name.key";
    server "server-name" {
    key "rndc-server-name-key";
    };
    «server-name» может быть именем сервера или его ip-адресом.
  • Проверяем
    # rndc -s server-name reload
    server reload successful
    Если опустить параметр «-s» то будем «рулить» сервером, заданным по умолчанию в секции «options»

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