เป็นไปได้หรือไม่ที่จะกำหนดค่า DNSMasq เพื่อส่งคืนที่อยู่ IP คงที่เฉพาะสำหรับคำขอสำหรับโดเมนที่แน่นอนนั้นไม่ใช่โดเมนย่อย นั่นคือผมอยากให้มันกลับมาเป็น IP คงที่เมื่อการแก้ไขexample.com
แต่ไม่a.example.com
, b.example.com
ฯลฯ
เป็นไปได้หรือไม่ที่จะกำหนดค่า DNSMasq เพื่อส่งคืนที่อยู่ IP คงที่เฉพาะสำหรับคำขอสำหรับโดเมนที่แน่นอนนั้นไม่ใช่โดเมนย่อย นั่นคือผมอยากให้มันกลับมาเป็น IP คงที่เมื่อการแก้ไขexample.com
แต่ไม่a.example.com
, b.example.com
ฯลฯ
คำตอบ:
host-record=example.com,1.2.3.4
หน้าคน dnsmasqพูดว่า:
- โฮสต์-record = <name> [, <name> .... ] [<IPv4-address>], [<IPv6-address>]
เพิ่มระเบียน A, AAAA และ PTR ไปยัง DNS สิ่งนี้จะเพิ่มชื่อหนึ่งชื่อขึ้นไปใน DNS ที่มีการบันทึก IPv4 (A) และ IPv6 (AAAA) ที่เกี่ยวข้อง ชื่ออาจปรากฏในมากกว่าหนึ่งบันทึกโฮสต์และดังนั้นจึงได้รับมอบหมายมากกว่าหนึ่งที่อยู่ เฉพาะที่อยู่แรกสร้างระเบียน PTR เชื่อมโยงที่อยู่กับชื่อ นี่เป็นกฎเดียวกับที่ใช้ในการอ่านไฟล์โฮสต์ ตัวเลือกบันทึกโฮสต์จะถือว่าอ่านก่อนโฮสต์ไฟล์ดังนั้นชื่อที่ปรากฏจะยับยั้งการสร้างเรคคอร์ด PTR หากปรากฏในโฮสต์ไฟล์ด้วย ต่างจากไฟล์โฮสต์ชื่อจะไม่ถูกขยายแม้เมื่อขยายโฮสต์จะมีผล ชื่อสั้นและยาวอาจปรากฏในบันทึกโฮสต์เดียวกันเช่น --host บันทึก = แล็ปท็อป laptop.thekelleys.org, 192.168.0.1,1234 :: 100
ไฟล์การกำหนดค่าของคุณเป็นอย่างไร dnsmasq จะแก้ไขเฉพาะโดเมนย่อยหากรายการของคุณเริ่มต้นด้วย dot.
ตัวอย่าง: address=/.subdomain.pc01.domain.com/192.168.1.2
หากคุณมีวิธีนี้:
address=/subdomain.pc01.domain.com/192.168.1.2
มันจะแก้ไขasd.subdomain.pc01.domain.com
:
$ host asd.subdomain.pc01.domain.com
asd.subdomain.pc01.domain.com has address 192.168.1.2
เพียงเพิ่มรายการสำหรับโดเมนเฉพาะนั้นในไฟล์โฮสต์บนเซิร์ฟเวอร์ที่ใช้ DNSMasq
จากman page ของ dnsmasq (สำหรับ --server แต่ยังใช้กับ --address):
โดเมนที่เฉพาะเจาะจงมากขึ้นจะมีความสำคัญมากกว่าโดเมนที่เจาะจงน้อยกว่าดังนั้น: --server = / google.com / 1.2.3.4 --server = / www.google.com / 2.3.4.5 จะส่งข้อความค้นหาสำหรับ * .google.com ถึง 1.2 3.4 ยกเว้น * www.google.com ซึ่งจะไปที่ 2.3.4.5
ทางออกเดียวที่ฉันเห็นคือแทนที่จะเพิ่มแต่ละระเบียนสำหรับแต่ละโดเมนย่อยที่จำเป็น เห็นได้ชัดว่าไม่เหมาะ แต่เป็น dnsmasq ที่ดีที่สุดในขณะนี้ (ที่ฉันหาได้)