เซิร์ฟเวอร์ DHCP ของฉันรู้ชื่อโฮสต์ของเครื่องของฉันอย่างไรเมื่อฉันไม่ได้กำหนดหนึ่งใน dhclient.conf


12

ฉันกำลังพยายามแก้ไขปัญหา DNS ขี้ขลาดบางอย่างที่เกี่ยวข้องกับ DHCP บนเครือข่ายของเรา (ฉันสงสัยว่าเรามีเซิร์ฟเวอร์ DHCP มากกว่าหนึ่งเซิร์ฟเวอร์ที่ทำงานอยู่ในขณะนี้) และในขณะที่พยายามจะคิดออกนั้นฉันสังเกตเห็นบางสิ่งแปลก ๆ กับเซิร์ฟเวอร์ใหม่ ติดตั้ง.

เซิร์ฟเวอร์ที่สงสัยคือเครื่องเสมือน Xen ที่ใช้งาน Ubuntu 9.10 Server เซิร์ฟเวอร์ Xen จริงยังอยู่ในเครือข่ายของเราและเมื่อฉันบูทขึ้น VM เป็นครั้งแรกใน Xen (ฉันนำเข้าจาก Virtualbox VM ในเครื่องที่ทำงานบนเครื่องของฉันซึ่งมันทำงานบนเครือข่ายอื่น) มันได้รับ DHCP ให้เช่าจากเครือข่ายสำนักงานของเราและทุกอย่างดี

ฉันตรวจสอบdhclient.eth0.leasesไฟล์เพื่อดูว่ามีการกำหนดค่าอะไรและเห็นว่า DHCP lease เก่าจากเครือข่ายก่อนหน้านี้ที่เครื่องยังทำงานอยู่รวมทั้ง DHCP lease ใหม่สำหรับเครือข่ายสำนักงานที่เชื่อมต่ออยู่ในปัจจุบัน มีสองสิ่งที่ฉันสังเกตเห็นได้ทันที:

  1. ข้อมูลการเช่า DHCP เก่าจากเครือข่ายก่อนหน้านี้ไม่มีoptions host-nameบรรทัดซึ่งฉันใช้เพื่อหมายถึงเวอร์ชัน VirtualBox ดั้งเดิมของ VM ไม่ได้ส่งตัวเลือกนี้ไปยังเซิร์ฟเวอร์ DHCP หรือหมายความว่าเซิร์ฟเวอร์ DHCP เก่าไม่สนับสนุนตัวเลือกชื่อโฮสต์ DHCP หรือไม่ กำลังใช้เซิร์ฟเวอร์ DHCP ภายในของ VirualBox ในเวลา ...

  2. ข้อมูลเช่า DHCP ใหม่จะมีoptions host-nameเส้นซึ่งรวมถึงการที่ถูกต้องชื่อโฮสต์ปัจจุบันสำหรับเซิร์ฟเวอร์ ( "Fozzie") ถ้าฉันเข้าใจถูกต้องหมายความว่าเซิร์ฟเวอร์ส่งชื่อโฮสต์ไปยังเซิร์ฟเวอร์ 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] ใน heck รู้หรือไม่ว่าการส่งชื่อโฮสต์ที่แท้จริงของเซิร์ฟเวอร์หากการกำหนดค่าไม่ได้ถูกตั้งค่าให้ส่งในตอนแรก

เห็นได้ชัดsend host-name "<hostname>"และอื่น ๆ โดยเฉพาะอย่างยิ่ง<hostname>มีความสำคัญเป็นพิเศษบน Ubuntu มันบอกdhclientให้ส่งชื่อโฮสต์ปัจจุบันของเครื่องของคุณไปยังเซิร์ฟเวอร์ DHCP โปรดทราบว่านี่เป็นกรณี ๆ ไป (เช่นถ้าคุณพิมพ์<HOSTNAME>dhclient จะส่งข้อความตามตัวอักษร<HOSTNAME>ไปยังเซิร์ฟเวอร์ DHCP) ตามที่รายงานที่นี่และที่นี่สิ่งนี้ใช้ได้กับ Ubuntu Feisty ขึ้นไปเป็นส่วนหนึ่งของแพตช์เพื่อ (แดกดัน) แก้ไขปัญหาโดยdhclientไม่ส่งชื่อโฮสต์ของเครื่องตามค่าเริ่มต้น

[W] hy การทำสัญญาเช่า DHCP ครั้งแรก (สำหรับเครือข่ายเก่า) ไม่รวมชื่อโฮสต์ตัวเลือก แต่สัญญาเช่า DHCP ที่สอง (บนเครือข่ายใหม่) ไม่ได้รวมไว้หากฉันยังไม่ได้แตะไฟล์การกำหนดค่าใด ๆ

นี่น่าจะเป็นเพราะเซิร์ฟเวอร์ DHCP ไม่ทั้งหมดจะสะท้อนชื่อโฮสต์กลับไปยังไคลเอนต์ เมื่อวานนี้เรายังคงใช้เราเตอร์ ClarkConnect ที่ใช้ Linux เป็นเซิร์ฟเวอร์ DHCP ของเราซึ่งสะท้อนชื่อโฮสต์กลับไปที่ไคลเอ็นต์แต่ละราย วันนี้เราปิดใช้งาน DHCP บนเซิร์ฟเวอร์นั้นและเปลี่ยนไปใช้เซิร์ฟเวอร์ DHCP ในตัวบนตัวควบคุมโดเมนหลักของเรา สัญญาเช่า DHCP ของเราจาก PDC ไม่ได้รวมอยู่option host-nameด้วย แต่ดูเหมือนจะไม่มีผลกระทบอะไรเลย เครื่องได้รับการอัพเดตใน DNS และพวกเขาสามารถหากันได้โดยใช้ชื่อโฮสต์

เมื่อฉันรันhostnameเซิร์ฟเวอร์จะกลับfozzie.our.domainมา แต่ dhclient.eth0.leasesบอกว่าตัวเลือกชื่อโฮสต์ถูกตั้งเป็นfozzie(ไม่มีโดเมน) จะทราบได้อย่างไรว่าจะตัดโดเมนออก

นี่คือฉันไม่เข้าใจความซับซ้อนของ DHCP อย่างเต็มที่ เซิร์ฟเวอร์ DHCP ของเราถูกตั้งค่าให้กำหนดค่าลูกค้าของเราทั้งหมดด้วยโดเมนของเรา ฉันเดาว่าเซิร์ฟเวอร์ DHCP ฉลาดพอที่จะลบส่วนชื่อโดเมนออกจากชื่อโฮสต์ที่ลูกค้าส่งมา

ใครมีการแก้ไขหรือชี้แจงเพื่อเพิ่มคำตอบนี้ ดูเหมือนว่าจะเป็น "มือหยัก" เล็กน้อยดังนั้นฉันจะไม่ยอมรับตามที่เป็นอยู่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.