こうなっているNAT接続を
こういうBridge接続に変える方法。
もともとKVMホストeno0にあてがっていた192.168.0.40をブリッジにあてがう。
# nmcli d DEVICE TYPE STATE CONNECTION eno0 ethernet 接続済み 有線接続 1 virbr0 bridge 接続済み virbr0 eno1 ethernet 利用不可 -- lo loopback 管理無し -- virbr0-nic tun 管理無し --
初期状態ではこうなっているはず。
# nmcli c a type bridge ifname br0 # nmcli c m bridge-br0 bridge.stp no # nmcli c m bridge-br0 ipv4.method manual ipv4.address "192.168.0.40/24" ipv4.gateway "192.168.0.1" ipv4.dns 8.8.8.8 # nmcli c a type bridge-slave ifname eno0 master bridge-br0
ここまでやると
$ nmcli d DEVICE TYPE STATE CONNECTION eno0 ethernet 接続済み 有線接続 1 br0 bridge 接続済み bridge-br0 virbr0 bridge 接続済み virbr0 eno1 ethernet 利用不可 -- lo loopback 管理無し -- virbr0-nic tun 管理無し -- kkuro@kkuro-E5800-T110f-E:~$ nmcli c show NAME UUID TYPE DEVICE bridge-br0 46996087-e60a-4480-97bb-68eed1c0c354 bridge br0 virbr0 70df80ad-997e-4e47-9997-1ad9508861f8 bridge virbr0 有線接続 1 f32a9ca5-f080-307d-bc96-d24dd34c6432 ethernet eno0 bridge-slave-eno1 783fc200-6155-496b-8c39-09f1b03c8aec ethernet -- 有線接続 2 159a4b96-7520-3f02-8584-8d92dc89e7f7 ethernet --
この様になっているはず。
最後に不要となった物理NICのアドレス(有線接続 1)を削除する。
# nmcli c delete 有線接続\ 1
$ nmcli d DEVICE TYPE STATE CONNECTION br0 bridge 接続済み bridge-br0 virbr0 bridge 接続済み virbr0 eno0 ethernet 接続済み bridge-slave-eno0 eno1 ethernet 利用不可 -- lo loopback 管理無し -- virbr0-nic tun 管理無し -- $ nmcli c show NAME UUID TYPE DEVICE bridge-br0 46996087-e60a-4480-97bb-68eed1c0c354 bridge br0 bridge-slave-eno0 783fc200-6155-496b-8c39-09f1b03c8aec ethernet eno0 virbr0 70df80ad-997e-4e47-9997-1ad9508861f8 bridge virbr0 有線接続 2 159a4b96-7520-3f02-8584-8d92dc89e7f7 ethernet --
ここまではいいはず。
この状態でsshで192.168.0.40にアクセスするとKVMホストにログインできる。
# virt-install --name kvm2 --memory 1024 --disk size=20 --vcpu 4 --location /tmp/CentOS-7-x86_64-DVD-1908.iso --network bridge=br0 --graphics none --extra-args='console=tty0 console=ttyS0'
で作成する。(sshで接続してインストールしているのでgraphics noneとしているが、実機でやっていたり、vnc環境なら--graphics以降はいらない)
インストールが始まったらNATを使う場合に空欄にしておいたnetworkの設定項目も入力する。
DHCPも使えるが、わざわざブリッジにするならやはりここはstaticアドレスを入れておきたい。
ネット空間はホストと同じ192.168.0.xxでOKだ。
これにて無事、仮想マシンに直接sshでログインできるようになった。
さて、ちゃんとできるになったことだしメインのサーバにも仮想マシンを立てて、通常の作業はそちらで行うのが良いだろうな。
# virt-clone --original kvm1 --name centos7template --file /home/kvm/images/centos7template.img
インストールした仮想環境をコピーしてテンプレートにしておけば環境をいくらでも増やしていける。disk imgはバックアップとしてすげ替えることも可能。
ここからは既存の仮想環境のネットワーク設定を変える試み。しかしうまくいっていない。普通に仮想環境を作り直したほうが早そうだ。
# nano host-bridge.xml # cat host-bridge.xml <network> <name>host-bridge</name> <forward mode="bridge" /> <bridge name="br0"/> </network> # virsh net-define --file host-bridge.xml # virsh net-autostart host-bridge # virsh edit kvm1
<source network='default'/>
を
<source network='host-bridge'/>
に書き換える。