Din v5.6.0, libvirt
a adăugat a dnsmasq
spatiu de nume cu element
, care permite specificarea opțiunilor direct la serverul dnsmasq de bază. Aș dori să creez o intrare DNS wildcard pentru aplicațiile mele cu această opțiune. Așa că am folosit virsh net-edit
, schimbat <network>
la <network xmlns:dnsmasq='http://libvirt.org/schemas/network/dnsmasq/1.0'>
și a adăugat următoarele opțiuni:
<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>
După aceea, rețeaua a fost repornită (virsh net-destroy && virsh net-start
) și VM de țintire de asemenea (virsh distruge && virsh start
).
The cname=boards.cnx65-k8s.hobel.internal
functioneaza perfect:
$ dig +scurte boards.cnx65-k8s.hobel.internal @192.168.10.1
cnx65-k8s.hobel.intern.
192.168.10.136
Dar dig +short x.app.cnx65-k8s.hobel.internal @192.168.10.1
nu se rezolvă la nicio adresă ip. Fișierul de configurare generat /var/lib/libvirt/dnsmasq/hobel.internal.conf
conține ambele intrări cname la sfârșit:
strict-ordine
utilizator=libvirt-dnsmasq
local=/hobel.internal/
domeniu=hobel.internal
extinde-gazde
pid-file=/run/libvirt/network/hobel.internal.pid
except-interfață=lo
bind-dinamic
interfață=virbr1
dhcp-range=192.168.10.10,192.168.10.254,255.255.255.0
dhcp-no-override
dhcp-autoritar
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
Conform acestui răspuns, Am adăugat auth-server
și nume-interfață
la optiuni:
<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>
Dar x.app.cnx65-k8s.hobel.intern
inca nu este rezolvata:
$ dig 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
;; opțiuni globale: +cmd
;; Am răspuns:
;; ->>HEADER<<- opcode: QUERY, stare: NOERROR, id: 43624
;; steaguri: qr rd ad; ÎNTREBARE: 1, RĂSPUNS: 0, AUTORITATE: 0, SUPLIMENTARE: 1
;; AVERTISMENT: recursiunea este solicitată, dar nu este disponibilă
;; PSEUDOSECȚIE OPT:
; EDNS: versiunea: 0, steaguri:; udp: 4096
;; SECȚIUNEA DE ÎNTREBĂRI:
;x.app.cnx65-k8s.hobel.intern. ÎN A
;; Timp de interogare: 0 ms
;; SERVER: 192.168.10.1#53(192.168.10.1)
;; CÂND: Sâmbătă, 03 iulie, 12:14:05 CEST 2021
;; MSG SIZE rcvd: 59
De ce nu funcționează asta? Pana si oficial libvirt
documentație listează ca exemplu o intrare wildcard cname:
<dnsmasq:option value="cname=*.foo.example.com,master.example.com"/>