web-dev-qa-db-ja.com

virt-vncポートを無視してインストール/リッスンしますか?

リモートホスト上に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から接続できることは私が今望んでいることではありません。

私は何が間違っているのですか?

2
user195086

あなたは何も悪いことをしていません。 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をリロードまたは再起動してください。

3
Michael Hampton