Viewer A conexão com o host do hipervisor foi recusada

1

Eu usei o VNC-Viewer embutido no virt-manager para ver os desktops da VM. Mas agora, quando clico no botão Reproduzir na janela da VM para ver a área de trabalho da VM chamada server1.example.com , recebo uma mensagem de erro como abaixo:

Error : Viewer Connection to hypervisor host got refused
or disconnected!

Abaixo está minha configuração de /etc/libvirt/qemu/server1.example.com

<!--
WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
OVERWRITTEN AND LOST. Changes to this xml configuration should be made      
using: virsh edit server1.example.com or other application using the 
libvirt API.
-->

<domain type='kvm'>
<name>server1.example.com</name>
<uuid>ca13796e-5917-bff4-b4ca-1203f660cbb2</uuid>
<memory unit='KiB'>1048576</memory>
<currentMemory unit='KiB'>1048576</currentMemory>
<vcpu placement='static'>1</vcpu>
<os>
<type arch='x86_64' machine='rhel6.4.0'>hvm</type>
<boot dev='hd'/>
</os>
<features>
<acpi/>
<apic/>
<pae/>
</features>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<devices>
<emulator>/usr/libexec/qemu-kvm</emulator>
<disk type='file' device='disk'>
  <driver name='qemu' type='raw' cache='none'/>
  <source file='/var/lib/libvirt/images/server1.example.com.img'/>
  <target dev='hda' bus='ide'/>
  <address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<disk type='block' device='cdrom'>
  <driver name='qemu' type='raw'/>
  <target dev='hdc' bus='ide'/>
  <readonly/>
  <address type='drive' controller='0' bus='1' target='0' unit='0'/>
</disk>
<controller type='usb' index='0'>
</controller>
<controller type='ide' index='0'>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x01'     
function='0x1'/>
</controller>
<interface type='network'>
  <mac address='52:54:00:e1:ba:1e'/>
  <source network='default'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x03'    
  function='0x0'/>
</interface>
<serial type='pty'>
  <target port='0'/>
</serial>
<console type='pty'>
  <target type='serial' port='0'/>
</console>
<input type='mouse' bus='ps2'/>
<graphics type='vnc' port='5901' autoport='no' listen='127.0.0.1'>
  <listen type='address' address='127.0.0.1'/>
</graphics>

Eu tinha um mau pressentimento sobre as regras do iptables, então decidi adicionar arquivo / etc / sysconfig / iptables. Por favor, veja abaixo.

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
#-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 23 -j  ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5900 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5901 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5902 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5903 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5904 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A OUTPUT -m state --state NEW -m tcp -p tcp --dport 5900 -j ACCEPT
-A OUTPUT -m state --state NEW -m tcp -p tcp --dport 5901 -j ACCEPT
-A OUTPUT -m state --state NEW -m tcp -p tcp --dport 5902 -j ACCEPT
-A OUTPUT -m state --state NEW -m tcp -p tcp --dport 5903 -j ACCEPT
-A OUTPUT -m state --state NEW -m tcp -p tcp --dport 5904 -j ACCEPT
-A FORWARD -m state --state NEW -i wlan0 -o vibr0 -j ACCEPT
-A FORWARD -m state --state NEW -i vibr0 -o wlan0 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

Abaixo estão os pacotes de virtualização no meu sistema:

libvirt.x86_64           0.10.2-18.el6                     @localrepo
libvirt-client.x86_64    0.10.2-18.el6                     @localrepo
libvirt-python.x86_64    0.10.2-18.el6                     @localrepo
python-virtinst.noarch   0.600.0-15.el6                    @localrepo
virt-manager.x86_64      0.9.0-18.el6                      @localrepo
virt-what.x86_64         1.11-1.2.el6                      @base/6 

Eu tentei visualizar a área de trabalho da VM usando o tiger-vnc e isso foi um sucesso.
Alguém pode sugerir um método para resolver esse problema?

Parte adicionada após a edição : Surpreendentemente, o comando virt-viewer funciona bem. O visualizador de desktop remoto (vinagre) faz o trabalho.

