リモートホスト上にkvmマシンを作成しようとしています。
ホストはDebianテストを実行しています。
このコマンドを使用しました:
virt-install --name debian-test \
--os-type=linux \
--os-variant=debianwheezy \
--cdrom /media/media/software/iso/debian-testing-AMD64-netinst-2014-01-16.iso \
--graphics vnc,listen=0.0.0.0,port=20001 \
--disk pool=default,format=raw,size=20 \
--ram 2048 \
--vcpus=2 \
--network bridge=virbr0 \
--hvm \
--virt-type=kvm
しかし、それが作成されるとき、それはリッスンします:
=# virsh domdisplay debian-test
vnc://localhost:14101
作成時にport = 40001を使用していたとき、ポート34101でリッスンしていたので、ポートは何らかのオフセットとして扱われているように見えますか?!いずれにせよ、listenはまったく使用されておらず、localhostから接続できることは私が今望んでいることではありません。
私は何が間違っているのですか?
あなたは何も悪いことをしていません。 VNCプロトコルは、「ポート」が実際にはポートではなく、デフォルトのVNCポートである5900からのオフセットであることを指定しています。
したがって、localhost:0
はポート5900に接続し、localhost:1
はポート5901に接続します。
デフォルトでは、libvirtは、コマンドラインでの指定に関係なく、VNCリスナーのみをlocalhostにバインドします。これを変更するには、/etc/libvirt/qemu.conf
の適切なオプションを編集する必要があります。
# VNC is configured to listen on 127.0.0.1 by default.
# To make it listen on all public interfaces, uncomment
# this next option.
#
# NB, strong recommendation to enable TLS + x509 certificate
# verification when allowing public access
#
#vnc_listen = "0.0.0.0"
この変更を行った後は、必ずlibvirtdをリロードまたは再起動してください。