Habilitar VNC para VM Linux

Es posible que las máquinas virtuales no estén configuradas para admitir la informática de red virtual (VNC), que se utiliza para controlar las máquinas virtuales de forma remota, de forma predeterminada. Antes de poder conectarse con , 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. En esta sección se describe cómo configurar VNC en cada una de las distribuciones de sistemas operativos Linux compatibles para permitir interacciones adecuadas con .

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 de Debian Squeeze

Nota:

Antes de habilitar una consola gráfica en su máquina virtual Debian Squeeze, 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 Squeeze 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 Squeeze con los paquetes del sistema de escritorio o instale GDM (el gestor de pantalla) utilizando 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 Debian Squeeze, que utiliza el daemon Gnome Display Manager versión 3, puede tardar mucho tiempo de CPU. aconseja encarecidamente que los clientes desinstalen elgdm3 paquete Gnome Display Manager e instalen 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:

    [servidores]
    0=VNC
    [demonio]
    vtalLocation = false
    [Server-VNC]
    nombre = VNC
    command = / usr/bin/xvnc -geometry 800x600 -PasswordFile /etc/vncpass BlackListTimeout = 0
    flexible = verdadero
    
  5. Reinicie GDM y espere a detectar la consola gráfica:

    /etc/init.d/gdm reinicio
    

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:

Configuración de VNC para máquinas virtuales de Red Hat 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, consulte Habilitar 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 = Servidor VNC
    command = / usr/bin/XVNC -securityTypes Ninguno -geometría 1024x768 -profundidad 16 \
    -BlackListTimeout 0
    flexible = verdadero
    

    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 , 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, vea 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 Ninguno -geometría 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 pantallade 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 pantallaSistema Base

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

Captura de pantalla de la pantallaEscritorios

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 ventanaPaquetes 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:

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

    servicio vnc-server
    {
                  id = vnc-server
             desactivar = no
                type = UNListed
                puerto = 5900
         socket_type = flujo
                esperar = no
                usuario = nadie
               grupo = tty
              servidor = /usr/bin/XVNC
         server_args = -inetd -once -query localhost -securityTypes Ninguno \
         -geometría 800x600 -profundidad 16
    }
    
  3. Introduzca el siguiente comando para iniciar elxinetd servicio:

    # servicio xinetd inicio
    
  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 estado — estado NUEVO -m tcp -p tcp — dport 5900 -j ACEPTAR
    
  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, vea 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 Linuxpara obtener más información.

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 utilizar la función de administración remota de SLES es ligeramente diferente del método proporcionado por . 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 la conexión. 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:

    servicio vnc1
    {
    socket_type = flujo
    protocolo    = tcp
    esperar        = no
    usuario        = nadie
    servidor      = /usr/x11R6/bin/XVNC
    server_args =: 42 -inetd -once -query localhost -geometry 1024x768 -depth 16
    type        = UNListed
    puerto        = 5901
    }
    
  3. Editar laport línea para leer

    puerto = 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 reinicio
    reinicio de rcxdm
    

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 , 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 reinicio
    reinicio de rcxdm
    

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 reinicio
    reinicio de rcxdm
    

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.