Habilitar VNC para VM Linux

Es posible que las VM no estén configuradas para admitir Virtual Network Computing (VNC), que HASH (0x2c1a078) utiliza para controlar las VM de forma remota, de forma predeterminada. Antes de poder conectarse con HASH (0x2e6c8e8), asegúrese de que el servidor VNC y un administrador de visualización X estén instalados en la máquina virtual y configurados correctamente. Esta sección describe cómo configurar VNC en cada una de las distribuciones del sistema operativo Linux compatibles para permitir interacciones adecuadas con HASH (0x2e6c8e8).

Para las máquinas virtuales basadas en CentOS, utilice las instrucciones para las máquinas virtuales basadas en Red Hat que aparecen a continuación, ya que utilizan el mismo código base para proporcionar acceso gráfico de VNC. CentOS X se basa en Red Hat Enterprise Linux X.

Habilitar una consola gráfica en máquinas virtuales Debian

Nota:

Antes de habilitar una consola gráfica en su máquina virtual Debian, asegúrese de haber instalado el agente invitado de Linux. Para obtener más información, consulte Instalar el agente huésped de Linux.

La consola gráfica para máquinas virtuales Debian es proporcionada por un servidor VNC que se ejecuta dentro de la máquina virtual. En la configuración recomendada, un gestor de visualización estándar controla la consola para que se proporcione un cuadro de diálogo de inicio de sesión.

  1. Instale su invitado Debian con los paquetes del sistema de escritorio, o instale GDM (el gestor de pantalla) usando apt (siguiendo los procedimientos estándar).

  2. Instale el servidor Xvnc usandoapt-get (o similar):

    apt-get install vnc4server
    

    Nota:

    El entorno gráfico de escritorio de Debian, que utiliza el daemon Gnome Display Manager versión 3, puede tardar mucho tiempo de CPU. Desinstale elgdm3 paquete Gnome Display Manager e instale elgdm paquete de la siguiente manera:

    apt-get install gdm
    apt-get purge gdm3
    
  3. Configure una contraseña VNC (no tener una es un grave riesgo para la seguridad) mediante elvncpasswd comando. Pase un nombre de archivo para escribir la información de la contraseña. Por ejemplo:

    vncpasswd /etc/vncpass
    
  4. Modifiquegdm.conf el archivo (/etc/gdm/gdm.conf ) para configurar un servidor VNC para administrar la visualización exten0 diendo[servers] el [daemon]secciones de la siguiente manera:

        [servers]
        0=VNC
        [daemon]
        VTAllocation=false
        [server-VNC]
        name=VNC
        command=/usr/bin/Xvnc -geometry 800x600 -PasswordFile /etc/vncpass BlacklistTimeout=0
        flexible=true
    
  5. Reinicie GDM y espere a que HASH (0x2e6c8e8) detecte la consola gráfica:

    /etc/init.d/gdm restart
    

Nota:

Puede comprobar que el servidor VNC se está ejecutando utilizando un comando comops ax | grep vnc.

Habilitar una consola gráfica en máquinas virtuales Red Hat, CentOS u Oracle Linux

Nota:

Antes de configurar las máquinas virtuales de Red Hat para VNC, asegúrese de haber instalado el agente invitado de Linux. Para obtener más información, consulte Instalar el agente huésped de Linux.

Para configurar VNC en máquinas virtuales de Red Hat, modifique la configuración de GDM. La configuración de GDM se mantiene en un archivo cuya ubicación varía según la versión de Red Hat Linux que esté utilizando. Antes de modificarlo, determine primero la ubicación de este archivo de configuración. Este archivo se modifica en varios procedimientos posteriores en esta sección.

Nota:

Para obtener información sobre cómo habilitar VNC para máquinas virtuales RHEL, CentOS u OEL 6.x, consulteHabilitar VNC para máquinas virtuales RHEL, CentOS u OEL 6.

Determinar la ubicación del archivo de configuración de VNC

Si está utilizando Red Hat Linux versión 5.x, el archivo de configuración de GDM es/etc/gdm/custom.conf. Este archivo es un archivo de configuración dividido que contiene sólo los valores especificados por el usuario que anulan la configuración predeterminada. Este tipo de archivo se utiliza de forma predeterminada en las versiones más recientes de GDM. Está incluido en estas versiones de Red Hat Linux.

