ไม่รวมโดเมนย่อยทั้งหมดในที่อยู่ DNSMasq โดยอัตโนมัติ


10

เป็นไปได้หรือไม่ที่จะกำหนดค่า DNSMasq เพื่อส่งคืนที่อยู่ IP คงที่เฉพาะสำหรับคำขอสำหรับโดเมนที่แน่นอนนั้นไม่ใช่โดเมนย่อย นั่นคือผมอยากให้มันกลับมาเป็น IP คงที่เมื่อการแก้ไขexample.comแต่ไม่a.example.com, b.example.comฯลฯ

คำตอบ:


9
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


คำถามนี้มีแท็ก "internal-dns" ซึ่ง "host-record" นำไปใช้กับ External-DNS หรือที่รู้จักอย่างเป็นทางการ
สำรองข้อมูล Pro

โปรดทราบว่าหากคุณพยายามที่จะบันทึกโฮสต์ที่มีอยู่บนอินเทอร์เน็ต (เช่นเขียนใหม่สำหรับ LAN ของคุณ) ถ้าคุณไม่ใช้ที่อยู่ v6 และโฮสต์มีที่อยู่ v6 จริงบนอินเทอร์เน็ต dnsmasq จะส่งคืน v4 ที่ถูกแทนที่ของคุณ ที่อยู่เป็น A และเรคคอร์ด AAAA อินเทอร์เน็ต v6 ที่แท้จริง ระบุทั้งคู่หากคุณไม่ต้องการให้โฮสต์ที่สามารถใช้ v6 ไม่ "ตกหล่น" ไปยังโฮสต์อินเทอร์เน็ตที่แท้จริงผ่าน v6 ฉันเขียนใหม่ archive.ubuntu.com ให้ชี้ไปที่มิเรอร์โลคัลของฉันและระบุที่อยู่ v4 บน LAN ของฉันเท่านั้น - กลับกลายเป็นว่ามันมีที่อยู่ v6 และฉันต้องแน่ใจว่าฉันกำหนดค่าใน dnsmasq ด้วย
แอบ

3

ไฟล์การกำหนดค่าของคุณเป็นอย่างไร 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

จุดที่น่าสนใจ แต่ถ้าคุณอ่านคำถามอย่างระมัดระวังนี่ไม่ใช่สิ่งที่ OP ขอ
jcharaoui

1

เพียงเพิ่มรายการสำหรับโดเมนเฉพาะนั้นในไฟล์โฮสต์บนเซิร์ฟเวอร์ที่ใช้ DNSMasq


ไม่ได้ผล; DNSMasq ส่งคืน IP คงที่เดียวกันสำหรับโดเมนย่อยทั้งหมดของโดเมนที่ป้อน
Michael Mrozek

1

จาก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 ที่ดีที่สุดในขณะนี้ (ที่ฉันหาได้)

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