Fedora 38
Sponsored Link

KVM : VNC 接続の設定2023/04/26

 
VNC 接続の設定を適用して、仮想マシンにリモート接続できるようにします。
接続先の仮想マシンホストが待ち受けるのではなく、KVM ホスト側で仮想マシンへの接続を待ち受けるため、接続先の仮想マシンのネットワークはつながっていなくとも、KVM ホストさえネットワークにつながっていれば仮想マシンへリモート接続することができます。
[1] 既存の仮想マシンの設定ファイルを編集して VNC 対応で起動します。
当サイトの仮想マシン作成例と同様に作成した場合、グラフィクスなしで作成しているため以下の変更のみで OK ですが、
グラフィクスありで作成した場合は、設定ファイル中の、<graphics>~ と <video>~ のセクションは削除して以下のように変更します。
# 仮想マシン [fedora38] の設定編集

[root@dlp ~]#
virsh edit fedora38
<domain type='kvm'>
  <name>fedora38</name>
  <uuid>77a91e5d-88a4-4222-9043-adb04799435c</uuid>
  <metadata>
    <libosinfo:libosinfo xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0">
      <libosinfo:os id="http://fedoraproject.org/fedora/38"/>
    </libosinfo:libosinfo>
  </metadata>
  .....
  .....
    # 以下のように追記
    # [passwd=***] は任意のパスワードを設定
    # [slot='0x0*'] は他と重複しない任意の番号を指定
    <graphics type='vnc' port='5900' autoport='no' listen='0.0.0.0' passwd='password'>
      <listen type='address' address='0.0.0.0'/>
    </graphics>
    <video>
      <model type='virtio' heads='1' primary='yes'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
    </video>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
    </memballoon>
    <rng model='virtio'>
      <backend model='random'>/dev/urandom</backend>
      <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/>
    </rng>
  </devices>
</domain>

Domain fedora38 XML configuration edited.

[root@dlp ~]#
virsh start fedora38

Domain fedora38 started
[3] Firewalld を有効にしている場合は、必要に応じて、割り当てるポートの許可が必要です。
[root@dlp ~]#
firewall-cmd --add-port=5900-5910/tcp

[root@dlp ~]#
firewall-cmd --runtime-to-permanent

[4]
以上で VNC 対応での仮想マシン起動は完了です。VNC クライアントからの接続は次項を参照ください
[5] 仮想マシン作成時から VNC を有効にしたいのであれば、以下のように指定します。
Windows のようにインストールに GUI が必要な OS をインストールする際に、KVM ホストマシンに GUI 環境を用意しなくとも、VNC 有効で起動すればインストールできます。
[root@dlp ~]#
virt-install \
--name Win2k22 \
--ram 6144 \
--disk path=/var/kvm/images/Win2k22.img,size=100 \
--vcpus=4 \
--os-variant=win2k22 \
--network bridge=br0 \
--graphics vnc,listen=0.0.0.0,password=password \
--video vga \
--cdrom /home/Win2022_EN-US_20348.169.210806-2348.fe.iso \
--boot uefi
関連コンテンツ