ตั้งแต่ v5.6.0 libvirt
เพิ่ม dnsmasq
เนมสเปซกับ ธาตุ
ซึ่งอนุญาตให้ระบุตัวเลือกโดยตรงกับเซิร์ฟเวอร์ dnsmasq พื้นฐาน ฉันต้องการสร้างรายการ DNS แบบไวด์การ์ดสำหรับแอปพลิเคชันของฉันด้วยตัวเลือกนั้น ดังนั้นฉันจึงใช้ virsh สุทธิแก้ไข
, เปลี่ยน <network>
ถึง <network xmlns:dnsmasq='http://libvirt.org/schemas/network/dnsmasq/1.0'>
และเพิ่มตัวเลือกต่อไปนี้:
<dnsmasq:options>
<dnsmasq:option value='cname=boards.cnx65-k8s.hobel.internal,cnx65-k8s.hobel.internal'/>
<dnsmasq:option value='cname=*.app.cnx65-k8s.hobel.internal,cnx65-k8s.hobel.internal'/>
</dnsmasq:options>
หลังจากนั้นเครือข่ายก็เริ่มต้นใหม่ (virsh net-detroy && virsh net-start
) และ VM เป้าหมายด้วย (virsh ทำลาย && เริ่มต้น virsh
).
เดอะ cname=boards.cnx65-k8s.hobel.internal
ทำงานได้อย่างสมบูรณ์แบบ:
$ ขุด +short boards.cnx65-k8s.hobel.internal @192.168.10.1
cnx65-k8s.hobel.internal.
192.168.10.136
แต่ ขุด + สั้น x.app.cnx65-k8s.hobel.internal @192.168.10.1
ไม่สามารถแก้ไขที่อยู่ IP ใด ๆ ไฟล์การกำหนดค่าที่สร้างขึ้น /var/lib/libvirt/dnsmasq/hobel.internal.conf
มีทั้งรายการ cname ที่ท้าย:
คำสั่งที่เข้มงวด
ผู้ใช้ = libvirt-dnsmasq
ท้องถิ่น=/hobel.internal/
โดเมน=hobel.internal
ขยายโฮสต์
pid-file=/run/libvirt/network/hobel.internal.pid
ยกเว้นอินเทอร์เฟซ = แท้จริง
ผูกไดนามิก
อินเทอร์เฟซ = virbr1
dhcp-ช่วง=192.168.10.10,192.168.10.254,255.255.255.0
dhcp-no-แทนที่
dhcp-ผู้มีอำนาจ
dhcp-lease-max=245
dhcp-hostsfile=/var/lib/libvirt/dnsmasq/hobel.internal.hostsfile
addn-hosts=/var/lib/libvirt/dnsmasq/hobel.internal.addnhosts
cname=boards.cnx65-k8s.hobel.internal,cnx65-k8s.hobel.internal
cname=*.app.cnx65-k8s.hobel.internal,cnx65-k8s.hobel.internal
ตามคำตอบนี้ฉันเพิ่ม รับรองความถูกต้องเซิร์ฟเวอร์
และ ชื่ออินเทอร์เฟซ
ไปที่ตัวเลือก:
<dnsmasq:options>
<dnsmasq:option value='cname=boards.cnx65-k8s.hobel.internal,cnx65-k8s.hobel.internal'/>
<dnsmasq:option value='cname=*.app.cnx65-k8s.hobel.internal,cnx65-k8s.hobel.internal'/>
<dnsmasq:option value='auth-server=cnx65-k8s.hobel.internal,virbr1'/>
<dnsmasq:option value='interface-name=cnx65-k8s.hobel.internal,virbr1'/>
</dnsmasq:options>
แต่ x.app.cnx65-k8s.hobel.internal
ยังไม่ได้รับการแก้ไข:
$ ขุด x.app.cnx65-k8s.hobel.internal @192.168.10.1
; <<>> DiG 9.16.1-Ubuntu <<>> x.app.cnx65-k8s.hobel.internal @192.168.10.1
;; ตัวเลือกส่วนกลาง: +cmd
;; ได้รับคำตอบ:
;; ->>HEADER<<- opcode: QUERY, สถานะ: NOERROR, id: 43624
;; ธง: โฆษณา qr rd; คำถาม: 1, คำตอบ: 0, ผู้มีอำนาจ: 0, เพิ่มเติม: 1
;; คำเตือน: มีการร้องขอการเรียกซ้ำ แต่ไม่สามารถใช้ได้
;; เลือก PSEUDOSECTION:
; EDNS: เวอร์ชัน: 0, แฟล็ก:; UDP: 4096
;; ส่วนคำถาม:
;x.app.cnx65-k8s.hobel.ภายใน ใน
;; เวลาสืบค้น: 0 มิลลิวินาที
;; เซิร์ฟเวอร์: 192.168.10.1#53(192.168.10.1)
;; เมื่อ: ส. 03 ก.ค. 12:14:05 CEST 2021
;; ขนาดผงชูรส rcvd: 59
ทำไมสิ่งนี้ไม่ทำงาน แม้แต่ เป็นทางการ libvirt
เอกสาร แสดงรายการอักขระตัวแทน cname เป็นตัวอย่าง:
<dnsmasq:option value="cname=*.foo.example.com,master.example.com"/>