Configurar GDM para usar VNC

  1. Como root en la CLI de texto en la VM, ejecute el comandorpm -q vnc-server gdm. Los nombres de los paquetesvnc-server ygdm aparecen, con sus números de versión especificados.

    Los nombres de paquetes que se muestran muestran los paquetes que ya están instalados. Si aparece un mensaje que indica que un paquete no está instalado, es posible que no haya seleccionado las opciones de escritorio gráfico durante la instalación. Instale estos paquetes antes de poder continuar. Para obtener más información sobre la instalación de más software en su máquina virtual, consulte la Guía de instalación adecuada de Red Hat Linux x86.

  2. Abra el archivo de configuración de GDM con su editor de texto preferido y agregue las siguientes líneas al archivo:

        [server-VNC]
        name=VNC Server
        command=/usr/bin/Xvnc -SecurityTypes None -geometry 1024x768 -depth 16 \
        -BlacklistTimeout 0
        flexible=true
    

    Con los archivos de configuración en Red Hat Linux 5.x, agregue estas líneas a la[servers] sección vacía.

  3. Modifique la configuración para que se utilice elXvnc servidor en lugar del servidor X estándar:

    • 0=Standard

      Modifíquelo para que diga:

      0=VNC

    • Si está utilizando Red Hat Linux 5.x o superior, agregue la línea anterior justo debajo de la[servers] sección y antes de la[server-VNC] sección.

  4. Guarde y cierre el archivo.

Reinicie GDM para que su cambio en la configuración surta efecto, ejecutando el comando/usr/sbin/gdm-restart.

Nota:

Red Hat Linux utiliza el nivel de ejecución 5 para el inicio gráfico. Si la instalación se inicia en el nivel de ejecución 3, cambie esta configuración para que se inicie el gestor de visualización y obtenga acceso a una consola gráfica. Para obtener más información, consulte Comprobar niveles de ejecución.

Configuración del cortafuegos

La configuración del firewall de forma predeterminada no permite que pase el tráfico VNC. Si tiene un firewall entre la máquina virtual y HASH (0x2e6c8e8), permita el tráfico a través del puerto que utiliza la conexión VNC. De forma predeterminada, un servidor VNC escucha las conexiones de un visor VNC en el puerto TCP5900 + n, dondenes el número de visualización (generalmente cero). Por lo tanto, una configuración de servidor VNC para Display-0 escucha en el puerto TCP5900, Display-1 esTCP-5901, y así sucesivamente. Consulte la documentación del firewall para asegurarse de que estos puertos están abiertos.

Si desea utilizar el seguimiento de conexiones IP o limitar el inicio de conexiones para que sean sólo de un lado, configure aún más su firewall.

Para configurar el firewall VMS de base Red Hat para abrir el puerto VNC:

  1. Para Red Hat Linux 5.x, usesystem-config-securitylevel-tui.

  2. Seleccione Personalizar y agregar5900 a la lista de otros puertos.

Alternativamente, puede deshabilitar el firewall hasta el siguiente reinicio ejecutando el comandoservice iptables stop, o de forma permanente ejecutandochkconfig iptables off. Esta configuración puede exponer servicios adicionales al mundo exterior y reducir la seguridad general de su máquina virtual.

Resolución de pantalla VNC

Después de conectarse a una máquina virtual con la consola gráfica, la resolución de pantalla a veces no coincide. Por ejemplo, la pantalla de la máquina virtual es demasiado grande para caber cómodamente en el panel de la consola gráfica. Controle este comportamiento estableciendo elgeometry parámetro del servidor VNC de la siguiente manera:

  1. Abra el archivo de configuración de GDM con su editor de texto preferido. Para obtener más información, consulte Determinar la ubicación del archivo de configuración de VNC.

  2. Encuentra la[server-VNC] sección que has añadido arriba.

  3. Edite la línea de comandos para leer, por ejemplo:

    command=/usr/bin/Xvnc -SecurityTypes None -geometry 800x600
    

    El valor delgeometry parámetro puede ser cualquier ancho y alto de pantalla válidos.

  4. Guarde y cierre el archivo.

Habilitar VNC para máquinas virtuales RHEL, CentOS u OEL 6

Si está utilizando Red Hat Linux versión 6.x, el archivo de configuración de GDM es/etc/gdm/custom.conf. Este archivo es un archivo de configuración dividido que contiene sólo los valores especificados por el usuario que anulan la configuración predeterminada. De forma predeterminada, este tipo de archivo se utiliza en las versiones más recientes de GDM y se incluye en estas versiones de Red Hat Linux.

Durante la instalación del sistema operativo, seleccione Modo de escritorio . En la pantalla de instalación de RHEL, seleccione Escritorio > Personalizar ahora y, a continuación, haga clic en Siguiente :

Captura de pantalla de la pantalla de instalación de RHEL

Esta acción muestra la pantalla Sistema base, asegúrese de que esté seleccionada la compatibilidad con UNIX heredada :

Captura de pantalla de la pantalla Sistema Base

Seleccione Escritorios > Paquetes opcionales y, a continuación, haga clic en Siguiente :

Captura de pantalla de la pantalla Escritorios

