Назад | Перейти на главную страницу

virt-install игнорирует порт / прослушивание 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

Когда у меня был порт = 40001 при создании, он прослушивал порт 34101, так что похоже, что порт рассматривается как какое-то смещение ?! В любом случае - listen вообще не используется, и возможность подключаться с localhost - это не то, что я хочу прямо сейчас.

Что я делаю не так?

Вы не делаете ничего плохого. Протокол VNC указывает, что «порт» на самом деле не порт, а смещение от 5900, порта VNC по умолчанию.

Таким образом 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 после внесения этого изменения.