# 带有 DNS 服务的 Libvirt/KVM

使用来自 libvirt 虚拟网络的 DNS 服务设置 VM。

```xml
virsh net-dumpxml default
<network xmlns:dnsmasq='http://libvirt.org/schemas/network/dnsmasq/1.0' connections='4'>
  <name>default</name>
  <uuid>4b083743-ecc0-4c96-bd79-d8c1d7dc078f</uuid>
  <forward mode='nat'>
    <nat>
      <port start='1024' end='65535'/>
    </nat>
  </forward>
  <bridge name='virbr0' stp='on' delay='0'/>
  <mac address='52:54:00:69:9b:45'/>
  <domain name='okd.local'/>
  <dns>
    <forwarder addr='8.8.8.8'/>
    <host ip='192.168.122.20'>
      <hostname>provisioner</hostname>
    </host>
    <host ip='192.168.122.21'>
      <hostname>openshift-master-0</hostname>
    </host>
    <host ip='192.168.122.22'>
      <hostname>openshift-master-1</hostname>
    </host>
    <host ip='192.168.122.23'>
      <hostname>openshift-master-2</hostname>
    </host>
    <host ip='192.168.122.24'>
      <hostname>openshift-worker-0</hostname>
    </host>
    <host ip='192.168.122.250'>
      <hostname>api</hostname>
    </host>
    <host ip='192.168.122.251'>
      <hostname>apps</hostname>
    </host>
  </dns>
  <ip address='192.168.122.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.122.20' end='192.168.122.240'/>
      <host mac='52:54:00:a3:dd:03' name='provisioner.okd.local' ip='192.168.122.20'/>
      <host mac='52:54:00:90:b8:19' name='openshift-master-0.okd.local' ip='192.168.122.21'/>
      <host mac='52:54:00:34:fc:9d' name='openshift-master-1.okd.local' ip='192.168.122.22'/>
      <host mac='52:54:00:8a:db:89' name='openshift-master-2.okd.local' ip='192.168.122.23'/>
      <host mac='52:54:00:5a:7f:a4' name='openshift-worker-0.okd.local' ip='192.168.122.24'/>
    </dhcp>
  </ip>
  <dnsmasq:options>
    <dnsmasq:option value='cname=*.apps.okd.local,apps.okd.local'/>
    <dnsmasq:option value='auth-zone=apps.okd.local'/>
    <dnsmasq:option value='auth-server=apps.okd.local,*'/>
  </dnsmasq:options>
</network>
```

参考：

 [libvirt: Network XML format](https://libvirt.org/formatnetwork.html)

