อัปเดตชื่อโฮสต์จากเครื่อง 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 ฉันพยายามเพิ่มบรรทัด 'send host-name "my-host-name"' ไปยัง /etc/dhcp3/dhclient.conf แต่ไม่มีการอัพเดทใด ๆ ใน DC


2
คุณได้ตั้งค่าเซิร์ฟเวอร์ DNS ของ Windows ให้อนุญาตการปรับปรุงที่ไม่ได้รับการรับรองความถูกต้องหรือไม่
Zoredache

คำตอบ:


2

ดังนั้นโดยทั่วไปคุณต้องการให้ลูกค้าส่งชื่อโฮสต์ไปยังเซิร์ฟเวอร์ DNS ของคุณหรือไม่

สิ่งนี้ใช้งานได้ดีกับไคลเอนต์ Windows แต่สำหรับเครื่อง Linux ฉันจะใช้วิธีอื่น: ตั้งค่าไคลเอนต์ของคุณเพื่อขอเซิร์ฟเวอร์ DHCP สำหรับ IP และชื่อโฮสต์ การใช้ตัวเลือก "request host-name" dhclient ขอให้เซิร์ฟเวอร์ DHCP ส่งชื่อโฮสต์พร้อมกับที่อยู่ IP จากนั้นตั้งค่าชื่อโฮสต์ของ VM

แน่นอนคุณจะต้องเตรียมชื่อโฮสต์สำหรับที่อยู่ IP แต่ละรายการในช่วง DHCP ของคุณ

วิธีนี้คุณไม่มีปัญหา DNS แคช / การเผยแพร่ล่าช้าและคุณอาจมีศูนย์กลางกับ IP และชื่อโฮสต์ทั้งหมด - เซิร์ฟเวอร์ DNS ของคุณ

ฉันไม่รู้ว่าเซิร์ฟเวอร์ DHCP ของอุปกรณ์ของคุณรองรับการส่งชื่อโฮสต์ได้อย่างไรส่วนใหญ่ทำ แต่ฉันคิดว่านั่นเป็นวิธีที่ง่ายที่สุดสำหรับไคลเอนต์ Linux

หมายเหตุ: หากคุณกำหนดค่าเซิร์ฟเวอร์ DHCP ของคุณเพื่อให้เครื่องเดียวกันได้รับที่อยู่ IP เดียวกันเสมอ (เช่นการใช้ที่อยู่ mac) แน่นอนว่าจะได้รับชื่อโฮสต์เดียวกันเสมอ ในเซิร์ฟเวอร์ DHCP บางตัวคุณสามารถใช้ชื่อโฮสต์โดยตรงแทนที่อยู่ IP ในไฟล์ปรับแต่ง


สิ่งนี้จะไม่ทำเนื่องจากฉันตั้งชื่อโฮสต์ในสคริปต์ที่ใช้มัน (ชื่อโฮสต์) เป็นอาร์กิวเมนต์
ไฟฟ้าพระภิกษุ

2

ฉันลงเอยด้วยการใช้สคริปต์ที่รัน nsupdate หลังจาก VM ถูกสร้างขึ้นจากแม่แบบและแต่ละครั้งที่บูต


1

นี้จะค่อนข้างคล้ายกับคำถามของฉันเอง ดูความคิดเห็นสุดท้ายของฉันกับคำตอบเดียวที่ฉันได้รับซึ่งฉันอ้างถึง dhclient.conf


ดังนั้นโดยทั่วไปคุณเพิ่งเพิ่ม 'ส่งชื่อโฮสต์' เพื่อ dhclient.conf? เพราะสิ่งนี้ไม่ได้ผลสำหรับฉัน
พระภิกษุสงฆ์ไฟฟ้า

นั่นคือทั้งหมดที่ฉันต้องทำ หน้า man ระบุว่าต้องการ FQDN แต่ในกรณีของฉันเพียงแค่ส่งชื่อโฮสต์ที่ทำงานกับทั้ง Windows และ Linux DHCP และ DNS เครื่องจักรถูกเพิ่มไปยัง DNS โดยบริการ DHCP ทันทีที่การปล่อย DHCP ของลูกค้าถูกปล่อยและสร้างใหม่
John Gardeniers

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ที่ไม่ได้ขอให้มีการโฮสต์หรือชื่อโดเมน ค่าเริ่มต้นใน distro ของฉันคือ:

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