Академический Документы
Профессиональный Документы
Культура Документы
TELNET
INTRODUCCION:
Telnet es el nombre del protocolo que permite acceder mediante una red a otra máquina, para operar como
si estuviéramos sentados delante de ella. Es necesario que la máquina a la que se acceda tenga instalado
un servidor telnet que recibe y gestiona las conexiones. Por defecto, el puerto que utiliza el protocolo telnet
es el 23, por lo que será necesario redireccionar dicho puerto en el router si deseamos acceder a la
máquina desde una red externa utilizando Internet.
El cliente está implementado en el propio sistema Windows, a través del comando telnet ejecutado con el
intérprete de comandos. A través de telnet sólo se puede acceder en modo terminal, sin gráficos, ya que es
un protocolo que no ha evolucionado. Su utilidad en la actualidad ha sido sustituida por aplicaciones
específicas que permiten trabajar remotamente con un equipo, no basándose en protocolos específicos,
sino que son programas desarrollados por empresas independientes. En entornos Linux se sigue utilizando,
debido a que la configuración y soporte bajo estos sistemas operativos se basa en ficheros de tipo texto.
De todas formas telnet jugó un papel importante antes de la aparición de entornos gráficos, permitiendo el
mantenimiento a distancia de equipos informáticos o incluso el acceso a la información almacenada,
utilizándose para la consulta de bases de datos.
Uno de sus mayores inconvenientes es la seguridad, ya que todos los datos intercambiados entre servidor y
cliente viajan por la red como texto plano, sin cifrar. Es por ello que solía utilizarse para que los usuarios
pudieran acceder a sistemas BBS (Bulletin Board System) totalmente abiertos, donde se pudiera tener
acceso a noticias, descarga de software libre, envío de mensajes entre usuarios y acceso a bases de datos
públicas. Era la forma de compartir información entre los años 80 y 90, donde la seguridad no jugaba una
baza importante, ya que todavía no se había producido la expansión de Internet y la utilización de redes se
efectuaba a través de oficinas gubernamentales o universidades. En la actualidad todos estos servicios se
ofrecen a través de los navegadores.
Debido al grave problema de seguridad del protocolo telnet que imposibilita el acceso a un equipo para
realizar tareas privadas, se idea un nuevo protocolo denominado SSH (Secure Shell). Su funcionamiento es
exactamente igual que telnet, por lo que la diferencia estriba en que la información viaja cifrada entre cliente
y servidor, por lo que, si algún paquete es interceptado no podrá obtenerse información alguna.
TELNETXQ:
Como primera práctica realizaremos la instalación de este servidor telnet bajo el entorno Windows. Una vez
instalado y puesto en marcha las opciones más interesantes son las siguientes:
• Options-View active users: Nos presenta una ventana en la que se incluyen los usuarios actualmente
conectados al servidor, pudiendo visualizar la actividad que están realizando e interactuar con ellos.
Como cliente podemos utilizar el que viene incluido con el propio sistema Windows. Hay que abrir una
ventana del intérprete de comandos y teclear el comando telnet. A continuación, para efectuar la conexión
hay que teclear el comando open (o), junto con la dirección IP del servidor telnet:
o 192.168.8.34
Una vez validados nombre de usuario y contraseña estaremos ante el prompt del sistema del equipo
remoto. Unicamente podrán ejecutarse comandos de texto, ya que, si ejecutamos aplicaciones gráficas no
podrán ser transportadas a través de telnet, aunque serán ejecutadas en el servidor, por ejemplo, se puede
ejecutar el comando calc (calculadora) o el comando notepad (bloc de notas) y observar el resultado.
Si disponemos de la versión Windows XP Profesional con el Service Pack 2, tenemos incluido el servidor
telnet como servicio del sistema. Para poder activarlo deberemos acceder a Panel de Control –
Herramientas administrativas – Servicios y entramos en el servicio Telnet. Estas operaciones se tienen que
realizar sobre una cuenta de administrador.
En la ficha General debemos seleccionar en la lista desplegable Tipo de inicio el valor Automático.
Reiniciamos el sistema y comprobamos si se ha iniciado el servicio telnet. Esto se puede hacer en la misma
ventana anterior o desde el intérprete de comandos con la instrucción tlntadmn. Si no se hubiera iniciado lo
podemos hacer desde las propias Herramientas administrativas.
Ya podemos iniciar una sesión telnet. Lógicamente, los usuarios que pueden acceder son los
administradores definidos en el equipo servidor.
Si no llegara a funcionar correctamente es debido a que el servicio telnet no está bien configurado. Para
solucionarlo hay que seguir los siguientes pasos:
CLIENTE PUTTY:
Aunque telnet funciona exclusivamente en modo texto, existen programas que permiten realizar el acceso a
un servidor telnet a través del entorno gráfico. Uno de los más conocidos es putty, realmente cómodo de
utilizar, sin necesidad de ser instalado en el equipo.
Cuando lo ejecutamos nos encontramos un panel izquierdo con estructura de árbol donde se encuentran
agrupadas las diferentes opciones del programa. Para conectar con el servidor telnet simplemente habrá
que especificar, en la sección Session, el host o dirección IP del servidor y seleccionar el tipo de conexión,
que en nuestro caso es Telnet. Putty permite efectuar conexiones con otros tipos de servidores, como el
SSH. Al pulsar sobre el botón Open la conexión se establece con el servidor, pasando a negociar la
autentificación mediante login y password.
Las categorías que se incluyen en el cliente Putty nos permiten realizar las siguientes operaciones:
• Session: Se debe especificar el servidor al que nos conectamos y el tipo de conexión. También permite
activar el registro de las sesiones en un fichero log grabado en disco.
• Terminal: Se centra en la configuración del teclado cuando nos hemos conectado al servidor.
• Window: Configura el aspecto de la ventana del terminal, como su tamaño o el color del texto.
• Connection: Aspectos relacionados con la conexión. Permite especificar el login del usuario que se
conecta, para que simplemente haya que introducir la contraseña. También permite configurar el cliente
en una LAN en la que exista un proxy para salir a Internet.
ESCRITORIO REMOTO:
Windows XP, en su versión Professional, incluye esta característica que permite controlar de forma remota
un equipo. Como cliente podemos utilizar un ordenador que posea cualquier versión de Windows. El acceso
se efectúa bajo entorno gráfico, como si realmente estuviéramos en la máquina, únicamente limitados por la
velocidad de conexión. Veamos su configuración:
• Servidor: Para activar el escritorio remoto debemos acceder a Panel de Control – Sistema. En la
pestaña Remoto activamos la opción Escritorio remoto. Los administradores pueden utilizar este
servicio por defecto, pero el resto de los usuarios no. Por ello, disponemos del botón Seleccionar
usuarios remotos para especificar aquellos usuarios definidos en el sistema que deseamos utilicen esta
característica. El puerto utilizado es el 3389.
• Cliente: Debemos tener instalado el cliente que permite efectuar la conexión. Lo podemos encontrar en
Inicio – Programas – Accesorios – Comunicaciones – Conexión a Escritorio remoto. Si no se encuentra
instalado se puede incorporar al sistema con el cd de Windows. En la pantalla de bienvenida
seleccionar Realizar tareas adicionales y ejecutar Instalar conexión a Escritorio remoto.
Una vez ejecutado, si ampliamos las opciones disponemos de las siguientes pestañas:
• General: Permite especificar el equipo al que nos vamos a conectar y el nombre de usuario y
contraseña.
• Mostrar: La resolución y el número de colores. Importante cuando disponemos de una velocidad de
conexión limitada.
• Recursos locales: Si se ejecutan o no en el escritorio remoto.
• Programas: Es posible ejecutar un programa automáticamente al iniciar sesión.
• Rendimiento: Permite elegir la velocidad de conexión para el ahorro de recursos en el caso de
conexiones de velocidad lentas.
Una de las limitaciones que posee Windows XP es que es monousuario. Tengamos en cuenta que si fuese
multiusuario realmente podríamos sacarle bastante partido a la utilidad de escritorio remoto, ya que
diferentes usuarios podrían conectarse a un mismo equipo a través de la red. Pero al disponer de un
sistema operativo monousuario solamente un único usuario podría estar conectado al equipo. Esto no
sucede en las versiones Server, pero debido a que Windows XP está basado en el Windows 2003 Server,
podemos modificar el comportamiento del sistema para conseguir nuestro propósito. Los pasos a seguir son
los siguientes:
Ya lo hemos conseguido. Destaquemos que un mismo usuario sólo podrá iniciar una única sesión,
característica que sí podremos modificar utilizando un sistema Windows Server, aunque la solución aquí
dada resuelve el acceso concurrente de usuarios.
ASISTENCIA REMOTA:
La asistencia remota permite que otro usuario pueda visualizar mi equipo, charlar en modo texto o con voz e
incluso tomar el control de la máquina. Normalmente se utiliza para resolver problemas cuando el técnico no
puede desplazarse al lugar donde se encuentra el equipo.
Lo primero de todo verificar en la pestaña Remoto ubicada en Panel de control – Sistema, que la casilla
Permitir que este equipo envíe invitaciones de Asistencia remota se encuentra activada.
Es necesario enviar una invitación para que otro usuario se conecte a nuestro equipo. La invitación se
genera a través de Ayuda y soporte técnico, mediante la opción Pedir asistencia. Existen tres métodos para
poder enviar la invitación: Messenger, correo electrónico o archivo. El más cómodo es mediante archivo, ya
que no dependerá de ninguna otra aplicación. Al seleccionar esta opción se solicita la contraseña que debe
utilizar la persona a la que invitamos, generando un archivo que deberemos enviar al invitado, bien por
correo electrónico, ftp, o cualquier otro método.
Una vez que el invitado dispone del fichero de invitación simplemente debe ejecutarlo e ingresar su
contraseña. A continuación el invitado se encontrará con una ventana en la que visualizará el escritorio del
otro equipo, junto con una zona que le permite chatear. En principio el usuario invitado no puede trabajar
sobre el ordenador remoto, sino que puede ver lo que está haciendo el otro usuario y realizar
recomendaciones a través de chat. De todas formas existe la opción Tomar control, que si el ordenador
remoto la acepta entonces el invitado sí que tendrá acceso total. Aunque el invitado tenga acceso total, el
usuario remoto tiene la potestad, en cualquier momento, de anular la conexión pulsando la tecla Esc,
evitando, de esta forma, alguna operación no deseada que intentara ejecutar el invitado.
El puerto utilizado por este servicio es el 3389, aunque no hay que hacer ningún tipo de configuración
adicional, a no ser que tengamos algún cortafuegos en nuestra LAN que no permita esta conexión.
NETMEETING:
Netmeeting es una aplicación que permite chatear, realizar videoconferencias, enviar y recibir archivos y
compartir la ejecución de aplicaciones. Esta última característica es la que nos permitirá conseguir acceso
remoto a otra máquina.
Netmeeting viene incorporado con el sistema operativo Windows, pero debe ser configurado previamente
para su utilización. El asistente de instalación se inicia ejecutando el comando conf.exe. La información que
debe introducirse durante este proceso es la siguiente:
• Datos personales: Será nuestra carta de presentación cuando nos conectemos a otros usuarios.
• Servidor de directorio: Microsoft ofrece esta característica a los usuarios de Netmeeting,
incorporándolos en una base de datos en la que podemos localizar a la persona con la que queremos
establecer contacto. Si sabemos perfectamente con quién queremos comunicarnos a través de
Netmeeting no será necesario darnos de alta en este servidor.
• Velocidad de conexión: Es un dato importante debido a que Netmeeting debe adaptarse al ancho de
banda disponible para poder efectuar el intercambio de datos entre los equipos. Nosotros
seleccionaremos, como es lógico, red de área local.
• Accesos directos: Posibilidad de crear automáticamente accesos directos al programa.
• Configuración de audio: Se efectúa un test de los altavoces y del micrófono. Si no disponemos de
alguno de estos elementos podemos saltarnos este paso y realizarlo posteriormente.
Una vez configurado podemos efectuar la llamada entre dos equipos que tengan iniciada la aplicación. En
uno de ellos se debe incluir la dirección IP del equipo con el que queremos contactar y pulsar sobre el botón
Llamar. En el otro equipo aparecerá un mensaje indicándonos que se ha producido una llamada pudiendo
aceptarla o no. En la ventana nombre nos aparecerán los usuarios que están compartiendo la conexión. Se
pueden conectar varias usuarios existiendo un límite de cuatro, pero se puede ampliar realizando
conexiones en cascada. Una vez establecida la conexión podemos realizar las siguientes operaciones:
Realmente el protocolo SSH tiene gran vigencia bajo el sistema operativo Linux, incluso ha evolucionado
mejorando sus prestaciones iniciales. Veamos la instalación y configuración de este servicio utilizando la
distribución Ubuntu.
El proceso de instalación se efectúa mediante el comando: apt-get install ssh. También se puede utilizar el
gestor de paquetes Synaptic. Los comandos relacionados son:
• Terminal de Linux con aplicaciones gráficas: Previamente es necesario verificar que en el fichero de
configuración del servidor SSH (/etc/ssh/sshd_config), está incluida la opción X11Forwarding yes.
Ahora, la forma de conectarnos será utilizando la opción -X:
ssh -X usuario@host
Se abre sesión en modo consola pero si ejecutamos un comando gráfico, como gedit, podremos
trabajar con dicha aplicación.
• Cliente SSH bajo Windows: Si utilizamos Putty podemos acceder a una máquina Linux con servidor
SSH en modo consola. El acceso en modo gráfico todavía no lo podemos utilizar.
SFTP: El servidor SSH incluye un servidor FTP a través de comunicación segura, lo que permitirá copiar
archivos entre la máquina remota y la local. Como cliente tenemos las siguientes opciones de conexión:
• scp: Secure CoPy permite la copia de archivos y funciona como el comando cp, únicamente que para
especificar un fichero remoto deberemos escribir usuario@host:fichero. Por ejemplo, si queremos copiar
el fichero /etc/passwd de un equipo remoto en el directorio /home del equipo local teclearíamos:
• Nautilus: El gestor de archivos en modo gráfico permite la conexión utilizando la opción Ir a - Lugar,
especificando como destino sftp://usuario@host.
• Filezilla: Cualquier cliente FTP que soporte SFTP, como el Filezilla, nos permitirá la conexión incluso
desde otros sistemas operativos. Uno de los clientes más utilizados es WinSCP (www.winscp.com). En
Linux también podemos utilizar el cliente gFTP, ya que soporta SSH.
• SFTP: Directorio en el que se situará el cliente SFTP cuando se conecte al servidor. $HOME\ se utiliza
si hemos definido los propios usuarios del sistema, ya que, de esta forma, accederán a su directorio
personal. También se puede incluir un directorio genérico para todos los usuarios.
• Users: Definición de los usuarios que utilizan el servicio. Para dar de alta usuarios ya existentes en el
sistema y utilizar sus características, en el campo Authorization hay que elegir NT authentication. Para
la definición de usuarios independientes se escoge Password stored as SHA1 hash. A continuación se
definen los servicios que puede utilizar cada uno de los usuarios: Shell, SFTP y tunneling.
• Host restrictions: Direcciones IP que pueden y no pueden utilizar el servicio.
• Logging: Para almacenar en un fichero de texto todos los eventos que se produzcan.
• Online users: Los usuarios que en este momentos están conectados al servidor.
• Automatic updates: Actualizaciones automáticas del programa.
Para comenzar podemos definir algún usuario activando los servicios Shell y SFTP. A continuación
podemos conectarnos remotamente desde un equipo Windows mediante el cliente Putty y utilizar un cliente
FTP con soporte SFTP (Filezilla o WinSCP) para conectarnos al servidor SFTP integrado. Igualmente con
Linux podemos conectarnos mediante el comando ssh y utilizar el cliente gFTP con el protocolo SSH.
Tunneling: Esta característica es una de las más importantes que ofrece el servicio SSH. Vamos a verla
dentro del entorno Windows, aunque también podría ser configurada bajo Linux. Tunelizar consiste en crear
una conexión SSH y utilizarla para enviar, a través de ella, cualquier otro tipo de comunicación; con ello
conseguiremos que viaje encriptada dentro del “túnel” SSH.
Primer supuesto: Vamos a tunelizar la comunicación entre un cliente de correo (Outlook) y un servidor de
correo (MDaemon). Suponemos que ambos están instalados y configurados correctamente. Para poder
realizar la tunelización del servicio hay que hacer lo siguiente:
• En el ordenador donde tenemos instalado el servidor de correo instalar el servidor SSH, en la pestaña
Tunneling activar las casillas Allow local port forwarding y Allow remote port forwarding, que permite el
reenvío de paquetes cuyos puertos no sean el específico del SSH, tanto para el envío como para la
recepción. De esta forma, si viene un paquete a través del túnel que al desencriptarlo posee el puerto
25 será entregado al servidor MDaemon, por lo tanto, para el servidor MDaemon dicho paquete
proviene del ordenador local, por lo que la respuesta la realizará también al equipo local, que será
recogida por el túnel SSH y enviada al equipo remoto.
• En el servidor SSH definir un usuario que tenga activo el servicio Tunneling.
• En el ordenador cliente ejecutar Putty, con el que realizaremos una conexión tunelizada al servidor.
Para ello, en la categoría Connection – SSH – Tunnels hay que especificar los puertos que queremos
reenviar. En Source port especificamos 25, en Destination localhost:25 y seleccionamos el botón de
opción Local, ya que de esta forma se reenvía un puerto local a un destino remoto a través del túnel.
Pulsamos el botón Add y repetimos la operación con el puerto 110. Ahora ya podemos establecer la
conexión con el servidor SSH.
• Por último configurar el Outlook en el cliente para que utilice el túnel construido. Unicamente hay que
determinar que el servidor SMTP y POP asociado sea localhost para que así las peticiones sean
enviadas a través del túnel. El cliente y el servidor se harán cargo del reenvío de los paquetes.
Segundo supuesto: Tunelizar el servidor FTP GuildFTPd. El proceso será similar al anterior. A la hora de
conectarse el cliente FTP, el host de conexión será localhost, para poder utilizar el túnel. Aquí tendremos un
inconveniente, ya que, en la actualidad, todos los servidores FTP utilizan el modo pasivo. Recordemos que
su funcionamiento consiste en que los comandos FTP se envían a través del puerto 21, pero los datos de
transferencia se realizan a través de otro puerto determinado por el servidor y comunicado al cliente. Debido
a ello, la conexión tunelizada no funcionará correctamente. La solución consiste en acceder a la
configuración de GuildFTPd, a través del menú Admin – Options y en la pestaña Advanced settings
modificamos el rango de los puertos (Port range) especificando uno único, por ejemplo el 20001. A
continuación, en el cliente Putty habrá que especificar este nuevo puerto en el túnel.
Tercer supuesto: Saltarnos un cortafuegos en el que estén restringidas la visita a ciertas páginas web o la
navegación sobre páginas que utilicen puertos diferentes al 80 y que estén cerrados en dicho cortafuegos.
Para el desarrollo de la práctica necesitamos un ordenador que esté fuera de la red limitada por el
cortafuegos. En dicho equipo, además de instalar el servidor SSH tendremos que tener un proxy que realice
la búsqueda de las páginas solicitadas por el equipo limitado. Utilizaremos ABC Proxy, basado en socks. En
el equipo limitado conectamos mediante Putty al ordenador externo, habiendo tunelizado el puerto 1080,
que es el utilizado por el Proxy. En el navegador hay que especificar que la conexión se realiza a través de
proxy utilizando socks, siendo la dirección de conexión localhost y el puerto 1080.
La generación de las claves se realiza con el programa PuttyGen. Seguir los siguientes pasos:
• Elegimos como tipo de clave a generar SSH-2 RSA, que es la más compatible con nuestro servidor, y
pulsamos en el botón Generate.
• Debemos mover el ratón durante el proceso de generación de la clave para aumentar la aleatoriedad.
• Key passphrase es una contraseña adicional que se solicitará en el proceso de conexión. Hay que
confirmarla en el campo Confirm passphrase.
• Para guardar la clave privada pulsar en Save private key. Lo más cómodo es poner el mismo nombre
que el usuario. La extensión por defecto es ppk.
• No utilizar el botón Save public key para almacenar la clave pública, ya que no es del todo compatible
con nuestro servidor. Seleccionamos la clave pública generada en esta ventana y la copiamos al bloc de
notas, generando un fichero cuyo nombre es el nombre de inicio de sesión del usuario y sin extensión.
• En el servidor SSH editamos las propiedades del usuario correspondiente y en el campo Authorization
elegimos Public key (SSH only).
• En la pestaña Authentication debemos especificar el directorio donde se almacenan las claves públicas
de los usuarios. Por defecto es el propio directorio del programa. Mejor crear un subdirectorio con el
nombre claves y almacenarlas allí.
• Copiar el fichero de la clave pública del usuario en dicho directorio.
• El cliente ya se puede conectar, únicamente deberá determinar, en el programa Putty, la clave privada
en la categoría Connection – SSH – Auth y cuando se conecte se le solicitará la key passphrase para
aumentar la seguridad.
Un servidor de aplicaciones es un ordenador con recursos suficientes para ejecutar distintas sesiones
simultáneamente en equipos que se encuentran conectados a través de una red de área local. Este tipo de
configuración es utilizada con frecuencia en academias de enseñanza, universidades e institutos, con un
ahorro importante de dinero. Para la instalación de un aula será necesario tan sólo un equipo potente, ya
que para el resto pueden aprovecharse viejos ordenadores que incluso pensaban desecharse. El esquema
que vamos a construir se conoce también como thin client (clientes ligeros) o terminales tontos, ya que
inician directamente sesión en el servidor y todo lo que se ejecuta es en la máquina remota. Otra ventaja es
la centralización de usuarios y recursos, ya que todo se encuentra en el servidor.
Al poseer X-Window una arquitectura cliente/servidor, se define el protocolo XDMCP: X Display Manager
Control Protocol - Protocolo de Control de Administrador de la Pantalla X, que ofrece a los clientes que se
conectan al servidor la posibilidad de utilizar el gestor de ventanas basado en X-Window, transportando el
entorno gráfico entre el servidor y el cliente. Utiliza el puerto UDP 117.
Por defecto, XDMCP viene desactivado en la última LTS de Ubuntu, debido a que no es un protocolo seguro
para el establecimiento de una conexión remota. Pero si lo utilizamos a nivel local es bastante útil. Para
activar el servicio debemos crear el fichero /etc/gdm/custom.conf con el siguiente contenido:
[daemon]
RemoteGreeter=/usr/lib/gdm/gdmlogin
[xdmcp]
Enable=true
En el equipo cliente podemos utilizar Aplicaciones – Internet – Cliente de Terminal Server, que permite la
conexión a equipos remotos utilizando diferentes protocolos. En concreto, podemos comprobar que XDMCP
está deshabilitado. Simplemente hay que instalar el paquete xnest, que permite la conexión a otros
servidores X. Comprobaremos que la conexión se lleva a efecto y que nos encontraremos en la pantalla de
login del equipo remoto.
También es posible la conexión utilizando como cliente un equipo con Windows. Para ello es necesario
instalar una aplicación adicional (Xming) que instala un servidor X en el propio Windows que interpreta el
entorno gráfico de Linux. Este servidor recibe el entorno gráfico remoto para que el equipo local lo pueda
visualizar. Una vez instalado el programa es recomendable utilizar el lanzador XLaunch, que posee un
asistente para definir los parámetros de inicio de la aplicación. Veamos dos modos de conexión:
1. Iniciamos XLaunch.
2. Seleccionamos One Window y especificamos el Display number: 1.
3. Escogemos Open session via XDMCP.
4. Introducimos la dirección IP del servidor.
5. Aparece la ventana de inicio de sesión del equipo remoto.
1. Iniciamos XLaunch.
2. Seleccionamos Multiple Windows.
3. Escogemos Start no client, ya que posteriormente nos conectaremos mediante Putty al servidor,
utilizando Xming para la ejecución de aplicaciones gráficas.
4. Iniciamos Putty especificando la IP del servidor.
5. Desplegamos Connection – SSH – X11 y activamos la casilla Enable X11 forwarding.
6. Una vez iniciada la sesión podemos ejecutar cualquier aplicación gráfica.
Es otra solución para poder acceder de forma remota a un equipo. Una ventaja es que, además de poder
utilizar un cliente VNC, podemos realizar la conexión a través del navegador (con máquina virtual de Java),
no siendo necesaria la instalación de ningún programa en el ordenador que utilicemos como cliente.
Bajo Windows:
El servidor VNC que utilizaremos se puede descargar gratuitamente desde www.realvnc.com. Durante el
proceso de instalación se puede elegir entre instalar el programa servidor o cliente, dependiendo del equipo
en el que estemos, además de especificar si se desea instalarlo o no como servicio del sistema.
Al ser Windows un sistema operativo monousuario, cuando un usuario se conecta a través del cliente VNC,
sólo un usuario podrá estar trabajando en el equipo, ya sea el local o el remoto, interfiriéndose entre ambos,
es decir, las acciones que realiza uno se solapan sobre las del otro.
Las opciones más importantes de configuración del servidor son muy simples:
Ahora ya se puede acceder desde otro equipo, bien utilizando el programa cliente (VNC Viewer) o a través
del navegador especificando la dirección http://direccionIP:5800. Si no disponemos de la máquina virtual de
Java integrada en el navegador se puede descargar desde la página www.java.com/es. A la hora de
especificar el servidor de conexión hay que incluir la dirección IP del equipo junto con la consola de
conexión. VNC permite la creación de varias consolas, aunque con XP sólo podemos utilizar la primera de
ellas (0). La conexión se realiza con 172.16.1.240:0, aunque al existir esta limitación, si sólo incluimos la
dirección IP también funciona correctamente.
Desde luego que podemos utilizar Linux para conectarnos al servidor VNC de Windows. Para ello debemos
ejecutar el cliente VNC a través del menú Aplicaciones – Internet – Visor de escritorios remotos. También
podemos utilizar el navegador, pero previamente hay que instalar la máquina virtual de Java. En la propia
página www.java.com/es se incluye un manual explicativo de cómo realizar el proceso bajo Linux, ya que es
un poco más complicado que en Windows.
Bajo Linux:
En la distribución Ubuntu se puede activar y configurar el servidor VNC desde el propio entorno gráfico,
utilizando la opción Sistema – Preferencias – Escritorio remoto. La ventana de configuración incluye:
• Compartir: Permitir que el usuario que se conecta pueda ver solamente las acciones que se ejecuten
en el servidor o incluso tomar control sobre el mismo.
• Seguridad: La contraseña de acceso y si el usuario que se encuentra trabajando en el servidor debe o
no permitir el acceso a los usuarios que se conecten a través del cliente.
• Area de notificación: La existencia de un icono que indica la existencia de una conexión remota.
Para conectarnos como clientes, ya sea desde Windows o Linux, podemos utilizar las soluciones estudiadas
anteriormente. En principio Ubuntu no incluye por defecto la posibilidad de conectarse al servidor VNC a
través de la máquina virtual de Java, aunque se podría integrar esta característica.
Podemos comprobar que lo que conseguimos es conectarnos a la misma sesión que se ha iniciado en el
equipo remoto, por lo que dispondremos de un escritorio compartido. A diferencia de Windows, con Linux
podemos hacer que varios equipos se conecten mediante VNC de forma simultánea al equipo remoto,
accediendo todos ellos a una única sesión compartida, por lo que todo lo que haga un usuario será reflejado
en el resto de los equipos conectados.
Para conseguir una conexión multiusuario real a través de VNC es necesario instalar o comprobar que se
encuentran integrados los siguientes paquetes:
#!/bin/sh
unset SESSION_MANAGER – Permite multisesión a través de VNC.
sh /etc/X11/xinit/xinitrc – Ejecuta las aplicaciones a través del servidor X.
• El cliente se puede conectar al servidor VNC, a este nuevo display, utilizando direcciónIP:1. Estará
trabajando con el mismo usuario que en el equipo remoto, pero en una sesión diferente.
Ahora bien, si deseamos que el servidor esté disponible al encender el servidor, sin necesidad de iniciar
sesión, realizaremos los siguientes pasos:
Si queremos eliminar este servicio del sistema hay que ejecutar: update-rc.d -f vncserver remove.
NFS:
NFS (Network File System – Sistema de Archivos en Red) es un protocolo que permite compartir directorios
en red bajo un sistema Linux. Por ejemplo, en una empresa puede ser interesante disponer de un equipo
servidor donde tengamos un almacén con los ficheros que son utilizados por los trabajadores. Los usuarios
se podrán conectar a las carpetas compartidas del servidor y acceder a su contenido como si estuvieran
almacenadas en su equipo. Es necesario instalar el servidor NFS, incluido en el paquete nfs-kernel-server.
Antes de poder utilizar el servicio NFS, es necesario configurarlo, indicando las carpetas que deseamos
compartir y sus permisos correspondientes. Todo ello se realiza en el fichero /etc/exports. Cada línea de
este fichero determina una carpeta compartida. La sintaxis es la siguiente:
1. En el primer ejemplo se comparte el directorio /home para todos los equipos de la red base 172.16.0.0
con permisos de lectura y escritura.
2. En el segundo se comparte el directorio /contabilidad sólo para el equipo 172.16.0.17 en modo lectura.
3. En el tercero se comparte el directorio /general para todos los equipos en modo lectura.
La opción sync es la más recomendable, consiguiendo sincronizar cliente y servidor, con lo que no se inicia
una nueva operación de transferencia hasta que no finaliza la siguiente. La opción opuesta es async.
La opción no_subtree_check desactiva la comprobación de permisos desde la raíz hasta el directorio que se
exporta, verificando únicamente los permisos propios del directorio y de su contenido. Es la opción que se
utiliza por defecto, siendo subtree_check su valor opuesto.
Con respecto a los permisos cabe destacar que siempre prevalecen los más restrictivos, es decir, si un
directorio tiene sólo permisos de lectura localmente y en el fichero /etc/exports lo hemos compartido con
acceso total, los usuarios que se conecten sólo podrán ver su contenido.
Cualquier cambio que realicemos sobre el fichero /etc/exports deberá ir acompañado por un reinicio del
servidor. Los comandos relacionados son:
Para acceder como cliente es necesario instalar el paquete nfs-common. Con ello instalamos dos servicios:
/etc/init.d/nfs-common y /etc/init.d/portmap, que pueden detenerse e iniciarse según nuestras necesidades.
Una vez instalado simplemente deberemos montar el directorio remoto en nuestro sistema para poder
acceder a él, pudiendo desmontarlo cuando lo deseemos:
Si queremos que el directorio compartido esté disponible cuando arranquemos el equipo, deberemos incluir
en el fichero /etc/fstab, la siguiente línea:
Podemos utilizar Windows para conectarnos como clientes NFS, aunque existen otras soluciones para
compartir carpetas entre Windows y Linux, como puede ser Samba. De todas formas, en la siguiente web
viene el proceso completamente detallado:
http://miguelcarmona.name/blog/windows-como-cliente-nfs
SAMBA:
Samba permite a un sistema Linux compartir recursos (directorios e impresoras) con equipos que tienen
instalado el sistema Windows. Para ello Samba incluye los protocolos NetBIOS y SMB.
• NetBIOS: Protocolo que permite establecer una sesión entre dos ordenadores.
• SMB (Server Message Block): Implementado sobre NetBIOS está formado por:
• smbd: Ofrece el servicio de acceso remoto a ficheros e impresoras, así como la autorización de
acceso, pudiendo realizarse a través de usuarios o través de recursos.
• nmbd: Se centra en la resolución de nombres de Windows. Es el que gestiona el entorno de red
para que el equipo aparezca publicado en su equipo de trabajo y responda a las peticiones.
SMB fue desarrollado por IBM a principios de los años 80. Posteriormente Microsoft lo incluyó en su
sistema operativo y realizó una serie de modificaciones y mejoras, produciendo, a lo largo del tiempo,
diferentes versiones. El inconveniente es que cada una de ellas tienen nombres diferentes, aunque en
el fondo siguen el estándar SMB: Core Protocol, DOS Lan Manager, LAN Manager, NTLM (NT Lan
Manager) y CIFS (Common Internet File System).
Linux por defecto ya tiene instalado el programa cliente que le permite acceder a los directorios compartidos
por un sistema Windows. En el entorno gráfico su utilización es muy simple, ya que se realiza a través del
explorador de archivos Nautilus. Con el comando Ir a – Red visualizamos el entorno de red para poder
acceder a grupos y equipos. Para acceder a un equipo concreto podemos utilizar el comando Ir a – Lugar y
escribir en la barra de direcciones: smb://equipo. Si se accede con autenticación: smb://usuario@equipo.
Desde consola se utiliza el comando smbclient:
Para poder utilizar los ficheros remotos en consola es necesario montar en nuestro sistema el directorio
remoto, siendo necesario instalar previamente el paquete smbfs. La sintaxis es:
Para que esté disponible el directorio remoto al iniciar el sistema incluir la siguiente línea en /etc/fstab:
Pasemos a instalar Samba en nuestro equipo, simplemente es necesario instalar el paquete samba. La
configuración se realiza a través del fichero de texto /etc/samba/smb.conf, debiendo reiniciar el servicio al
realizar modificaciones en su configuración. Para ello utilizaremos los comandos:
• restart smbd.
• restart nmbd.
Aunque se pueden gestionar los recursos compartidos a través de Nautilus, las opciones son muy limitadas,
por lo que es interesante instalar SWAT (Samba Web Administration Tool) que permite realizar la
configuración de Samba a través de web. No será necesario disponer de un servidor web, ya que el propio
programa gestiona la conexión y permite visualizar swat dentro del navegador. Hay que reiniciar el equipo.
Para acceder a swat hay que arrancar el navegador y escribir la dirección http://localhost:901. Podemos
acceder mediante el usuario root. Recordemos que siempre deberemos reiniciar el servidor samba para
aplicar los cambios realizados a través de swat.
Práctica 1: Veamos a continuación la configuración básica necesaria para poder compartir directorios:
1. En Globals definir el grupo de trabajo (workgroup) y el nombre netbios (netbios name). En este pestaña
cabe destacar la opción security, que determina el mecanismo de autenticación:
• Share: Se comparte el directorio, pudiendo ser accesible desde el resto de los equipos. Es la opción
que utilizaremos.
• User: El acceso a cada directorio tendrá que ser autenticado mediante usuario y contraseña.
• Server: Se reenvía la petición de autenticación a otra máquina.
• Domain: El servidor Samba pertenece a un dominio.
• Ads: Es miembro de Active Directory aunque no puede actuar como controlador de dominio.
1. Es necesario definir usuarios samba para este propósito. Estos usuarios deben coincidir con los
definidos en el sistema Linux para poder utilizar sus permisos. El comando es smbpasswd –a usuario.
El comando pdbedit –L me mostrará los usuarios dados de alta en samba.
2. En Globals cambiar el campo security por el valor user.
3. En Shares definir el directorio compartido. Se puede incluir una lista de los usuarios samba que pueden
acceder en el campo valid users.
Práctica 3: Habilitar el directorio /home, con lo que conseguiremos que cada usuario pueda acceder a su
carpeta home con samba. Para ello hay que definirlo como usuario samba y a través de swat acceder al
botón Wizard y habilitar Expose home directories. Tengamos en cuenta que las carpetas compartidas
únicamente se crearán cuando se intenten acceder a ellas.
NAS:
Network Attached Storage – Dispositivo de Almacenamiento en Red. Este tipo de dispositivos están
constituidos por una o varias unidades de discos duros de alta capacidad, que se encuentran conectados
directamente a la red y que son accesibles desde cualquier equipo utilizando diferentes protocolos TCP/IP.
En realidad es un servidor de archivos, siendo de gran utilidad para compartir información en una red de
área local.
Para disponer de un servidor NAS no es necesario adquirir un dispositivo específico, ya que podemos
utilizar cualquier ordenador para este propósito. Cualquier equipo antiguo puede servir, aunque si no
disponemos de ninguno, otra solución sería montar una máquina virtual.
Utilizaremos un proyecto de software libre, llamado FreeNAS, basado en FreeBSD. La página de descarga
es www.freenas.org, donde podemos encontrar la última versión estable en formato ISO. Comencemos el
proceso de instalación:
1. Si utilizamos VMWare, el tipo de máquina virtual que debemos especificar es Other – FreeBSD.
2. Arrancamos con el cd de instalación.
3. Opción 1. Boot [default]. Las otras posibilidades me ofrecen arranques específicos cuando tenemos
problemas con el inicio por defecto.
4. Opción 9. Install/Upgrade to hard drive/flash device. Las otras opciones las podremos utilizar una vez
tengamos el sistema instalado.
5. Opción 3. Install ‘full’ OS on HDD + DATA + SWAP partition. Es la más recomendable para la instalación
de un servidor permanente.
6. Nos informa que se crearán tres particiones:
Usuario: admin.
Contraseña: freenas.
En System – General tenemos la posibilidad de cambiar el idioma al español y otros datos de interés, como
nombre de equipo, dominio, administrador web y zona horaria.
El primer paso es incluir los discos que utilizaremos. En nuestro caso únicamente utilizaremos la partición
creada durante el proceso de instalación. El proceso es el siguiente:
7. Acceder a Discos – Punto de montaje para integrar el nuevo disco en el sistema. Deberemos
especificar:
Ahora simplemente hay que activar el o los servicios que queremos utilizar para acceder al servidor NAS.
Por ejemplo, para acceder a través de SMB:
Por supuesto que el acceso puede limitarse mediante usuarios, definidos en la pestaña Acceso, pudiendo
ser asignados a los diferentes servicios.