Руководящие зональные файлы

Это немного странно, для запуска я попытался бы выполнить tcpdump на mach01, mach02 и mach03, чтобы видеть, если mach01 и запрос ARP mach02 iaregetting от mach03, когда Вы пытаетесь проверить с помощью ping-запросов mach01, если это отвечает (для mach03) или не и т.д.
Вы знали, может ли быть прозрачный брандмауэр между хостами? Это могло объяснить, что Вы видите.
Какова топология сети? есть ли, многие переключаются между хостами или всего один? Какой переключатель?

5
задан 8 August 2010 в 01:08
7 ответов

Можно использовать поиск Шеф-повара для динамичного создания зональных файлов как шаблонов с Шеф-поваром, использующим обнаруженный hostname/fqdn и ipaddress узлов.

hosts = search(:node, "*:*")

template '/path/to/zonefile' do
  source 'zonefile.erb'
  variables(:hosts => hosts)
  owner 'root'
  group 'root'
  mode 0644
end

И шаблон выполнил бы итерации по hosts переменная передала, с помощью имени хоста, fqdn и ipaddress каждого результата в поиске. Изобретенный пример:

<% @hosts.each do |h| -%>
<%= h['fqdn'] %>. IN A <%= h['ipaddress'] %>
<% end -%>
2
ответ дан 3 December 2019 в 01:11

Это - боль, которая идет с питанием текстовой конфигурации. Я нахожу 60 зональных файлов небольшим числом для контакта, если Вы не должны ежедневно изменять их, но возможно можно поправиться обслуживаемые сервером, который поддерживает данные DNS из базы данных (PostgreSQL, например) как PowerDNS. Это позволяет, чтобы Вы создали простые сценарии/страницы/приложения для контакта с данными (можно даже предоставить frontend клиентам).

Можно даже настроить, связывают, чтобы быть ведомым устройством сервера с помощью SQL, он автоматически загрузит зональную информацию от ведущего устройства.

Что касается лучших практик:

  • Содержите зональный файл в чистоте бесполезных комментариев,
  • Осуществите корректное использование вкладок/пробелов
  • Используйте доменные имена для зональных файлов
  • Я использую vim макросы для редактирования нескольких файлов но можно сделать это с sed и другими инструментами
2
ответ дан 3 December 2019 в 01:11

Так как я предполагаю, что все Ваши серверы определяются в Вашей конфигурации шеф-повара, как насчет просто генерируют Ваши зональные файлы с помощью тех данных? Никакая идея, если у шеф-повара есть некоторая внутренняя функциональность для этого, уже она походит на что-то, что должно быть относительно тривиальным к сценарию. Для хранения вещей отдельными, это могла бы быть идея делегировать эти "динамические" серверы в собственную зону.

Однако действительно ли Вы уверены, что хотите использовать DNS в целях выравнивания нагрузки?

1
ответ дан 3 December 2019 в 01:11

Сценариям проверки целостности, которые делают вещи, нравится, проверяют, что порядковый номер повысился, и SCM, возможно, с чем-то как Подверсия, или независимо от того, что локальный предпочтительный яд, чтобы иметь историю и способность вернуться.

После того как у Вас есть данные в чем-то как svn, у Вас могут быть инструменты, которые добавляют/удаляют отдельные хосты, все еще позволяя людям отредактировать zonefile.

Иначе существуют различные варианты для перемещения данных из плоских файлов и в базы данных. PowerDNS один, патчи DLZ для Связывают, другой. Я отмечу, что с точки зрения производительности, если это публично выставленные зоны, Вы, вероятно, хотите сохранить поддержанный базой данных сервер как скрытое ведущее устройство и позволить AXFR/IXFR распространить изменения в общедоступных ведущих устройствах, которые могут работать, запас связывают. Для внутренних зон (corp.example.com) это - вероятное излишество.

1
ответ дан 3 December 2019 в 01:11

Попробуйте эти правила

  • Настройте свой основной сервер DNS для уведомления ведомого устройства относительно зональных изменений.
  • Отредактируйте зональные файлы с инструментом, который увеличит Ваши версии автоматически. Я использую emacs.
  • Сохраните свой зональный файл в системе управления версиями (CVS, подверсия или МЕРЗАВЕЦ).
  • Разность Ваш зональный файл agains система управления исходным кодом прежде, чем фиксировать его или перезагрузить главный сервер. Проверьте свои изменения визуально, предпочтительно против записанной спецификации изменения. Используйте спецификацию изменения в качестве сообщения о фиксации.
  • Перезагрузка использования для обновления изменений вместо того, чтобы перезапустить ведущее устройство связывает сервер. Полагайте, что сценарий обновляет зональную конфигурацию от системы управления исходным кодом и перезагружает главный сервер за один шаг.
  • Используйте короткие тайм-ауты в своей зональной конфигурации. Это должны быть меньше, чем exected частота между изменениями.
  • Если Ваш управляют обоими вперед и инвертируют зоны, рассматривают использование инструмента, который генерирует оба файла от общей спецификации.
1
ответ дан 3 December 2019 в 01:11

Я знаю, что это - месяц теперь, но я только что закончил настраивать что-то вроде автоматизированной системы для управления этим для нас. Это состоит из репозитория мерзавца, который содержит:

  1. Все основные зоны и файлы конфигурации.
  2. Все вторичные зоны и файлы конфигурации.
  3. Сценарии сборки для моего вторичного сервера имен - Ubuntu 10.0.4LTS
  4. Очень простой рецепт Capistrano, который может обновить и основные и вторичные серверы имен.

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

git pull #to make sure it's current.
#Open the zone file and edit.
git diff #verify the change is what I want.
git commit -a; git push
cap primary:update #that also sends a notify to my secondary who pulls down the new zone
cap secondary:update #if I'm just updating the secondary.

Это работает действительно легко - я не должен входить в набор серверов, чтобы сделать что-либо - и довольно легко видеть то, что я изменяю.

Также - это дает мне хорошую историю изменений.

Если Вы хотели бы копию repo - просто сообщенный мне, и я буду DM Вы.

3
ответ дан 3 December 2019 в 01:11

Для 60 серверов модуль BIND для Webmin должен работать хорошо. Также проверьте этот список

Править: Я не считал первое предложение вопроса.

Я не знаю, существует ли дешевый способ сделать это кроме прокрутки Ваших собственных сценариев, или через марионетку/шеф-повара или независимо.

Я действительно знаю о некоторых коммерческих решениях "для управления DNS", которые находятся сверху BIND. Они также обеспечивают легкие веб-интерфейсы и API SOAP/отдыха для добавления/удаления записей быстро. В случае необходимости я могу предоставить информацию этим компаниям, когда мы недавно оценили несколько продуктов.

0
ответ дан 3 December 2019 в 01:11
  • 1
    , который Это не делает, я не считал первое предложение вопроса. :-| –  Not Now 10 August 2010 в 03:00

Теги

Похожие вопросы