Guadalinex con colinux y Tecnología Nomachine NX
Upcoming SlideShare
Loading in...5
×
 

Guadalinex con colinux y Tecnología Nomachine NX

on

  • 6,191 views

Este documento cubre las principales características de la tecnología colinux y cómo solventar problemas. También los principales componentes de NX

Este documento cubre las principales características de la tecnología colinux y cómo solventar problemas. También los principales componentes de NX

Statistics

Views

Total Views
6,191
Views on SlideShare
6,162
Embed Views
29

Actions

Likes
0
Downloads
65
Comments
0

6 Embeds 29

http://foros.zackyfiles.com 12
http://www.slideshare.net 11
http://forum.zackyfiles.com 3
http://foro.zackyfiles.com 1
http://www.guadalinfo.es 1
http://www.health.medicbd.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Guadalinex con colinux y Tecnología Nomachine NX Guadalinex con colinux y Tecnología Nomachine NX Presentation Transcript

    • Guadalinex en colinux, aplicando tecnología de escritorios remotos con NOMACHINE NX / FREENX Juan Carlos Rubio Pineda http://creativecommons.org/licenses/by/2.5/es/
    • COLINUX • ¿Cómo funciona? • ¿En qué estado está la versión que tenemos ahora disponible? • Problemas y soluciones. • Usos y aplicaciones
    • COLINUX • ¿Cómo funciona? − Colinux es una modificación de un kernel y otras utilidades Linux (un driver que debe precargarse), que proporciona los medios necesarios para poder ejecutar una distribución Linux (la que deseemos) en el contexto de drivers de un Sistema Operativo Host (dentro de un S.O. Microsoft Windows 2K, 2K3 o XP) − El kernel linux que se ejecuta dentro de Windows, lo hace en el mismo nivel de privilegios que el kernel envolvente, es decir, Windows. − El Kernel linux huésped, se ejecuta con una cantidad de memoria prefijada antes de lanzarse, que puede variar, siempre dentro del límite REAL de la máquina envolvente. − El kernel huésped, dispone de sus propias tablas de páginas y control absoluto de la MMU (memory management unit), con un límite de direccionamiento de 4GB.
    • COLINUX • Resumen: Host Userspace colinux-serial-daemon process Host Kernel Guest Kernel colinux-daemon coLinux IPC using process Kernel Normal named pipes driver Linux Main Run Userspace Loop ioctl() Passage entry page entry colinux-console-nt (unmodified process binaries) colinux-net-daemon process colinux-bridged-net-daemon process
    • COLINUX • En el S.O. envolvente, un proceso del espacio de usuario windows, colinux-daemon, ejecuta de forma constante llamadas a ioctl (es una función que controla parámetros de dispositivos subyacentes, descritos como ficheros, en sistemas UNIX). • El driver colinux, conecta el kernel host o envolvente con el huésped usando un código de bajo nivel i386, de modo que el estado de la CPU siempre se preserva (registros generales y registros de control). • Cuando el huésped requiere datos del host, o cuando se eleva una interrupción, se produce una conexión con el driver colinux del S.O. envolvente.
    • COLINUX • Resumen del Kernel Space Host Kernel Guest Kernel Interrupt coLinux forwarding host kernel cob driver cobd d (linux.sys) entry Passage entry conet Run ioctl() Page cocon Etc..
    • COLINUX • Resumen del canal de paso de páginas (4KB)
    • COLINUX • Control de interrupciones y excepciones Host Kernel Guest Kernel Host ISR (interrupt service routine) table Page Guest ISR table Fault YY < 32 (internal) XX >= 32 ISR YY Internal IDE0 entry Passage entry handling handling Page code IDE0 (external) ISR XX ISR XX
    • COLINUX • Gestión de la memoria y mapping: Guest Kernel Physical Memory FFFFFFFF Virtual Address Space fixmaps page tables that map this address space Reverse address translation tables pseudo physical ram bss data C0000000 text
    • COLINUX • ¿Qué otros cambios incorpora el kernel modificado colinux? − Añade un método que actúa de interfaz con el driver colinux que está cargado en el host envolvente. − Añade unos dispositivos virtuales que implementan el control con dispositivos de bloques (disco), salida de vídeo (consola) e interfaces de red. Entre ellos está el driver cofs, un dispositivo que conecta el disco de la máquina envolvente para poder ser montado en la máquina huésped. Acceso en lectura y escritura. − El acceso al hardware está denegado (se ha modificado la función ioperm() y la función iopl() para que fallen). − El acceso al hardware, debe pasar por lo tanto por la capa de abstracción implementada, es decir, usando los dispositivos virtuales mencionados.
    • COLINUX • ¿Qué versión tenemos ahora disponible y en qué estado se encuentra? − colinux 0.6.4: Estable hasta Noviembre. Es necesario algunos cambios para obtener total fiabilidad (ver problemas y soluciones). − Colinux 0.7.1: Estable desde el 2 de Noviembre de 2007. Aún reciente, aunque corrige: • Rendimiento de interfaces slirp • Nuevo driver TAP Win32, lo que mejora el rendimiento de estos interfaces • Bugs con ciertos tipos de micros P4 y Xeon • Bug con Vista. • Mejora en el tratamiento de la memoria.
    • COLINUX • Problemas y soluciones − 1.- En algunas versiones de XP puede provocar una BSD (blue screen of death), fácilmente corregible modificando un parámetro en en archivo boot.ini de windows. • El motivo: una protección que windows incorpora para evitar los ataques de desbordamiento de buffer. • Ejemplo de boot.ini que puede derivar en una BSD: [boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)WINDOWS=quot;Microsoft Windows XP Professionalquot; /noexecute=Optln /fastdetect • Corrección: cambiamos Optln por AlwaysOff /NOPAE
    • COLINUX • Problemas y soluciones (II) − A veces, el proceso colinux-console-nt o el proceso colinux-console-fltk pueden colgarse si se ejecutan contra el archivo de configuración XML. • Solución: usar los parámetros de línea de comandos en un batch (nuestro caso). Incluso los desarrolladores de colinux, aconsejan usar esta opción de forma preferente. • Cuando montamos colinux como un servicio windows, estos procesos no son lanzados, con lo que obviamos el problema. − Un usuario podría lanzar dos instancias de LINUX (colinux) que escriban en el mismo disco de forma accidental, provocando corrupción de datos • En un script de arranque, se ha contemplado esta eventualidad, de manera que existe una línea que evita la carga de una nueva instancia sin haber finalizado la primera (a través del linux.sys) • Es muy efectivo, ya que impide cargar linux.sys, de manera que no hay medios para saltarse esta protección de forma accidental.
    • COLINUX • Problemas y soluciones (III) − La máquina colinux no detecta un dispositivo USB recién conectado. • Ni lo hará, ya que el kernel de colinux no contempla estos dispositivos. • Solución: windows lo detecta, y accedo a él a través del interfaz cofs. − No tenemos sonido • El kernel de colinux tampoco permite acceder a tarjetas de sonido. • Gracias a la función de streaming de audio de freenx, conseguimos que sea la tarjeta de sonido de la máquina envolvente la que realice esta función, con lo que disponemos de sonido. − No tenemos acceso al CDROM/DVD-ROM, grabadora. • Podemos montar el contenido en forma de fichero .ISO − Podemos acceder a través de windows.
    • COLINUX • Problemas y soluciones (III) − La instalación de guadalinex necesita un mínimo de 4GB de archivo de imagen para ejecutarse. Pero grabar archivos de más de 2GB en un DVD sin fraccionarlos puede acarrear dificultades. • Solución: Usamos UnxUtils, − split -b => Dividimos en trozos de 1 GB − cat -B => Unimos los trozos − El disco se me ha quedado pequeño. Necesitamos más espacio • Un archivo de imagen de 10GB comprimido con bzip2 puede alcanzar un espacio disponible de 10GB para linux una vez descomprimido. − Aunque algunos antivirus tienden a descomprimir estos archivos para comprobar si almacenan virus; por ejemplo, OfficeScan, de TrendMicro. • Bastaría crear un nuevo archivo y montarlo, si bien es posible un traspaso completo de los datos a un nuevo archivo que representa un sistema de ficheros para colinux.
    • COLINUX • Problemas y soluciones (IV) − ¿Por qué no me funciona el eye candy (por ejemplo, compiz o beryl) • Porque usan drivers nativos de las tarjetas gráficas con aceleración, como ATI o nVIDIA, y colinux tan sólo contempla acceso a una consola en texto. • La única posibilidad gráfica con la que contamos es usar un servidor X como XMING (o compilarlo desde cygwin), o usar FREENX (que ya incluye un servidor X de cygwin, además de otras mejoras). − ¿Puedo ver TDT con mi sintonizador USB o TV analógica desde mi Linux? • Por la misma razón anterior, no será posible. − ¿Puedo ver vídeo en demanda desde mi Linux? • Eso sí es posible; freenx se comporta de manera adecuada en streaming.
    • COLINUX • Usos y aplicaciones − Migración progresiva desde Windows • Colinux es muy veloz (es un proceso; no una capa global de abstracción como vmware, con reparto de CPU), y proporciona todo el software disponible en linux sin recompilar. − Colinux puede arrancar múltiples instancias • Ideal para simulación y estudio de un cluster de supercomputación. − Colinux puede arrancar DESDE WINDOWS un sistema linux que tengamos en nuestra máquina sin necesidad de disponer de un arranque dual con grub o lilo. o bien tener ambas posibilidades disponibles. − Colinux puede acceder al disco de la máquina envolvente sin usar artificios como samba.
    • COLINUX • Usos y aplicaciones (II) − Colinux puede ser la forma de probar guadalinex sin miedo particionar nuestro disco, sino simplemente copiar unas carpetas a nuestro disco, y empezar a ejecutar.. − Colinux trae todas las aplicaciones linux al escritorio windows. − Colinux puede lanzarse como un servicio windows • Esto permite disponer de un linux preparado para el uso requerido, SIN NECESIDAD DE QUE EL USUARIO INICIE UNA SESIÓN. − Colinux puede crecer en espacio de disco sin provocar “tragedias”. − Colinux es tan ágil y rápido como un proceso más de los que estén ejecutándose en Windows.
    • COLINUX
    • NOMACHINE NX / FREENX
    • NOMACHINE NX • NOMACHINE NX: ¿Qué es? − NOMACHINE NX es una solución para proporcionar aplicaciones centralizadas a clientes ligeros o trabajadores remotos sobre cualquier tipo de conexión de red. El software de NX es capaz de transportar sesiones de escritorios X- Window, RDP y RFB con sorprendente velocidad y facilidad de uso. − El Servidor NX se ejecuta sobre cualquier sistema operativo Linux, o Solaris − Hay clientes NX para una gran variedad de plataformas y sistemas operativos, incluso dispositivos embebidos como HP/Compaq iPAQ y Sharp Zaurus.
    • Introd. a la tecnología • Detrás de NX de NoMachine está la arquitectura NX Distributed Computing Architecture (NXDCA), que usa dos conocidos y ampliamente utilizados estándares abiertos: ssh (encriptación) y el sistema X-Window. • NXDCA es un conjunto de tecnologías que conforman una capa en el servidor que habilita a cualquier UNIX para prestar los servicios de un servidor de terminales, existiendo importantes diferencias entre alternativas similares como RFB y RDP
    • Introd. a la tecnología • VNC (RFB) y Microsoft Terminal Server (RDP), son protocolos mucho más simples que las X. − Su simplicidad no compensa su falta de eficiencia y prestaciones. − Estos protocolos, dibujan para pantalla remota transfiriendo cantidades enormes de datos de imagen que se envían a través de la red. − Incluso aceptando que RDP es de mayor nivel y eficiencia que RFB, no ha sido diseñado para el uso diario de recursos de cómputo, sino cono un “añadido” al sistema operativo subyacente. • X-Window sin embargo, es el subsistema gráfico (y no una extensión) del sistema operativo del host. Las aplicaciones X se comunican con el sistema gráfico (X-Window) usando el protocolo X, de manera que el sistema operativo no tiene que añadir una capa para trasladar refrescos de pantalla sobre la red.
    • Introd. a la tecnología • Si el protocolo de las X es mucho más adecuado para ejecutar aplicaciones remotas que el protocolo RDP ¿Por qué entonces en la práctica, parece lo contrario? − La respuesta está en los roundtrips. − Las aplicaciones en X-Window recientes se están escribiendo teniendo en cuenta cada vez menos la posibilidad de ejecutarlas en remoto. − La mayoría de las operaciones X son asíncronas (no hay que esperar la respuesta a la petición); sin embargo, hay operaciones que son síncronas. • Aunque en local cientos de rountrips de milisegundos sean despreciables, en conexiones remotas, una aplicación puede tardar demasiado en iniciarse por culpa de ellos. • Hasta en la propia xlib (la librería que usan absolutamente todas las aplicaciones X) hay llamadas que implican innecesariamente llamadas síncronas.
    • Introd. a la tecnología • Entonces, ¿Qué solución aporta NX a este problema? − Hace de caché de peticiones • Iniciar KDE la primera vez, implica una descarga de unos 4Megabytes • Iniciar KDE la segunda vez, sólo requiere 35Kbytes − Se logran ratios de mejora del orden de 10:1 a 100:1 − Podemos usar NX hasta con un modem de 9600bps − Comprime tanto peticiones como imágenes • X-Window trabaja con bitmaps, cuando pueden transmitirse imágenes con menor ancho de banda en PNG • Además, dispone de mecanismos de compresión que aumentan el rendimiento que puede lograrse con la compresión ZLIB nativa del protocolo ssh (Ej.- ssh –XC fulano@maquina). − Y además, esta compresión consume 10 veces menos recursos y la compresión es 10 veces mejor.
    • Introd. a la tecnología • Si NX es ssh+X+conjunto de añadidos de mejora, ¿Qué servidor X se usa? − Se usa XMING, o lo que es lo mismo, el port del sistema X compilado mediante CYGWIN, e incluído en el mismo bloque que constituye el cliente NX (es decir, el cliente NX, incluye un servidor X). − Lo bueno de esto, es que el portapapeles de windows y el portapapeles de las X ESTAN CONECTADOS, aunque sólo para transmitir texto (lo cual es tremendamente útil). • En sentido W->U, pegamos con el botón central del ratón • En sentido U->W, pegamos con un CTRL+V o con la opción Pegar de contexto. • ¿Puede servirnos NX para conectar mediante VNC o RDP, de manera optimizada? − La respuesta es SÍ, aunque la mejora ganada en este caso, consiste básicamente en aprovechar la caché. − Crear un acceso que conecte por ejemplo, a una máquina Windows por RDP, saltando a través de un NX Server puede mejorar el ratio de 2:1 a 10:1.
    • Introd. a la tecnología • ¿Eso es todo lo que NX puede hacer por mí? − NX permite que las aplicaciones remotas usen una impresora local − NX permite que las aplicaciones remotas usen un recurso de disco compartido local • Encapsula el protocolo SAMBA dentro de la conexión SSH. − NX se comporta de manera aceptable haciendo streaming de vídeo. − NX es capaz de encapsular el sonido de la máquina remota para que sea reproducido en la máquina cliente • Para ello usa el componente NXESD. − NX puede suspender una sesión X para después ser recuperada (resume), al estilo de VNC y RDP, funcionando como un screen gráfico (permite elegir entre una lista de sesiones suspendidas) • Secuencia de teclado: CTRL+ALT+T en el cliente
    • Introd. a la tecnología • <<Esto no es nuevo, GNU/Linux, ya que existen desde hace tiempo los demonios de sonido y de impresión, y también NFS o samba>> − Sí, pero el hecho de que TODO pueda gestionarse de manera sencilla en un único producto, lo hace tremendamente atractivo. − Y además, un cliente NX puede instalarse de una forma tan sencilla como ejecutar un applet Java (nxplugin -NX Web Companion-). − La guinda del pastel, consiste en que el uso de recursos del servidor NX es bastante bajo; unos 40/64 MB de RAM y 100Mhz de CPU por sesión, con un uso de ancho de banda de unos 40 Kbits/s. • Un servidor mediano en la actualidad, puede soportar cientos de sesiones NX sin que merme el rendimiento (aunque depende, claro está, de lo que ejecute cada usuario).
    • Introd. a la tecnología • Gráfica de funcionamiento:
    • Componentes NX • NXAGENT: − Este componente actúa como una aplicación más de escritorio no visible, que permite que las aplicaciones que se ejecuten en el escritorio sean autónomas, y eviten los roundtrips. • Funciona cono un servidor X que multiplexa las conexiones X de los clientes a una única petición al servidor X, eliminando los roundtrips. • Prepara los datos haciendo un encoding según el tipo de conexión, para facilitar la labor a NXPROXY (véase más adelante) • Lanza una una instancia de NXPROXY. • NXVIEWER: − Permite actuar de proxy para conectar por VNC a otra máquina, mejorando el rendimiento con la caché NX. • NXDESKTOP: − Idem nxviewer, pero para conexiones RDP. • NXESD − Permite encapsular el sonido en la conexión NX, y reproducirlo en la máquina local.
    • Componentes NX • NXNODE (I): − Es el core de la arquitectura distribuída NX. − Se encarga de: • Lanzar el proceso nxagent • Lanzar las aplicaciones con el DISPLAY adecuado (cuando acaban, envía un SIGTERM a NXAGENT), donde el DISPLAY lo enlaza NXPROXY. • Lanzar un proceso de monitorización. − Se encarga de exportar el entorno a los usuarios, de manera que las sesiones se ejecutan en computadoras con NXNODE’s en una especie de Cluster Virtual • Es decir, cientos de NXNODE’s pueden estar conectados con uno o más servidores para controlar miles de sesiones concurrentes. − Esto garantiza la escalabilidad. − Cualquier computadora puede ser un NXNODE de la arquitectura NXDCA. Una red NX es muy similar a una red p2p, en el sentido de que en p2p, si buscamos una canción, los motores de búsqueda nos redirigen al servidor apropiado, proporcionando la credencial de autorización necesaria, para permitir que el otro nodo acepte la conexión.
    • Componentes NX • NXNODE (II): − No sólo distribuye la carga de red distribuyendo sesiones, sino que puede distribuir las aplicaciones que se ejecuten en una sesión entre diferentes servidores. − Esto puede ser necesario cuando, por ejemplo, un recurso o aplicación no está disponible en el nodo original, o bien porque un recurso esté más “próximo” al usuario siguiendo el camino más corto a través de la red. − Esto garantiza un mejor rendimiento.
    • Componentes NX • NXPROXY: − Comprime (remoto) y descomprime (local) el tráfico de red. − Cachea. − Encapsula en un túnel el tráfico SMB y multimedia • Ejemplo; un túnel entre dos hosts puede crearse así: − En la máquina remota: » nxproxy –C :1200 − En la local: » nxproxy –S <host_remoto>:1200 − NXPROXY hace uso del Virtual Display; esto es, el socket de la conexión actúa como display en el servidor, y la conexión X es reenviada (forwarded) a el peer nxproxy más cercano. − Delega la labor de compresión de lo que NXAGENT le proporciona (encoding) a NXCOMP, y actúa de proxy con lo que el resultado de los datos ya codificados y comprimidos.
    • Componentes NX • NXSSH: − Se usa para explotar las ventajas de ejecución remota que permite el protcolo SSH − Básicamente, permite que ganemos acceso a las funciones o propiedades del nodo remoto, autenticándonos con el usuario remoto “nx”. • Importante: Si usamos WRAPPERS o el fichero hosts.allow, debemos permitir un sshd:localhost para garantizar que a través de SSH, podamos levantar un proceso NXNODE, que a su vez llama a NXAGENT. − Encripta toda la comunicación mediante criptografía de clave pública. • Por defecto, NX se instala con unos certificados de NOMACHINE, pero podemos crear los nuestros, con la precaución de importarlos en nuestro cliente para garantizar la conexión.
    • Componentes NX • NXPLUGIN (NX Web Companion): − Es un applet Java, más un conjunto de binarios, que permiten que pueda instalarse el cliente NX en los Sistemas Operativos: • MAC OS • WINDOWS • LINUX • SOLARIS − Necesita un Servidor Web Apache 1.3.X/2.X o compatible. − Tras la instalación mediante el repositorio, copiamos el directorio plugin al web root: • #cp -a /usr/NX/share/plugin /var/www
    • Componentes NX • Configuración del archivo de nxapplet.html de nxplugin − Buscamos la linea que contenga: <PARAM NAME=quot;SiteUrlquot; VALUE=quot;http://webserverquot;> y la modificamos para que contenga el nombre dns o la ip de nuestro servidor web. − En este punto ya deberíamos poder acceder al applet java. − Por último, necesitamos copiar un archivo de sesión nxs (se crea gráficamente con un cliente NX) al directorio de sesiones del plugin. • Parámetros de configuración para el Applet: − Para habilitar o deshabilitar la barra de progreso: • <PARAM NAME=quot;progressbarquot; VALUE=quot;truequot;> − Para personalizar los mensajes durante la inicialización del applet: • <PARAM NAME=quot;boxmessagequot; VALUE=quot;Please wait while Java applet loads...quot;> − Redirección a la página de inicio: • <PARAM NAME=quot;RedirectUrlquot; VALUE=quot;http://freenx.cica.es/plugin/Java/nxapplet.htmlquot;> − Nombre del fichero de sesión: • <PARAM NAME=quot;SessionUrlquot; VALUE=quot;/plugin/Java/session/session.nxsquot;>
    • Componentes NX
    • Diferencias NX Server (NOMACHINE) y FREENX (libre) • Freenx nos proporciona la conexión de tantos usuarios como nuestro hardware nos permita. − NXServer únicamente nos permite 2 usuarios simultáneos. • Al ser la misma empresa la que desarrolla tanto el servidor, clientes y herramientas, la compatibilidad es bastante mejor. − En freeNX hubo problemas entre las versiones del cliente y del servidor (1.5 - 2.0) • FREENX nos permite mayor control y número de opciones que la versión gratuita de NOMACHINE NX.
    • Configuración del servidor • Archivos de configuración: − node.cfg: Para NOMACHINE NX Server − node.conf : Para FREENX Server. • Localización − /usr/NX/etc/node.cfg (NOMACHINE NX SERVER) − /etc/nxserver/node.conf (Freenx) − Las directivas tienen diferencias de formato. • Ejemplo de excepción: En NOMACHINE NX se admiten espacios en la asignación de valores a las variables, y en FREENX no.
    • Ejemplos de configuración Nomachine NX node.cfg FREENX node.conf
    • Directivas de configuración más importantes (node.conf) • SERVER_NAME=”freenx.cica.es” − Esta opción es obligatoria para que el servidor Freenx funcione correctamente. Aquí debemos poner el FQDN del servidor que esta corriendo el servicio. − Es innecesaria en un NX Server. • ENABLE_USER_DB=”1” − Con esta directiva únicamente los usuarios que estén en el fichero de password de freenx tendrán permiso de conectarse al servidor freenx. Si la opción esta a 0 todos los usuarios del sistema pueden conectarse al servidor freenx. • Directivas de logging: − En node.cfg: SessionLogLevel. En node.conf: NX_LOG_LEVEL. • 0: No Logging • 1: Errors • 2: Warnings • 3: Important Informatión • 4: Server- Client Comunication • 5: Informatión • 6: Debugging Informatión
    • Directivas de configuración más importantes (node.conf) • NX_LOG_LEVEL=6 − Es recomendable poner el logging en 1, cuando el servicio funciona bien. Cuando tengamos algún problema que queramos depurar tendríamos que poner el logging en 6 para poder ver en tiempo real el log del demonio. • NX_LOG_SECURE=1 − Con esta opción a 1 no se muestran las contraseñas en el log, de lo contrario se mostrarían en claro. Es muy recomendable dejar esta opción a 1. • NX_LOGFILE=/var/log/nxserver − Aquí especificamos donde de ubica el fichero de log y como se llamará.
    • Directivas de configuración más importantes (node.conf) • SESSION_LIMIT=200 − Este parámetro limita la cantidad de sesiones que soporta el servidor, por defecto el servidor está limitado a unas 200 conexiones simultaneas. • SESSION_USER_LIMIT=200 − Con este parámetro limitamos las conexiones por usuario, es decir, cuantas veces un usuario puede conectarse simultaneamente. Por defecto 200 conexiones simultaneas por usuario.
    • Comandos de administración del Servidor NX/FREENX • Comandos más útiles: − ¿Cómo obtener la lista de usuarios NX? nxserver --userlist − ¿Cómo enviar un mensaje a todos los usuarios conectados? nxserver --broadcast “El servidor se reiniciará para XXX en 15 minutos” − Obtener el estado del servicio nxserver --status − Terminar/suspender una sesión desde el servidor nxserver --list nxserver --terminate [sid] / --suspend [sid]
    • Instalación de un servidor FREENX • Repositorios principales de paquetes de FREENX: − Berlios (http://www.berlios.de) − Seveas (http://free.linux.hp.com/~brett/seveas/freenx/) • Contiene sólo paquetes para Ubuntu. • Mantiene los más recientes; los últimos son para Feisty Fawn 7.04 (aún no para Gutsy Gibbon 7.10) • Opciones de instalación: − NoMachine Keys: Se utilizarán las claves que vienen por defecto y que hará que a nuestro servidor se puede conectar cualquier cliente. Muy inseguro ya que no tenemos control de quien se esta conectando. Es mas fácil de instalar. − Custom Keys: Se crearán unas claves personalizadas que habría que copiar a cada cliente en el directorio /usr/NX/share − Remove freenx keys: Borra las claves ya existentes. • Para iniciar o para el servicio utilizaremos los siguientes comandos: − #nxserver --stop − #nxserver --start
    • Uso de claves propias en FREENX • La clave se almacena en el fichero client.id_dsa.key en el subdirectorio .ssh del home de nx (por defecto, en freenx, en /var/lib/nx/nxserver/home/.ssh/client.id_dsa.key). • Se tiene que compartir esta clave con todos los clientes que se quieran autorizar. Esto lo hacemos importando la clave en las máquinas clientes. • Para importar la clave en el cliente haremos lo siguiente:
    • Uso de claves propias en FREENX • Copiamos el fichero client.id_dsa.key a la estación de trabajo del cliente, por scp o con un pendrive, cd, etc. • Una vez que la clave este copiada, abrimos el cliente nx y pinchamos en el boton configure...
    • Uso de claves propias en FREENX • Pinchamos en el botón KEY
    • Uso de claves propias en FREENX • Se abre el cuadro para el import:
    • Uso de claves propias en FREENX • Buscamos el fichero con la clave:
    • Uso de claves propias en FREENX • Una vez aplicados los cambios, podremos logarnos en el servidor:
    • Uso de claves propias en FREENX • Consejos de seguridad: − En el directorio por defecto del home del usuario nx, encontraremos un directorio oculto /var/lib/nxserver/home/.ssh. • En este directorio encontraremos el fichero de claves permitidas authorized_key o authorized_key2, client.id_dsa.key y known_hosts. − El fichero authorized_key o authorized_key2 varía su nombre únicamente para indicarle al demonio de ssh si las conexiones entrantes son del tipo protocolo 1 ó 2. − En vez de utilizar los fichero hosts.allow y hosts.deny para restringir la entrada a determinada direcciones ip, podemos utilizar el archivo authorized_key2 para restringir por ip's. • Con la clausula form=”ip,ip,ip,....” al comienzo de cada clave podemos restringir el acceso a la máquina desde el exterior.
    • Instalación del cliente
    • Instalación del cliente
    • Instalación del cliente
    • Instalación del cliente
    • Instalación del cliente
    • Instalación del cliente
    • Configuración del cliente • Configuración de velocidad: − Modem: Para conexiones por o hacia modem, típicamente unos 56kbits/s. − ISDN: RDSI, para conexiones entre 64 y 128Kbits por segundo. − ADSL: Optimizará las conexiones entre 256Kbits y 1Mbit de ancho de banda. − WAN: Optimiza en el rango de 2Mbits a 8Mbtis − LAN: Idem entre 10Mbits y 1Gigabit • NOTA: Estas opciones, así como las siguiente pueden ser modicadas posteriormente en el último paso, así que no hay que preocuparse por si no sabemos algunos datos o si no estamos seguros de si funcionará.
    • Configuración del cliente • Configuración del escritorio
    • Configuración del cliente • Configuración del escritorio (II) − Tipo de conexión • Unix: Es el habitual, compatible con el sistema Linux • Windows: Para servidores Terminal Server de Microsoft o compatible RDP • VNC: Para conectarse a servidores VNC, es decir protocolo RFB − sistema de escritorio • KDE, Gnome o Custom, en el podemos arrancar cualquier escritorio o aplicación. − Tamaño del escritorio: • 640x480: Aconsejable si nuestro escritorio está a 800x600 y no queremos conectarnos a pantalla completa • 800x600: Aconsejable si nuestro escritorio está a 1024x768 y no queresmos conectarnos a pantalla completa • 1024x768: Aconsejable si nuestro escritorio está a una resolución superior a 1024x768 y no queremos conectarnos a pantalla completa • Avaliable Area: Utiliza todo el espacio de escritorio disponible • Fullscreen: Pantalla completa • Custom: personalizamos la resolución mediante las dos cajas que aparecen a la derecha.
    • Configuración del cliente • Configuraciones de compresión de imagen: − En el area de Display debemos seleccionar Use customs setting y luego pinchar en el botón Modify. Una vez hecho esto veremos un cuadro con las siguientes opciones:
    • Configuración del cliente • Use JPEG image compression: Alta compresión pero se pierde mucha calidad, se puede elegir el nivel de compresión asumiendo la pérdida que deseemos. • Use PNG image compression: Compresión de alta calidad (por defecto). • Use plain X bitmaps: Sin compresión ninguna • Disable render extension: Deshabilitar cualquier tipo de aceleración, sólo marcar cuando haya problemas de visualización.
    • Configuración del cliente • En la sección Network (red) tendremos − Disable no-delay on TCP connection Desahabilitar el que se trate que los eventos seanen tiempo real − Disable ZLIB stream compression Desactivar la compresión ZLIB durante toda la conexión. − Enable SSL encryption of all traffic Cifrar toda la conexión con SSL. − Cache: podremos configurar tanto la caché residente en memoria RAM, como laque se pueda guardar en el disco duro. También podemos borrar la caché de sesiones anteriores.
    • Configuración del cliente • Servicios encapsulados:
    • Configuración del cliente • Enable printing and file sharing Activa la compartición de archivos e impresión a través de SAMBA. Antes de conectarnos, debemos especificar qué recursos disponibles queremos encapsular. • Enable multimedia support Activa soporte multimedia. Redirige la reproducción del sonido a la máquina cliente. • Finalmente en la pestaña Environment se configuran las variables de entorno que usaremos, directorio del usuario, del sistema, de los tipos de letras utilizados. • Una vez configurado todo a nuestro gusto procederemos a pulsar Save para guardar las opciones o directamente OK si no nos interesa guardarla para posteriores sesiones.
    • Teclas de control del cliente • Teclas rápidas el cliente NX 3.0 − CTRL+Alt+Shift+Esc: Abortar una sesión que no responde − Ctrl + Alt + T: Terminar una sesión con opción a suspender − Ctrl + Alt + F: Conmutar entre sesión en ventana o pantalla completa (sesión iniciada como full screen). − Ctrl + Alt + M: to Minimizar o maximizar una sesión fullscreen − Ctrl + Alt + keypad: navegación viewport − Ctrl + Alt + R: conmutar entre modos quot;auto-resize/viewport“ − Ctrl + Alt + E: Activar lazy encoding − Ctrl + Alt + J: Forzar un sincronización de redibujado − Alt + F4 − Ctrl + Alt + K: Activar/desactivar la captura de las teclas Alt +Tab y Print Screen.
    • Fuentes de documentación • Documentación de NoMachine http:// www.nomachine.com • Documentación de BerliOS http://openfacts.berlios.de/ index-en.phtml • Linux Journal http://www.linuxjournal.com/node/8477/print • Documentación de Sebastián Balboa, ponencia de e-Verano.org 2006