QEMU-KVM で VNC に利用するポートの設定を変更する

Linux で vncserver コマンドで VNC を利用しようとした際、他に vncserver で利用していないにもかかわらず、5901 番から番号が振られた場合、5900 番ポートを qemu-kvm で利用していることがあります。

# ポート 5900 を利用しているプロセスを調べる
lsof -i:5900

# 結果
COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
qemu-kvm XXXXX qemu   14u  IPv4 XXXXXX      0t0  TCP localhost:rfb (LISTEN)

このままでも [ホスト名(IPアドレス):5901] 等で接続可能ですが、ホストマシンの VNC を頻繁に利用する場合は結構面倒くさいです。そこで、 Qemu-KVM で VNC 用に利用するポートを指定する方法について紹介します。

KVM で仮想マシンのディスプレイに VNC を利用する場合、デフォルトでは 5900 番から順番に用のデフォルトポートは 5900 ですが、/etc/libvirt/qemu.conf ファイルの下記のエントリで利用する VNC ポートの最小値、最大値を指定可能です。

なお、仮想マシンのディスプレイに SPICE を利用している場合もこちらの設定が有効となります。

KVM で利用するディスプレイポートの最小値および最大値を指定する

/etc/libvirt/qemu.conf

# ポート 5910 番から利用する
remote_display_port_min = 5910

# ポート 5920 番までを利用する
remote_display_port_max = 5920

なお、設定を変更した場合は Linux を再起動しましょう。

VNCSERVER で利用するポートを変更する

デフォルトでは vncserver コマンドで VNC サーバを起動した場合、5900+ディスプレイ番号がポートとして利用されます。利用するポートは vncserver コマンド(実態は Perl スクリプト)の設定を変更することで、ポートも変えることができます。

例えば 5900 番から利用したい場合下記のように変更可能です。

sudo emacs /usr/bin/vncserver

$vncPort = 5900 + $displayNumber;

#以下に変更
#$vncPort = 5900 + $displayNumber;
$vncPort = 5900 + $displayNumber - 1;

 

コメントを残す

メールアドレスが公開されることはありません。