読者です 読者をやめる 読者になる 読者になる

めもぶろぐ

お勉強したこと、趣味なんかを適当に書いてます。。。

CentOS7 How to use KVM | 単一インタフェース 複数ブリッジ ネットワークの設定

Linux

使用しているパソコンはノートパソコンで、有線ポートが一つあります。

 

ブリッジなどは作成せずとも、KVM環境を準備してVMを作成した時点で勝手に

defaultというネットワーク名で、virbr0を勝手に作成して生成されています。

 

というわけで、単一のNICにたいして、複数のブリッジインタフェースを必要としていなければ、この記事は関係ないです。そもそもブリッジを作らずとも勝手に作成されます。

 

たまたま見つけたのですが、NetworkManagerでは管理されていなかったためたまたまKVMのネットワーク定義XMLを発見して見てみたら仕組みがわかった感じです。

 

インターネットで調べずに完全にて探り、manも使わずして攻略してやりました!!

 

攻略手順をメモします。

 

基本的に定義はXMLで作成されているので、定義されているものをコピペして作成すれば良いです。したの操作ではデフォルトで作成されるネットワーク定義を編集するコマンドデス。こいつを利用してやりましょう。

virsh net-edit default

<network>
  <name>default</name>
  <uuid>6db5593b-e8f2-4516-8139-cf93fa0601cc</uuid>
  <forward mode='nat'/>
  <bridge name='virbr10' stp='on' delay='0'/>
  <mac address='52:54:00:60:84:a7'/>
  <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>

 

上記がdefaultという名のネットワーク定義なので、コピーして、どこでもいいので新しいネットワーク定義XMLを作成します。

 

vim /tmp/mgmtlan.xml

<network>
  <name>defaultmgmtlan</name>
  <uuid>6db5593b-e8f2-4516-8139-cf93fa0601cc</uuid>
  <forward mode='nat'/>
  <bridge name='virbr20' stp='on' delay='0'/>
  <mac address='52:54:00:60:84:a7'/>
  <ip address='192.168.10.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.10.2' end='192.168.10.254'/>
    </dhcp>
  </ip>
</network>

 

上記の様な感じです。uuidやmacアドレスなどの一意になるべき値は自動生成してそうだったので削除してしまって良いです。勝手に定義に追加されます。

 

なので、ネットワーク名とIPアドレスと、DHCPのリースレンジだけ変更します。

 

 

定義ファイル作成が完了したらXMLで登録していきます。

virsh net-define /tmp/mgmtlan.xml

 

とくにエラーがで内容だったら下のコマンドでネットワークが追加されているか確認します。

[root@centos7 Desktop]# virsh net-list
 名前               状態     自動起動  永続
----------------------------------------------------------
 default              動作中  はい (yes)  はい (yes)
mgmtlan            動作中  はい (yes)  はい (yes)

 

 

おそらくautostartを設定していないと思うので、virsh net-autostart mgmtlanとかで自動起動設定しましょう。

当然自動起動していないので、ネットワークが起動していません。起動しましょう。

virsh net-start mgmtlan

 

攻略法忘れたので、この辺で再起動しておきましょう。

起動後にip aとコマンドを実行して、作成したネットワークのインタフェース名やIPアドレスを確認しましょう。

 

IPアドレスが設定されているようであればVMにアタッチしていきます。

 

起動済みのVMに対して下記コマンドを実行

virsh attach-interface centos01 network mgmtlan

 

で、VMSSHでもvirsh console VMでもいいのでログインします。

ip a とか実行してIP未設定のインタフェースが増えていることを確認します。

 

あとは、DHCPでよければ設定をします。設定ファイルが無いと思うので、既にあるファイルをコピペしましょう。

 

 

あ、しょぼい設定ファイルなので、下の内容をコピペでも良いです。デバイス名称等は変更してください。

TYPE=Ethernet
BOOTPROTO=dhcp
NAME=ens7
DEVICE=ens7
ONBOOT=yes

 

 

ほんでVMを再起動!でもよいですしnmcli c down ens7 && nmcli c up ens7

の実行でも良いです。

 

どちらか実行したらDHCPによりIPアドレスが取得できているかをip aコマンドで確認します。

 

 

ちなみに、KVMホストからも DHCPの情報を確認できます。

[root@centos7 network-scripts]# virsh net-dhcp-leases default
 Expiry Time          MAC アドレス   Protocol  IP address                Hostname        Client ID or DUID
-------------------------------------------------------------------------------------------------------------------
 2016-11-11 01:57:27  52:54:00:2f:57:ae  ipv4      192.168.122.88/24         nograph_kvm     -
 2016-11-11 01:57:21  52:54:00:4b:03:72  ipv4      192.168.122.172/24        centos04        -
 2016-11-11 01:57:23  52:54:00:4c:7e:41  ipv4      192.168.122.182/24        centos05        -
 2016-11-11 01:57:03  52:54:00:6c:32:a1  ipv4      192.168.122.159/24        centos02        -
 2016-11-11 01:57:21  52:54:00:7e:67:26  ipv4      192.168.122.205/24        centos03        -
 2016-11-11 01:18:47  52:54:00:d5:6d:77  ipv4      192.168.122.129/24        centos01        -

 

リース期間を変更したいのですが疲れたので、これまで。

最初はnmcliで皆ブリッジを作成している記事しか発見することができなかったのでうまいこと設定ができなかったが、自力でて探り出やってたらたまたまできた。

 

ということで、こ難しいことは考えず、このやり方がオススメな気がします。

 

 

以上

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

広告を非表示にする