libvirtで、ネットワークdefaultのDHCPの範囲を変更
環境
Ubuntu 16.04 LTS
$ uname -srvm
Linux 4.4.0-45-generic #66-Ubuntu SMP Wed Oct 19 14:12:37 UTC 2016 x86_64
$ dpkg -l | grep libvirt0
ii libvirt0:amd64 1.3.1-1ubuntu amd64 library for interfacing with different
設定手順
ネットワークの設定の編集コマンドを実行。
$ virsh net-edit default
以下のようなXMLがエディタでオープンされるので、それを編集。
<network> <name>default</name> <uuid>d5e58ece-d152-4a87-a768-4339b82940d5</uuid> <forward mode='nat'/> <bridge name='virbr0' stp='on' delay='0'/> <mac address='52:54:00:3b:67:93'/> <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>
DHCPのIPアドレスの範囲を変更したいので、<range>を以下のように修正。
<range start='192.168.122.128' end='192.168.122.254'/>
編集完了後、ネットワークの再起動。
$ virsh net-destroy default ネットワーク default は強制停止されました $ virsh net-start default ネットワーク default が起動されました
確認
ネットワークの状態の確認。
$ virsh net-list 名前 状態 自動起動 永続 ---------------------------------------------------------- default 動作中 はい (yes) はい (yes)
<range>の変更が反映されているかの確認。
$ virsh net-dumpxml default <network connections='2'> <name>default</name> <uuid>d5e58ece-d152-4a87-a768-4339b82940d5</uuid> <forward mode='nat'> <nat> <port start='1024' end='65535'/> </nat> </forward> <bridge name='virbr0' stp='on' delay='0'/> <mac address='52:54:00:3b:67:93'/> <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>
補足
Ubuntuの場合、/etc/libvirt/qemu/networks/default.xmlにネットワークdefaultの設定があるが、コメント欄を読むと「直接編集するな、virsh使え」と書いてある。
<!-- WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE OVERWRITTEN AND LOST. Changes to this xml configuration should be made using: virsh net-edit default or other application using the libvirt API. --> <network> <name>default</name> <uuid>d5e58ece-d152-4a87-a768-4339b82940d5</uuid> <forward mode='nat'/> <bridge name='virbr0' stp='on' delay='0'/> <mac address='52:54:00:3b:67:93'/> <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>