Оновіть ім'я хоста з машини Debian за допомогою DHCP на DNS-сервері Windows 2008


9

У мене є щоденна установка XenServer з машинами Debian (lenny) за допомогою скрипту, який створює машину з шаблону і присвоює їй нове ім'я хоста.

У нашій мережі є прилад Fortinet 60B, який працює як DHCP-сервер та Microsoft Windows 2008 DC, який також виконує функції DNS-сервера. Я хотів би налаштувати шаблон VM для надсилання свого імені хоста на DNS-сервер, коли він отримує орендований IP від ​​DHCP.

В даний час Fortinet призначає DC як DNS-сервер разом з орендою IP-адреси. Я спробував додати рядок "надіслати ім'я хоста" my-host-name "'до /etc/dhcp3/dhclient.conf, але нічого не оновлюється в DC.


2
Ви встановили сервер Windows DNS для дозволу неправдивих оновлень?
Зоредаче

Відповіді:


2

Отже, ви бажаєте, щоб ваш клієнт надсилав ім'я хоста на ваш DNS-сервер?

Це чудово працює з клієнтами Windows, але для машин Linux я б пішов навпаки: налаштуйте ваших клієнтів запитувати DHCP-сервер для IP-адреси та імені хоста. Використовуючи опцію "запрошення імені хоста", dhclient просить сервер DHCP надіслати ім'я хоста разом з IP-адресою, а потім встановлює ім'я хоста VM.

Звичайно, вам потрібно буде підготувати у своєму DNS ім'я хоста для кожної IP-адреси в діапазоні DHCP.

Таким чином, у вас немає проблеми із затримкою кешу / розповсюдження DNS, і у вас може бути центральне місце з усіма IP-адресами та іменами хостів - ваш DNS-сервер.

Я не знаю, наскільки DHCP-сервер вашого пристрою підтримує надсилання імен хостів, - але я думаю, що це найпростіший спосіб для клієнтів Linux.

Примітка. Якщо ви налаштували ваш сервер DHCP так, що одна і та ж машина завжди отримує однакову IP-адресу (наприклад, використовуючи mac-адресу), вона, очевидно, завжди отримуватиме те саме ім’я хоста. На деяких серверах DHCP ви можете використовувати ім'я хоста замість IP-адреси у конфігураційних файлах.


це не буде робити, оскільки я встановлюю ім'я хоста в сценарії, який приймає його (ім'я хоста) як аргумент.
Електромонах

2

Я закінчив за допомогою сценарію, який запускає nsupdate після створення VM з шаблону та кожного завантаження.


1

Це дещо схоже на моє власне питання . Подивіться на мій остаточний коментар до єдиної відповіді, яку я отримав, де я посилаюся на dhclient.conf.


так що ви просто додали "відправити ім'я хоста" на dhclient.conf? тому що це не спрацювало для мене
Електромонах

Це все, що я мав зробити. На головній сторінці вказується, що FQDN необхідний, але в моєму випадку просто надсилання імені хоста, що працює як з Windows, так і з Linux DHCP і DNS системами. Машини були додані до DNS службою DHCP, як тільки клієнтська оренда DHCP була звільнена та відтворена.
Джон Гарденєр

1

Я знайшов дві речі, необхідні для отримання машини, що приєднується до домену, для реєстрації та оновлення записів DNS на сервері Windows DC \ DNS:

  1. Налаштуйте сервер DC \ DNS, щоб дозволити як безпечні, так і незахищені динамічні оновлення DNS.

  2. Налаштуйте FQDN хоста, який не приєднався до домену, щоб він відповідав вашому імені AD \ DNS: як у host.domain.com


1

Хм. Ніколи не пробував такої точної конфігурації - я працював з клієнтами Linux на серверах Windows DHCP, але в цій програмі DHCP-сервер здійснює оновлення. Не впевнений, чи вікно Fortinet робить те саме.

Ви можете спробувати змусити клієнта безпосередньо спілкуватися з сервером DNS; щось на зразок:

send fqdn.server-update off;
send fqdn.encoded on;
send fqdn.fqdn "hostname.example.com.";  

в /etc/dhcp3/dhclient.conf. Перевірте man dhclient.confдодаткову інформацію. Мені довелося встановити принаймні, send fqdn.fqdnщоб він працював у моїй установці.

Вам також потрібно ввімкнути небезпечні оновлення для ваших зон DNS.


1

Багато хто може вважати це очевидно очевидним, але не забудьте вказати власну директиву запиту, в dhclient.confякій не потрібно запитувати ім'я хоста чи доменне ім’я . Типовим моїм дистрибутивом було:

request subnet-mask, broadcast-address, time-offset, routers,
        domain-name, domain-name-servers, host-name,
        netbios-name-servers, netbios-scope, interface-mtu;

Зверніть увагу, що це вимагає імена хостів, і доменів від сервера, який анулює send host-name ...директиву. Мій запит і директиви хостів-хостів виглядають так:

send host-name "leaf.node.domain.com";
request subnet-mask, broadcast-address, time-offset, routers,
        domain-name-servers,
        netbios-name-servers, netbios-scope, interface-mtu;
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.