VNC доступ к виртуальной машине KVM

KVM использует VNC сервер для подключения к консоли виртуальной машины. Каждая машина получает свой порт, начиная с 5900: первая запущенная на сервере будет отвечать на адресе 127.0.0.1:5900, вторая — 127.0.0.1:5901 и так далее.

По-умолчанию VNC принимает подключения только через локальный адрес — 127.0.0.1. Но иногда удобнее сделать так, чтобы к консоли виртуальной машины можно было подключиться с другого компьютера. 

Настройка VNC для доступа к виртуальным машинам KVM

Чтобы настроить доступ к виртуальной машине с использованием VNC, отредактируйте конфигурацию виртуалки.

Для этого нужно изменить настройки виртуальной машины.

virsh edit <vm-name>

Вам нужно изменить секцию graphics.

<graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0' passwd='12345'>
 <listen type='address' address='0.0.0.0'/>
 </graphics>

Приведенный пример будет принимать подключения на всех внешних IP адресах KVM сервера, запрашивая в качестве пароля 12345. Если удалить параметр passwd, то VNC не будет запрашивать пароль при подключении к консоли виртуальной машины.

Как определить VNC порт для подключения к виртуальной машине

Чтобы определить, на каком порту работает VNC сервер для конкретной виртуальной машины, если вы не задали этот порт явно в конфигурации, можно сделать следующее.

Выведите список всех выполняемых виртуальных машин:

$ sudo virsh list
 Id Name State
----------------------------------
  1 srv1 running
 45 srv2 running

Теперь выполните команду, которая покажет номер VNC сервера для нужной виртуальной машины:

$ sudo virsh vncdisplay srv2
:0

Вообще эта команда должна выдать IP адрес и порт для подключения по VNC к указанному виртуальному серверу. На деле команда vncdisplay покажет корректное значение только если у вас не указан конкретный порт в настройках виртуальной машины.

К полученному числу вам нужно добавить 5900, чтобы получить локальный порт, на котором VNC сервер принимает подключения.

В приведенном примере нужно подключиться на адрес 127.0.0.1:5900, чтобы получить VNC доступ к srv2

Как подключиться к VNC на локальном адресе

Если вы не указали иное, VNC сервер, через который вы получаете доступ к виртуальным машинам KVM, принимает подключения на адресе 127.0.0.1.

Если гипервизор запущен на удаленном сервере, то как правило вы будете подключаться к нему используя SSH клиент.

Один из вариантов, чтобы при этом подключиться через VNC к запущенной виртуальной машине — переадресация портов SSH клиентом.

VNC доступ к виртуальной машине KVM: 1 комментарий

  1. Для того, чтобы виртуальные сервера работали в нашей реальной локальной сети на хост-машине создаем сетевой мост.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *