Я хотел бы использовать наш внутренний DNS-сервер для связывания имен от предоставления до конечного использования. Поэтому я себе это так представляю.
Сервер входит в нашу сеть и получает DHCP или статический адрес, а затем имеет запись DNS с именем своего оборудования, например, ilocz1234xyz с сервером HP. Позже сервер инициализируется и в процессе получает имя и функцию. Я хотел бы объединить эти имена. в настоящее время мы делаем это, давая серверу имя во время подготовки, например, pegasus в DNS, а затем создаем имена:
- ilocz1234xyz.example.com
- ilo.pegasus.example.com
- pegasus.example.com
После этого сервер устанавливается командой ОП с определенной ролью и получает рабочее имя, например «веб-сервер», и настраиваются записи DNS:
- ilocz1234xyz.example.com
- ilo.pegasus.example.com
- pegasus.example.com
- веб-сервер.example.com
Теперь мой вопрос заключается в том, как мне получить имена, на которые нужно ссылаться, чтобы я мог видеть, что имена связаны друг с другом. Я изначально думал так:
- ilocz1234xyz.example.com Запись -> 10.0.0.100
- ilo.pegasus.example.com C-ИМЯ -> ilocz1234xyz.example.com
- pegasus.example.com Запись -> 10.0.0.200
- webserver.example.com C-NAME -> pegasus.example.com
Теперь моя цель состоит в том, чтобы я мог сделать запрос на pegasus.example.com, а затем получить записи для ilo.pegasus.example.com и webserver.example.com, но это не работает, потому что CNAME — это просто псевдоним, и я не могу искать DNS рекурсивно. Конечно, вы могли бы также написать скрипт, который запрашивает DNS и собирает все данные для меня, но мой вопрос заключается в том, есть ли более простой способ решить эту проблему, возможно, даже с помощью встроенных инструментов.
управление конфигурацией системы доменных имен
1 ответ
В DNS нет универсального способа сделать это. Он не был разработан с таким перечисление обратных ссылок в уме. Подумайте об общих файловых системах Linux: нет другого способа собрать все символические ссылки, указывающие на какой-либо объект, кроме сканирования всего дерева каталогов.
Однако вы можете создать собственное решение поверх DNS. Например, когда вы добавляете или удаляете CNAME (который является «прямой ссылкой»), в то же время редактируйте запись TXT, чтобы управлять «обратной ссылкой»:
name.example.com. A 192.0.2.1
name.example.com. TXT "CNAME:some-alias.example.com CNAME:another-alias.example.org"
some-alias.example.com. CNAME name.example.com.
another-alias.example.org. CNAME name.example.com.
или эту запись можно назвать _back-reference.name.example.com.
или что-то в этом роде. Твой выбор.
Я ничего не знаю об инструментах, которые уже реализуют это, но это несложно.