Esta acción muestra la ventana Paquetes en el escritorio, seleccione tigervnc-server- < version_number > y, a continuación, haga clic en Siguiente:****

Captura de pantalla de la ventana Paquetes en el escritorio

Siga los pasos siguientes para continuar con la configuración de las máquinas virtuales RHEL 6.x:

  1. Abra el archivo de configuración de GDM con su editor de texto preferido y añada las siguientes líneas a las secciones correspondientes:

        [security]
        DisallowTCP=false
    
        [xdmcp]
        Enable=true
    
  2. Cree el archivo,/etc/xinetd.d/vnc-server-stream:

        service vnc-server
        {
                      id = vnc-server
                 disable = no
                    type = UNLISTED
                    port = 5900
             socket_type = stream
                    wait = no
                    user = nobody
                   group = tty
                  server = /usr/bin/Xvnc
             server_args = -inetd -once -query localhost -SecurityTypes None \
             -geometry 800x600 -depth 16
        }
    
  3. Introduzca el siguiente comando para iniciar elxinetd servicio:

    # service xinetd start
    
  4. Abra el archivo/etc/sysconfig/iptables. Agregue la siguiente línea encima de la línea de lectura,-A INPUT -j REJECT --reject-with icmp-host-prohibited:

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 5900 -j ACCEPT
    
  5. Introduzca el siguiente comando para reiniciariptables:

    # service iptables restart
    
  6. Introduzca el siguiente comando para reiniciargdm:

        # telinit 3
        # telinit 5
    

Nota:

Red Hat Linux utiliza el nivel de ejecución 5 para el inicio gráfico. Si la instalación se inicia en el nivel de ejecución 3, cambie esta configuración para que se inicie el gestor de visualización y obtenga acceso a una consola gráfica. Para obtener más información, consulte Comprobar niveles de ejecución.

Configuración de máquinas virtuales basadas en Sles para VNC

Nota:

Antes de configurar las máquinas virtuales de SUSE Linux Enterprise Server para VNC, asegúrese de haber instalado el agente invitado de Linux. Consulte Instalar el agente huésped de Linux para obtener más detalles.

SLES tiene soporte para habilitar “Administración remota” como opción de configuración enYaST. Puede seleccionar habilitar Administración remota en el momento de la instalación, disponible en la pantalla Servicios de red del instalador de SLES. Esta función le permite conectar un visor VNC externo a su invitado para que pueda ver la consola gráfica. El método para usar la función de administración remota de SLES es ligeramente diferente del método proporcionado por HASH (0x2e6c8e8). Sin embargo, es posible modificar los archivos de configuración de su máquina virtual SUSE Linux de modo que se integre con la función de consola gráfica.

Comprobar si hay un servidor VNC

Antes de realizar cambios en la configuración, compruebe que tiene instalado un servidor VNC. SUSE envía eltightvnc servidor de forma predeterminada. Este servidor es un servidor VNC adecuado, pero también puede utilizar la distribución RealVNC estándar.

Puede comprobar que tiene instalado eltightvnc software ejecutando el comando:

rpm -q tightvnc

Habilitar administración remota

Si la Administración remota no se habilitó durante la instalación del software SLES, puede habilitarla de la siguiente manera:

  1. Abra una consola de texto en la máquina virtual y ejecute laYaST utilidad:

    yast
    
  2. Use as teclas de seta para selecionar Serviços de rede no menu esquerdo. Pestaña en el menú de la derecha y use las teclas de flecha para seleccionar Administración remota . Pulse Intro.

  3. En la pantalla Administración remota , vaya a la sección Configuración de administración remota . Utilice las teclas de dirección para seleccionar Permitir administración remota y presione Entrar para colocar una X en la casilla de verificación.

  4. en la sección Configuración del cortafuegos . Utilice las teclas de flecha para seleccionar Abrir puerto en Firewall y presione Entrar para colocar una X en la casilla de verificación.

  5. Haga clic en el botón Finalizar y presione Entrar .

  6. Aparece un cuadro de mensaje que le indica que reinicie el administrador de visualización para que su configuración surta efecto. Pulse Intro para confirmar el mensaje.

  7. YaST`` Aparece el menú de nivel superior original de. Haga clic en el botón Salir y presione Entrar .

Modificar la configuración xinetd

