Як мій сервер DHCP знає ім'я хоста моєї машини, коли я не визначив його в dhclient.conf?


12

Я намагаюся вирішити деякі прикольні проблеми DNS, пов’язані з DHCP в нашій мережі (я підозрюю, що у нас працює більше одного сервера DHCP), і, намагаючись розібратися в цьому, я помітив щось дивне з новим сервером, я просто встановити.

Розгляданий сервер - це віртуальна машина Xen, на якій працює сервер Ubuntu 9.10. Фізичний сервер Xen також є в нашій мережі, і коли я вперше завантажив VM в Xen (я імпортував його з локальної VM Virtualbox, що працює на моїй машині, де він працює в іншій мережі), він отримав DHCP взяв в оренду від нашої офісної мережі, і все було добре.

Я перевірив dhclient.eth0.leasesфайл, щоб побачити, що налаштовано, і побачив, що стара оренда DHCP у попередньої мережі, на якій працювала машина, як і нова оренда DHCP для офісної мережі, до якої зараз підключено. Я відразу помітив дві речі:

  1. Старі відомості про оренду DHCP з попередньої мережі не мають options host-nameрядка, і я вважаю, що в оригінальній версії VirtualBox VM не надсилалась ця опція на сервер DHCP. Або це означає, що старий сервер DHCP не підтримував опцію імені хоста DHCP? У той час він використовував внутрішній сервер DHCP VirualBox ...

  2. Нова інформація DHCP оренди робить є options host-nameлінія, яка включає в себе правильне, поточне ім'я хоста для сервера ( «Фоззі»). Якщо я правильно розумію, це означає, що сервер надіслав це ім’я хоста на сервер DHCP в нашій мережі.

Є цілий ряд речей, які я не розумію у всьому цьому.

По-перше , я не змінювався dhclient.confдля сервера ні в один момент; він використовує конфігурацію за замовчуванням. Насправді він містить такий рядок дослівно:

send host-name "<hostname>"

Отже, перше моє запитання: як у біса він знав надсилати справжнє ім'я сервера, якщо конфігурація не налаштована, щоб відправити його в першу чергу?

По-друге , чому перша оренда DHCP (для старої мережі) не включала option host-name, а друга оренда DHCP (у новій мережі) включала її, якщо я не торкнувся жодного з файлів конфігурації?

Все, що я зробив, було експортувати оригінальну машину VirtualBox як OVF, а потім імпортувати її в XenServer, тож як вона магічно налаштувала моє ім'я хоста через DHCP, якщо воно навіть не налаштоване з фактичним іменем хоста в dhclient.conf?

Третє : Коли я запускаю hostname, сервер повертається fozzie.our.domain, але dhclient.eth0.leasesкаже, що для параметра імені хоста встановлено значення fozzie(немає домену). Звідки це було відомо, щоб зняти домен?

Відповіді:


11

Гаразд, після довгого лову в Інтернеті та спроби перечитати manсторінки, я здебільшого зрозумів, що відбувається:

[H] ow у чорта чи знав він, щоб надіслати справжнє ім'я хоста сервера, якщо конфігурація не налаштована, щоб відправити його в першу чергу?

Мабуть, send host-name "<hostname>"і, точніше <hostname>, має особливе значення для Ubuntu. Він говорить про те, dhclientщоб надіслати поточне ім'я хоста вашого пристрою на сервер DHCP. Зауважте, що це залежно від регістру (тобто, якщо ви введете <HOSTNAME>, dhclient надішле буквальний текст <HOSTNAME>на DHCP-сервер). Як повідомлялося тут і тут , це працює на Ubuntu Feisty і вище, будучи частиною патча, щоб (за іронією долі) виправити проблему з тим, що dhclientне надсилати ім'я хоста машини за замовчуванням.

[W] хіба перша оренда DHCP (для старої мережі) не включала ім'я хоста опції, але друга оренда DHCP (у новій мережі) включила його, якщо я не торкнувся жодного з файлів конфігурації?

Це, здається, тому, що не всі сервери DHCP повторять ім'я хоста назад клієнту. Вчора ми все ще використовували на базі Linux маршрутизатор ClarkConnect як наш DHCP-сервер, який повторював ім'я хоста для кожного клієнта. Сьогодні ми відключили DHCP на цьому сервері та перейшли до використання вбудованого сервера DHCP на нашому основному контролері домену. Наша оренда DHCP від ​​PDC також не включає option host-name, але це, здається, нічого не впливає. Машини оновлюються в DNS, і всі вони можуть знайти один одного за іменем хоста.

Під час запуску hostnameсервер повертається fozzie.our.domain, але dhclient.eth0.leasesкаже, що для параметра імені хоста встановлено значення fozzie(немає домену). Звідки це було відомо, щоб зняти домен?

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

У когось є якісь виправлення чи уточнення, які можна додати до цієї відповіді? Це все ще здається трохи "хвилеподібним", тому я не прийму його таким, як є.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.