KVMのネットワーク設定を行う

ubuntuで内部ネットワークを増やしたかったので、
その作業を行ってみました。そのときのメモです。

KVMホスト


今回はNATのネットワークを増やします。
ubuntuの場合は、デフォルトのネットワーク(virbr0:192.168.122.0/24)の設定が入っています。
この設定を修正、利用しつつ設定を行うことにします。


まずは設定ファイルをコピーして利用することにします。

cp -p /etc/libvirt/qemu/networks/default.xml /tmp/default.xml


中身はこんな感じです。

<network>
  <name>default</name>
  <bridge name="virbr0" />
  <forward/>
  <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>


これを利用して、以下のファイルを作成しました。

■virbr0.xml
<network>
  <name>virbr0</name>
  <bridge name="virbr0" />
  <forward/>
  <ip address="192.168.2.1" netmask="255.255.255.0">
    <dhcp>
      <range start="192.168.2.2" end="192.168.2.254" />
    </dhcp>
  </ip>
</network>

■virbr1.xml
<network>
  <name>virbr1</name>
  <bridge name="virbr1" />
  <forward/>
  <ip address="192.168.3.1" netmask="255.255.255.0">
    <dhcp>
      <range start="192.168.3.2" end="192.168.3.254" />
    </dhcp>
  </ip>
</network>


まず、「default」のネットワーク定義を削除します。

# virsh net-destroy default
Network default destroyed

# virsh net-undefine default
Network default has been undefined


次に、virbr0およびvirbr1を追加します。

# virsh net-define /tmp/virbr0.xml
# virsh net-autostart virbr0
# virsh net-start virbr0
# virsh net-define /tmp/virbr1.xml
# virsh net-autostart virbr1
# virsh net-start virbr1


ネットワーク設定が追加されました。

# virsh net-list
Name                 State      Autostart
-----------------------------------------
virbr0               active     yes       
virbr1               active     yes   

KVM ゲスト


こちらも同様にゲストOSの設定ファイルをコピーします。

cp -p /etc/libvirt/qemu/centos6-test.xml /tmp/centos6-test.xml


interfaceの定義を追加します。以下のように追加しました。

   <interface type='bridge'>
      <mac address='52:54:00:b1:88:d5'/>
      <source bridge='br0'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <interface type='bridge'>
      <mac address='52:54:00:b1:88:d6'/>
      <source bridge='virbr0'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </interface>
    <interface type='bridge'>
      <mac address='52:54:00:b1:88:d7'/>
      <source bridge='virbr1'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>


既存設定を削除し、今回の設定を追加します。

# virsh undefine centos6-test
Domain centos6-test has been undefined

# virsh define /tmp/centos6-test.xml 
Domain centos6-test defined from /tmp/centos6-test.xml


後は仮想マシンを起動し、NICの設定を入れればOK。


今日はこんなところで。