小编Tim*_*nes的帖子

使用 DNS 访问 libvirt+KVM 虚拟机

我有一台运行 KVM + Libvirt 的 Ubuntu Trusty 机器来管理小型虚拟机,并使用标准 NetworkManager 连接到常规网络。

我希望能够从主机通过 DNS 访问虚拟机。

Libvirt 使用虚拟专用子网 (192.168.122.0/24),NAT 可通过我的 eth0 上的网桥 (virbr0) 访问世界其他地方。Dnamasq 将该虚拟网络的 DHCP+DNS 私有化。

这是虚拟网络的 libvirt 配置:

<network>
  <name>default</name>
  <uuid>400c59ff-c276-4154-ab73-9a8a8d1c6be3</uuid>
  <forward mode='nat'>
    <nat>
      <port start='1024' end='65535'/>
    </nat>
  </forward>
  <bridge name='virbr0' stp='on' delay='0'/>
  <mac address='52:54:00:f4:bd:37'/>
  <domain name='kvm'/>
  <dns forwardPlainNames='no'>
    <forwarder addr='127.0.1.1'/>
    <host ip='192.168.122.1'>
      <hostname>host</hostname>
      <hostname>host.kvm</hostname>
    </host>
  </dns>
  <ip address='192.168.122.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.122.2' end='192.168.122.254'/>
    </dhcp>
  </ip>
</network>
Run Code Online (Sandbox Code Playgroud)

Libvirt 启动一个 dnsmasq 实例,侦听 192.168.122.1:53,它回答对 .knv 的所有请求并将任何其他请求转发到我的主机。这个 dnsmasq 配置是由 libvirt 自动生成的:

/var/lib/libvirt/dnsmasq/default.conf

##WARNING:  THIS …
Run Code Online (Sandbox Code Playgroud)

domain-name-system internal-dns libvirt dnsmasq kvm-virtualization

6
推荐指数
1
解决办法
1万
查看次数