เรามีห้องฝึกอบรมซึ่งปกติจะติดตั้ง Windows XP (ผ่าน PXE) โครงสร้างพื้นฐาน DNS / DHCP "ปกติ" คือ Windows-Servers ห้องฝึกอบรมมี VLAN ของตัวเอง (แตกต่างจากเซิร์ฟเวอร์ Windows) ดังนั้นจึงมีตัวช่วย IP สำหรับการร้องขอ DHCP ที่ใช้งานได้บนเราเตอร์ Cisco ที่พีซีทั้งหมดจากห้องนั้นเชื่อมต่ออยู่
ตอนนี้เราต้องการแปลงพีซีบางตัวเป็น Linux แทน ความคิดคือ: ใส่แล็ปท็อปของเราเองกับเซิร์ฟเวอร์ DHCP ลงใน VLAN ของห้องและแทนที่การตอบสนอง DHCP "ปกติ" แนวคิดก็คือสิ่งนี้ควรใช้งานได้เนื่องจากเซิร์ฟเวอร์ DHCP ที่เชื่อมต่อโดยตรงใน VLAN นั้นควรมีเวลาตอบสนองที่เร็วกว่าเซิร์ฟเวอร์ DHCP ปกติที่อยู่ห่างจาก VLAN นั้น
ปรากฎว่าสิ่งนี้ไม่ได้ผล เราต้องปล่อยสัญญาเช่าด้วยตนเองบนเซิร์ฟเวอร์ DHCP ดั้งเดิมเพื่อให้ทำงานได้
บนแล็ปท็อปเราเห็นลูกค้าร้องขอ IP และ "dhcp" ของเรากำลังส่ง NACKs ไปยังคำขอ IP ของ Windows ก่อนที่เราจะตอบสนองของเราเอง
คำถามเก่า: ทำไมสิ่งนี้ถึงไม่เป็นไปตามที่คาดไว้? อะไรคือสิ่งที่ทำให้พีซีได้รับสัญญาเช่าเดิม
อัปเดต 2012-08-08:
ปัญหาการกู้คืนได้รับการอธิบายใน DHCP-RFC ตอนนี้อธิบายได้ว่าทำไมพีซีถึงได้สัญญาเช่าเดิม
ตอนนี้เราจะปล่อย IP จากเซิร์ฟเวอร์ Windows-DHCP ก่อนที่จะลองอีกครั้ง
อีกครั้ง - เซิร์ฟเวอร์ Windows-DHCP- ชนะ
ฉันสงสัยว่ามีอัลกอริทึมบางอย่างสำหรับ dhcp-client ซึ่งกำหนด "ดีที่สุด" dhcp-answer สำหรับลูกค้า คำถามใหม่คือ:
ลูกค้าเลือกคำตอบที่ "ดีที่สุด" ได้อย่างไร