Можно ли комбинировать динамические обновления DNS DHCP и статические IP-адреса в одной зоне Bind?

Вопрос или проблема

Я настраиваю ISC dhcpd и Bind9 на SLES Linux в нашем офисе для внутреннего DNS. Я хотел бы разместить все в одной зоне, например city.domain.tld. Я могу заставить сервер dhcpd обновлять зону, но если я добавляю статические записи в зону (например, новый файловый сервер с его IP), Bind жалуется, что журнал больше не совпадает.

Назначение фиксированных IP через dhcp серверам не является решением, потому что dhcpd не отправляет обновления в DNS для фиксированных IP.

Я мог бы использовать две отдельные зоны: одну со статическими IP и одну для динамических обновлений, но я бы предпочел не проходить по всем рабочим станциям (около 80) и не добавлять второй суффикс поиска.

Рабочие станции являются смесью Windows, Linux и MAC. Нет доменов или активного каталога.

Какие-либо предложения? Удаление журнала и позволение DHCP повторно обновить DNS — это единственное решение? Поиск в Google ничего не дал.

Обновление 2010.7.14:
Вот номера версий:

  • bind-9.3.2-17.15
  • dhcpcd-1.3.22pl4-223.2
  • SLES 10 i386

Обновление до более новой версии Bind/dhcpd не исключено, если это решит проблемы.

Вы используете версию bind новее 9.3.0?

Если да, вы можете использовать команду rndc freeze zone.tld для заморозки зоны. Как только она находится в этом состоянии, запросы на динамическое обновление будут отклонены, и вы сможете вручную редактировать базу данных зоны. Используйте команду rndc unfreeze zone.tld, чтобы вернуть зону в состояние, позволяющее динамические обновления. Вам нужно обновить серийный номер, если вы вручную вносите изменения.

Справка

Вы можете заставить DHCP сервер обновлять фиксированные назначения IP в DNS, используя эти два параметра в глобальной секции вашего dhcpd.conf:

update-static-leases on;
use-host-decl-names on;

Также, в каждом разделе хоста вы могли бы/должны добавить опцию ddns-hostname (если имя хоста не соответствует имени DNS, которое вы хотите зарегистрировать). Пример:

host database {
     hardware ethernet 00:26:73:66:e9:9b;
     fixed-address 192.168.0.1;
     ddns-hostname "database";
}

Больше информации:

Страница man dhcpd.conf

Ответ или решение

Вопрос о том, можно ли объединить динамические обновления DNS от DHCP и статические IP-адреса в одной зоне BIND, является важным аспектом настройки систем управления сетью. Давайте подробно рассмотрим эту проблему, опираясь на ваш опыт конфигурации ISC DHCP и BIND9 на SLES Linux.

Общая идея

Вы хотите использовать одну зону DNS для как динамических, так и статических записей. Это вполне разумное стремление, поскольку упрощает управление сетью и сводит к минимуму необходимость в дополнительных шагах для администраторов пользователей.

Однако, наличие конфликтов между статическими записями и динамическими обновлениями — это довольно распространённая проблема. Ваша ошибка о несоответствии журнала может быть связана с несовместимыми обновлениями, которые возникают при попытке одновременно управлять статическими и динамическими записями в одной зоне.

Решение проблемы с конфликтом записей

  1. Использование команды заморозки (freeze)

    Если ваша версия BIND поддерживает функцию заморозки (например, версии 9.3.0 и выше), вы можете использовать команды rndc freeze zone.tld и rndc unfreeze zone.tld, чтобы контролировать, когда зона должна принимать динамические обновления. Эта функция позволит вам временно заблокировать обновления, когда вы вручную вносите изменения в файл зоны, а затем разблокировать её, чтобы динамические обновления продолжали быть актуальными.

    При этом не забудьте обновить серийный номер зоны после внесения изменений. Это необходимо, чтобы BIND знал, что изменения были сделаны.

  2. Конфигурация DHCP для обновления статических записей

    Для того чтобы ваши статические IP-адреса, назначенные через DHCP, также обновляли записи в DNS, вы можете добавить следующие строки в глобальную секцию вашего файла конфигурации dhcpd.conf:

    update-static-leases on;
    use-host-decl-names on;

    Это позволит вашему DHCP-серверу отправлять обновления DNS даже для фиксированных IP-адресов.

  3. Настройка конкретных хостов

    Каждую запись хоста в конфигурационном файле DHCP можно дополнить параметром ddns-hostname, чтобы задать желаемое имя DNS для соответствующего хоста. Например:

    host database {
        hardware ethernet 00:26:73:66:e9:9b;
        fixed-address 192.168.0.1;
        ddns-hostname "database";
    }

    Этот подход гарантирует, что имя хоста и его статический IP будут корректно отражены в DNS.

Заключение

Сочетание динамических обновлений DNS и статических записей в одной зоне действительно возможно, но требует детальной настройки и внимания к конфликтам. Использование функций заморозки зоны BIND и правильная конфигурация DHCP обеспечат стабильность и функциональность вашей сети. Если вы не против обновить версии ПО, это также может решить некоторые совместимости и проблемы, которые вы испытываете.

Таким образом, установив правильные параметры и управляя обновлениями, вы сможете обеспечить безаварийную работу вашей сети, не приводя к разветвлению зон и увеличению административной нагрузки.

Оцените материал
Добавить комментарий

Капча загружается...