#author("2026-01-10T20:41:45+09:00","default:nobuoki","nobuoki") #author("2026-01-10T20:42:20+09:00","default:nobuoki","nobuoki") * 概要 [#jb420de1] - virbr0の定義で、mac/hostname/ipaddrを指定する - vmを作成するときに、macアドレスを指定する * 実践例 [#k6005352] コピペ用の文字列を生成 #prism(bash){{{ $ for i in $(seq -w 10 20); do echo " <host mac='52:54:00:ff:ff:$i' name='vm$i' ip='192.168.122.$i'/>"; done <host mac='52:54:00:ff:ff:10' name='vm10' ip='192.168.122.10'/> <host mac='52:54:00:ff:ff:11' name='vm11' ip='192.168.122.11'/> <host mac='52:54:00:ff:ff:12' name='vm12' ip='192.168.122.12'/> <host mac='52:54:00:ff:ff:13' name='vm13' ip='192.168.122.13'/> <host mac='52:54:00:ff:ff:14' name='vm14' ip='192.168.122.14'/> <host mac='52:54:00:ff:ff:15' name='vm15' ip='192.168.122.15'/> <host mac='52:54:00:ff:ff:16' name='vm16' ip='192.168.122.16'/> <host mac='52:54:00:ff:ff:17' name='vm17' ip='192.168.122.17'/> <host mac='52:54:00:ff:ff:18' name='vm18' ip='192.168.122.18'/> <host mac='52:54:00:ff:ff:19' name='vm19' ip='192.168.122.19'/> <host mac='52:54:00:ff:ff:20' name='vm20' ip='192.168.122.20'/> }}} virsh net-edit default で、上記を <dhcp> 要素の下に追加(省略) 追加後の状態を表示するとこう #prism(bash){{{ $ virsh net-dumpxml default --inactive <network> <name>default</name> <uuid>b4adef5f-bcc2-484a-96fc-d66f792930a5</uuid> <forward mode='nat'/> <bridge name='virbr0' stp='on' delay='0'/> <mac address='52:54:00:20:fe:58'/> <ip address='192.168.122.1' netmask='255.255.255.0'> <dhcp> <range start='192.168.122.2' end='192.168.122.254'/> <host mac='52:54:00:ff:ff:10' name='vm10' ip='192.168.122.10'/> <host mac='52:54:00:ff:ff:11' name='vm11' ip='192.168.122.11'/> <host mac='52:54:00:ff:ff:12' name='vm12' ip='192.168.122.12'/> <host mac='52:54:00:ff:ff:13' name='vm13' ip='192.168.122.13'/> <host mac='52:54:00:ff:ff:14' name='vm14' ip='192.168.122.14'/> <host mac='52:54:00:ff:ff:15' name='vm15' ip='192.168.122.15'/> <host mac='52:54:00:ff:ff:16' name='vm16' ip='192.168.122.16'/> <host mac='52:54:00:ff:ff:17' name='vm17' ip='192.168.122.17'/> <host mac='52:54:00:ff:ff:18' name='vm18' ip='192.168.122.18'/> <host mac='52:54:00:ff:ff:19' name='vm19' ip='192.168.122.19'/> <host mac='52:54:00:ff:ff:20' name='vm20' ip='192.168.122.20'/> </dhcp> </ip> </network> }}} networkを再起動(停止+起動) 既存のリース情報があれば削除しておきます #prism(bash){{{ # network 停止 sudo virsh net-destroy default # leases を削除 sudo rm -f /var/lib/libvirt/dnsmasq/default.leases sudo rm -f /var/lib/libvirt/dnsmasq/default.status 2>/dev/null || true sudo rm -f /var/lib/libvirt/dnsmasq/virbr0.status 2>/dev/null || true # network 起動 sudo virsh net-start default }}} vm起動時にmacアドレスを指定 #prism(bash){{{ virt-install \ --network network=default,model=virtio,mac=52:54:00:ff:ff:10 \ ... (以下略) }}} vm起動後に確認 #prism(bash){{{ $ virsh domifaddr vm10 --source lease 名前 MAC アドレス プロトコル アドレス ------------------------------------------------------------------------------- vnet13 52:54:00:ff:ff:10 ipv4 192.168.122.10/24 }}}