Bagaimana server DHCP saya tahu nama host mesin saya ketika saya tidak mendefinisikan satu di dhclient.conf?

12

Saya mencoba untuk menyelesaikan beberapa masalah DNS funky terkait dengan DHCP di jaringan kami (saya menduga kami memiliki lebih dari satu server DHCP yang berjalan saat ini), dan ketika mencoba mencari tahu, saya melihat sesuatu yang aneh dengan server baru. mempersiapkan.

Server yang dimaksud adalah mesin virtual Xen yang menjalankan Ubuntu 9.10 Server. Server fisik Xen juga ada di jaringan kami, dan ketika saya mem-boot VM untuk pertama kalinya di Xen (saya mengimpornya dari VM Virtualbox lokal yang berjalan di mesin saya, di mana ia berjalan di jaringan yang berbeda), ia mendapat Sewa DHCP dari jaringan kantor kami dan semuanya baik-baik saja.

Saya memeriksa dhclient.eth0.leasesfile untuk melihat apa yang telah dikonfigurasikan, dan melihat bahwa penyewaan DHCP lama dari jaringan sebelumnya yang menggunakan mesin masih ada, serta penyewaan DHCP baru untuk jaringan kantor yang saat ini terhubung. Ada dua hal yang saya perhatikan segera:

  1. Informasi sewa DHCP lama dari jaringan sebelumnya tidak memiliki options host-namegaris, yang saya maksud versi VM VirtualBox asli tidak mengirim opsi ini ke server DHCP. Atau apakah ini berarti server DHCP yang lama tidak mendukung opsi nama host DHCP? Itu menggunakan server DHCP internal VirualBox pada saat itu ...

  2. Informasi sewa DHCP baru memang memiliki options host-namegaris, yang mencakup nama host yang benar dan terkini untuk server ("fozzie"). Jika saya mengerti dengan benar, ini berarti server mengirimkan nama hostnya ke server DHCP di jaringan kami.

Ada beberapa hal yang saya tidak mengerti tentang semua ini.

Pertama , saya tidak mengubah dhclient.confserver kapan saja; itu menggunakan konfigurasi default. Sebenarnya itu berisi baris berikut kata demi kata:

send host-name "<hostname>"

Jadi pertanyaan pertama saya adalah, bagaimana sih bisa tahu untuk mengirim nama host server yang sebenarnya jika konfigurasi tidak diatur untuk mengirimnya di tempat pertama?

Kedua , mengapa sewa DHCP pertama (untuk jaringan lama) tidak termasuk option host-name, tetapi sewa DHCP kedua (di jaringan baru) memasukkannya, jika saya belum menyentuh file konfigurasi?

Yang saya lakukan adalah mengekspor mesin VirtualBox asli sebagai OVF, dan kemudian mengimpornya ke XenServer, jadi bagaimana cara mengkonfigurasi secara ajaib nama host saya melalui DHCP jika bahkan tidak dikonfigurasi dengan nama host yang sebenarnya dhclient.conf?

Ketiga : Ketika saya menjalankan hostname, server kembali fozzie.our.domain, tetapi dhclient.eth0.leasesmengatakan opsi hostname diatur ke fozzie(tidak ada domain). Bagaimana ia tahu untuk menghapus domain?

Mike Spross
sumber

Jawaban:

11

OK, setelah sekian lama menjelajah Internet dan mencoba membaca manhalaman - halaman, saya paling tahu apa yang terjadi:

[H] bagaimana bisa dia tahu mengirim nama host asli server jika konfigurasi tidak diatur untuk mengirimnya?

Rupanya,, send host-name "<hostname>"dan lebih khusus lagi <hostname>,, memiliki arti khusus pada Ubuntu. Ia memberi tahu dhclientuntuk mengirim nama host mesin Anda saat ini ke server DHCP. Perhatikan bahwa ini peka huruf besar-kecil (yaitu jika Anda mengetik <HOSTNAME>, dhclient akan mengirim teks literal <HOSTNAME>ke server DHCP). Seperti yang dilaporkan di sini dan di sini , ini berfungsi pada Ubuntu Feisty dan di atasnya, menjadi bagian dari tambalan untuk (ironisnya) memperbaiki masalah dengan dhclienttidak mengirimkan nama host mesin secara default.

[W] hy, apakah penyewaan DHCP pertama (untuk jaringan lama) tidak menyertakan nama host-opsi, tetapi penyewaan DHCP kedua (pada jaringan baru) memasukkannya, jika saya belum menyentuh file konfigurasi apa pun?

Ini sepertinya karena tidak semua server DHCP akan mengulangi nama host kembali ke klien. Kemarin kami masih menggunakan router ClarkConnect yang berbasis Linux sebagai server DHCP kami, yang mengulangi nama host kembali ke setiap klien. Hari ini kami menonaktifkan DHCP di server itu, dan beralih menggunakan server DHCP bawaan pada pengontrol domain utama kami. Sewa DHCP kami dari PDC tidak termasuk option host-name, tetapi tampaknya tidak mempengaruhi apa pun. Mesin diperbarui dalam DNS, dan mereka semua dapat menemukan satu sama lain dengan nama host.

Ketika saya menjalankan hostname, server kembali fozzie.our.domain, tetapi dhclient.eth0.leasesmengatakan opsi hostname diatur ke fozzie(tidak ada domain). Bagaimana ia tahu untuk menghapus domain?

Ini saya tidak sepenuhnya memahami seluk-beluk DHCP. Server DHCP kami diatur untuk mengonfigurasi semua klien kami dengan domain kami. Saya menduga server DHCP cukup pintar untuk menghapus bagian nama domain dari nama host yang dikirim oleh klien.

Adakah yang memiliki koreksi atau klarifikasi untuk ditambahkan ke jawaban ini? Sepertinya masih sedikit "tangan-bergelombang", jadi saya tidak akan menerimanya apa adanya.

Mike Spross
sumber