[ssam@centos ~]$ virt-viewer --debug -c qemu:///system 2
** (virt-viewer:7930): DEBUG: Insert window 0 0x1a25890
** (virt-viewer:7930): DEBUG: fullscreen display 0: 0
** (virt-viewer:7930): DEBUG: fullscreen display 0: 0
** (virt-viewer:7930): DEBUG: Opening connection to libvirt with URI 
   qemu:///system
** (virt-viewer:7930): DEBUG: Add handle 7 1 0x1a8d5c0
** (virt-viewer:7930): DEBUG: notebook show status 0x1a24190
** (virt-viewer:7930): DEBUG: notebook show status 0x1a24190
** (virt-viewer:7930): DEBUG: Guest 2 is running, determining display
** (virt-viewer:7930): DEBUG: Set connect info: (null),(null),(null),-1,
   (null),(null),(null),0
** (virt-viewer:7930): DEBUG: Guest 2 has a vnc display
** (virt-viewer:7930): DEBUG: Guest graphics address is 127.0.0.1:5901
** (virt-viewer:7930): DEBUG: Set connect info: localhost,127.0.0.1,5901,-1,
   (null),(null),(null),0
** (virt-viewer:7930): DEBUG: Error operation virDomainOpenGraphics 
    forbidden for read only access
** (virt-viewer:7930): DEBUG: After open connection callback fd=-1
** (virt-viewer:7930): DEBUG: Opening direct TCP connection to display at 
   127.0.0.1:5901:-1
** (virt-viewer:7930): DEBUG: notebook show status 0x1a24190
** (virt-viewer:7930): DEBUG: Add timeout 0x1a9abf0 -1 0x3ee80aa2b0 
   0x1a8d900 1
** (virt-viewer:7930): DEBUG: notebook show status 0x1a24190
** (virt-viewer:7930): DEBUG: notebook show display 0x1a24190
** (virt-viewer:7930): DEBUG: Display size request 100x100 (desktop 100x100)
** (virt-viewer:7930): DEBUG: Allocated 400x375
** (virt-viewer:7930): DEBUG: Child allocate 375x375
** (virt-viewer:7930): DEBUG: desktop resize 1024x768
** (virt-viewer:7930): DEBUG: Preparing main window resize
** (virt-viewer:7930): DEBUG: Decided todo 1024x768 (desktop is 1024x768,
   fullscreen is 1280x800
** (virt-viewer:7930): DEBUG: Display size request 1024x768 (desktop 
   1024x768)
** (virt-viewer:7930): DEBUG: Allocated 1024x768
** (virt-viewer:7930): DEBUG: Child allocate 1024x768
** (virt-viewer:7930): DEBUG: Display size request 50x50 (desktop 1024x768)
** (virt-viewer:7930): DEBUG: Allocated 1024x768
** (virt-viewer:7930): DEBUG: Child allocate 1024x768
** (virt-viewer:7930): DEBUG: Dispatch handler 7 1 0x1a8d5c0
** (virt-viewer:7930): DEBUG: Dispatch handler 7 2 0x1a8d5c0
** (virt-viewer:7930): DEBUG: Dispatch handler 7 1 0x1a8d5c0
    
por sjsam 21.09.2013 / 20:55

4 respostas

1

Na minha máquina do centos, reverter a entrada 127.0.0.1 no arquivo /etc/hosts para localhost corrigiu esse problema. Eu encontrei esta solução é outro lugar. Eu pensei em compartilhar com você tudo sobre isso.

    
por 12.10.2014 / 10:11
1

A razão é que o Linux iptables está bloqueando a conexão de entrada. Portanto, você não poderá conectar o console convidado kvm.

Então, para entender melhor esse problema, inicialmente tente liberar suas regras do iptables e tente o mesmo se o seu console estiver conectado, o problema é o firewall.

Para liberar o iptables:

iptables -F

Para ver as regras:

iptables -L

Para resolver o problema, você precisa desabilitar a rejeição da regra INPUT do iptables.

    
por 21.08.2016 / 11:31
0

Adicione localhost no seu arquivo /etc/hosts após o nome de domínio e o nome do host da máquina. por exemplo,

127.0.0.1 server1.example.com server1 localhost 

Trabalhou para mim !!!!! Espero que tenha funcionado para todos !!!!

    
por 15.01.2016 / 19:30

Tags