Después de habilitar Administración remota, modifique un archivo de configuración si desea permitir que HASH (0x2e6c8e8) se conecte. Alternativamente, utilice un cliente VNC de terceros.

  1. Abra el archivo/etc/xinetd.d/vnc en su editor de texto preferido.

  2. El archivo contiene secciones como las siguientes:

        service vnc1
        {
        socket_type = stream
        protocol    = tcp
        wait        = no
        user        = nobody
        server      = /usr/X11R6/bin/Xvnc
        server_args = :42 -inetd -once -query localhost -geometry 1024x768 -depth 16
        type        = UNLISTED
        port        = 5901
        }
    
  3. Editar laport línea para leer

    port = 5900
    
  4. Guarde y cierre el archivo.

  5. Reinicie el gestor de visualización y elxinetd servicio con los siguientes comandos:

    /etc/init.d/xinetd restart
    rcxdm restart
    

SUSE Linux utiliza el nivel de ejecución 5 para el inicio gráfico. Si el escritorio remoto no aparece, compruebe que la máquina virtual está configurada para iniciarse en el nivel de ejecución 5. Para obtener más información, consulte Comprobar niveles de ejecución.

Configuración del cortafuegos

De forma predeterminada, la configuración del firewall no permite que pase el tráfico VNC. Si tiene un firewall entre la máquina virtual y HASH (0x2e6c8e8), permita el tráfico a través del puerto que utiliza la conexión VNC. De forma predeterminada, un servidor VNC escucha las conexiones de un visor VNC en el puerto TCP5900 + n, dondenes el número de visualización (generalmente cero). Por lo tanto, una configuración de servidor VNC para Display-0 escucha en el puerto TCP5900, Display-1 esTCP-5901, y así sucesivamente. Consulte la documentación del firewall para asegurarse de que estos puertos están abiertos.

Si desea utilizar el seguimiento de conexiones IP o limitar el inicio de conexiones para que sean sólo de un lado, configure aún más su firewall.

Para abrir el puerto VNC en SLES 11.x VM Firewall:

  1. Abra una consola de texto en la máquina virtual y ejecute laYaST utilidad:

    yast
    
  2. Utilice las teclas de flecha para seleccionar Seguridad y Usuarios en el menú de la izquierda. Pestaña en el menú de la derecha y use las teclas de flecha para seleccionar Firewall . Pulse Intro.

  3. En la pantalla Firewall , utilice las teclas de flecha para seleccionar Reglas personalizadas en el menú de la izquierda y, a continuación, presione Entrar .

  4. Ficha en el botón Agregar de la sección Reglas permitidas personalizadas y, a continuación, presione Entrar .

  5. En el campo Red de origen , escriba 0/0 . En el campo Puerto de destino , escriba 5900 .

  6. Tabulador para el botón Agregar y, a continuación, presione Entrar .

  7. Haga clic en el botón Siguiente y presione Entrar .

  8. En la pestaña de la pantalla Resumen al botón Finalizar y presione Entrar .

  9. En laYaST pantalla de nivel superior ficha al botón Salir y presione Entrar .

  10. Reinicie el gestor de visualización y elxinetd servicio con los siguientes comandos:

    /etc/init.d/xinetd restart
    rcxdm restart
    

Como alternativa, puede deshabilitar el firewall hasta el siguiente reinicio ejecutando el comando stop RCSUseFirewall2 o permanentemente utilizandoYaST . Esta configuración puede exponer servicios adicionales al mundo exterior y reducir la seguridad general de su máquina virtual.

Resolución de pantalla VNC

Después de conectarse a una máquina virtual con la consola gráfica, la resolución de pantalla a veces no coincide. Por ejemplo, la pantalla de la máquina virtual es demasiado grande para caber cómodamente en el panel de la consola gráfica. Controle este comportamiento estableciendo elgeometry parámetro del servidor VNC de la siguiente manera:

  1. Abra el/etc/xinetd.d/vnc archivo con su editor de texto preferido y busque laservice_vnc1 sección (correspondiente adisplayID 1).

  2. Edite elgeometry argumento de laserver-args línea a la resolución de visualización deseada. Por ejemplo,

    server_args  = :42 -inetd -once -query localhost -geometry 800x600 -depth 16
    

    El valor delgeometry parámetro puede ser cualquier ancho y alto de pantalla válidos.

  3. Guarde y cierre el archivo.

  4. Reinicie el servidor VNC:

    /etc/init.d/xinetd restart
    rcxdm restart
    

Comprobar niveles de ejecución

Las máquinas virtuales Red Hat y SUSE Linux utilizan el nivel de ejecución 5 para el inicio gráfico. En esta sección se describe cómo comprobar que la máquina virtual se inicia en el nivel de ejecución 5 y cómo cambiar esta configuración.

  1. Compruebe/etc/inittab para ver en qué se establece el nivel de ejecución predeterminado. Busque la línea que dice:

    id:n:initdefault:
    

    Si n no es 5, edite el archivo para hacerlo así.

  2. Puede ejecutar el comandotelinit q ; telinit 5 después de este cambio para evitar tener que reiniciar para cambiar los niveles de ejecución.