Kể từ v5.6.0, libvirt
thêm một dnsmasq
không gian tên với thành phần
, cho phép chỉ định các tùy chọn trực tiếp cho máy chủ dnsmasq bên dưới. Tôi muốn tạo một mục nhập DNS ký tự đại diện cho các ứng dụng của mình với tùy chọn đó. Vì vậy, tôi đã sử dụng chỉnh sửa mạng virsh
, thay đổi <network>
đến <network xmlns:dnsmasq='http://libvirt.org/schemas/network/dnsmasq/1.0'>
và thêm các tùy chọn sau:
<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>
Sau đó, mạng đã được khởi động lại (virsh net-destroy && virsh net-start
) và cả máy ảo nhắm mục tiêu (virsh tiêu diệt && virsh bắt đầu
).
Các cname=boards.cnx65-k8s.hobel.internal
hoạt động hoàn hảo:
$ đào +bảng ngắn.cnx65-k8s.hobel.internal @192.168.10.1
cnx65-k8s.hobel.internal.
192.168.10.136
Nhưng mà đào +rút ngắn x.app.cnx65-k8s.hobel.internal @192.168.10.1
không phân giải thành bất kỳ địa chỉ ip nào. Tệp cấu hình được tạo /var/lib/libvirt/dnsmasq/hobel.internal.conf
chứa cả hai mục cname ở cuối:
trật tự nghiêm ngặt
người dùng=libvirt-dnsmasq
cục bộ=/hobel.internal/
miền=hobel.internal
mở rộng máy chủ
pid-file=/run/libvirt/network/hobel.internal.pid
giao diện ngoại trừ = lo
liên kết động
giao diện = virbr1
phạm vi dhcp=192.168.10.10,192.168.10.254,255.255.255.0
dhcp-no-override
dhcp-có thẩm quyền
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
Theo câu trả lời này, Tôi đã thêm máy chủ xác thực
và tên giao diện
đến các tùy chọn:
<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>
Nhưng mà x.app.cnx65-k8s.hobel.internal
vẫn chưa được giải quyết:
$ đào 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
;; tùy chọn chung: +cmd
;; Có câu trả lời:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43624
;; cờ: quảng cáo thứ qr; CÂU HỎI: 1, TRẢ LỜI: 0, AUTHORITY: 0, BỔ SUNG: 1
;; CẢNH BÁO: yêu cầu đệ quy nhưng không khả dụng
;; LỰA CHỌN PSEULiều lượng:
; EDNS: phiên bản: 0, cờ:; udp: 4096
;; PHẦN CÂU HỎI:
;x.app.cnx65-k8s.hobel.internal. TRONG MỘT
;; Thời gian truy vấn: 0 mili giây
;; MÁY CHỦ: 192.168.10.1#53(192.168.10.1)
;; THỜI GIAN: Thứ bảy ngày 03 tháng 7 12:14:05 CEST 2021
;; KÍCH THƯỚC MSG rcvd: 59
Tại sao cái này không hoạt động? Ngay cả viên chức libvirt
tài liệu liệt kê một mục nhập ký tự đại diện cname làm ví dụ:
<dnsmasq:option value="cname=*.foo.example.com,master.example.com"/>