それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

libvirt の仮想マシン間の名前解決

libvirt仮想マシン間の名前解決を標準添付のDHCPサーバーとDNSゾルバで行う。

設定の流れ。

libvirt-net=MyVMNet
virsh net-edit $libvirt-net
virsh net-destroy $libvirt-net
virsh net-start $libvirt-net

仮想マシン仮想マシンをつなぐローカルネットワークをローカルドメイン設計する。

<dns>エントリで、ホスト名ローカルドメインを作って定義して再起動することで、libvirtのホスト間のIPアドレスを解決することができる。便利ね。DHCPもホスト名で解決することができる。

<network>
  <name>MyVMNet</name>
  <uuid>3ee06460-e139-xxxxx</uuid>
    <bridge name='virbr0'stp='on'delay='0' />
    <mac address='52:54:00xxxxxx' />
    <domain name='virt' />
  <dns>
    <host>
      <host ip='192.168.122.2' >
      <hostname>gitlab.virt</hostname>
    </host>
  </dns>
  <ip address='192.168.122.1'netmask='255.255.255.0'>
    <dhcp>
    <range start='192.168.122.128'end='192.168.122.254'/>
    </dhcp>
  </ip>
</network>

上記の設定のうち

この設定で、特定ホスト名を作ることができる。

  <dns>
    <host>
      <host ip='192.168.122.2' >
      <hostname>gitlab.virt</hostname>
    </host>
  </dns>

動作チェック

dig gitlab.virt @192.168.122.1 +short
192.168.122.2

参考資料

https://fabianlee.org/2018/10/22/kvm-using-dnsmasq-for-libvirt-dns-resolution/