Documentacion de servidores linux

73
IMPLANTACIÓN Y DESARROLLO DE SERVICIOS SOBRE UNA PLATAFORMA UBUNTU Emilio Crespo Perán Proyecto final de curso de Ciclo Formativo de Grado Medio de Sistemas Microinformáticos y Redes en Servicios en Red Profesor: Jorge Simón Guerrero Curso: 2010/2012 Fecha: 14 de Marzo de 2012

description

Esta es mi documentacion de servidores linux, es propia de Emilio Crespo Peran, aquí se explica detalladamente los pasos para crear un servidor linux.

Transcript of Documentacion de servidores linux

Page 1: Documentacion de servidores linux

IMPLANTACIÓN Y DESARROLLO DE SERVICIOS SOBRE UNA PLATAFORMA UBUNTU

Emilio Crespo Perán

Proyecto final de curso de Ciclo Formativo de Grado Medio de Sistemas Microinformáticos y Redes en Servicios en Red

Profesor: Jorge Simón Guerrero Curso: 2010/2012 Fecha: 14 de Marzo de 2012

Page 2: Documentacion de servidores linux

Índice

1. CONSIDERACIONES PREVIAS ........................................................................................................3

2. SERVIDOR DHCP.................................................................................................................................3

2.1 INTRODUCCIÓN...................................................................................................................................3 2.2 FUNDAMENTOS...................................................................................................................................4 2.3 DESARROLLO......................................................................................................................................4 2.4 PROBLEMAS Y SOLUCIONES ................................................................................................................8

3. SERVIDOR DNS....................................................................................................................................9

3.1 INTRODUCCIÓN...................................................................................................................................9 3.2 FUNDAMENTOS...................................................................................................................................9 3.3 DESARROLLO......................................................................................................................................9 3.4 PROBLEMAS Y SOLUCIONES ..............................................................................................................14

4. SERVIDOR SSH ..................................................................................................................................15

4.1 INTRODUCCIÓN.................................................................................................................................15 4.2 FUNDAMENTOS.................................................................................................................................15 4.3 DESARROLLO....................................................................................................................................16 4.4 PROBLEMAS Y SOLUCIONES ..............................................................................................................26

5. SERVIDOR HTTP ...............................................................................................................................27

5.1 INTRODUCCIÓN.................................................................................................................................27 5.2 FUNDAMENTOS.................................................................................................................................27 5.3 DESARROLLO....................................................................................................................................27 5.4 PROBLEMAS Y SOLUCIONES ..............................................................................................................40

6. SERVIDOR FTP ..................................................................................................................................41

6.1 INTRODUCCIÓN.................................................................................................................................41 6.2 FUNDAMENTOS.................................................................................................................................41 6.3 DESARROLLO....................................................................................................................................41 6.4 PROBLEMAS Y SOLUCIONES ..............................................................................................................50

7. SERVIDOR DE CORREO..................................................................................................................51

7.1 INTRODUCCIÓN.................................................................................................................................51 7.2 FUNDAMENTOS.................................................................................................................................51 7.3 DESARROLLO....................................................................................................................................51 7.4 PROBLEMAS Y SOLUCIONES ..............................................................................................................61

8. SERVIDOR VOIP................................................................................................................................62

8.1 INTRODUCCIÓN.................................................................................................................................62 8.2 FUNDAMENTOS.................................................................................................................................62 8.3 DESARROLLO....................................................................................................................................63 8.4 PROBLEMAS Y SOLUCIONES ..............................................................................................................73

- 2 -

Page 3: Documentacion de servidores linux

1. Consideraciones previas

Antes de nada,  vamos a planificar nuestra  instalación de nuestro  servidor  y nuestro cliente, para ello,  lo hemos  instalado en una máquina virtual. A nuestro  servidor,  le hemos añadido una memoria de 2 GB y un disco duro de 30 GB mientras que al cliente le hemos añadido 1 GB de memoria y un disco duro de 10 GB. 

También  no  debemos  de  olvidar  de  poner  correctamente  el  adaptador  puente  en nuestro servidor y cliente, ya que si en el apartado Red/Adaptador puente marcamos una tarjeta de red que no está activa, no funcionará. 

Una  vez hecho  todo  esto,  instalamos  las dos máquinas  virtuales,  y procederemos  a realizar los ajustes necesarios a nuestro servidor. 

Vamos  a  utilizar  diversos  comandos  para  proceder  al  funcionamiento  de  nuestro servidor; siempre que utilicemos alguna orden para cambiar algún dato en el sistema, tendrá que ser acompañada del comando sudo, para tener permisos de administrador y poder configurarlo a nuestra manera. 

Ejemplo: 

  sudo gedit /etc/network/interfaces 

Esta orden nos  llevará  a  editar  la  configuración  sobre nuestra  red por defecto, que posteriormente  tendremos  que  cambiar,  ya  que  un  servidor  tiene  que  tener  una dirección IP fija. Al servidor, le daremos la IP fija 192.168.2.122. 

2. Servidor DHCP

2.1 Introducción

DHCP  (Dynamic Host Configuration Protocol  ‐ Protocolo de configuración dinámica de host), es un protocolo de red que asigna automáticamente una dirección IP dinámica a un cliente dentro de una red IP.  

Es un protocolo cliente/servidor, en el que el servidor tiene una lista de direcciones IP dinámicas y las asigna a los clientes conforme van quedando direcciones IP libres. Se le asigna  una  dirección  IP  a  un  cliente  por  un  tiempo  determinado,  una  vez  que  a expirado ese  tiempo, se  le da esa dirección  IP a otro cliente que  la necesite, si no  la necesita nadie, se la vuelve a concebir. 

- 3 -

Page 4: Documentacion de servidores linux

2.2 Fundamentos

Vamos a realizar la configuración de nuestro servidor, y comprobar su funcionamiento mediante un cliente. Para ello antes debemos de: 

‐ Tener instalado dos máquinas virtuales: un cliente y un servidor. 

‐ Descargar  el  paquete Webmin  desde  http://www.webmin.com/download.html  allí nos descargaremos el paquete en la pestaña debian package, la versión 1.560. 

‐ Instalar el paquete dhcp3‐client y webmin. 

2.3 Desarrollo

Primero vamos a  iniciar el servidor, una vez hecho, vamos a  ir al gestor de paquetes Synaptic y buscamos el paquete dhcp3‐client, en el caso de que no esté  instalado,  lo marcamos  para  instalar  (lo  normal  es  que  ya  esté  instalado).  Para  ir  al  gestor  de paquetes Synaptic, vamos a Sistema > Administración > Gestor de paquetes Synaptic, dentro  de  aquí,  para  buscar  el  paquete  dhcp3‐cliente  vamos  a  Editar  >  Buscar  y escribimos  dhcp3‐client.  Si  tiene  un  cuadradito  verde,  está  instalado  y  si  por  el contrario está blanco, necesita instalarse. 

Ahora el siguiente paso es configurar el DHCP de forma automática, por lo que iremos a Sistema > Preferencias > Conexiones de  red. En  la ventana que  se nos abre, en  la pestaña  Cableada,  seleccionamos  Auto  eth0  y  vamos  a  Editar.  Se  nos  abrirá  otra ventana  e  iremos  a  la  pestaña  Ajustes  de  IPv4  y  en  el menú  desplegable Método, seleccionamos Automático (DHCP) y aplicamos los cambios. 

- 4 -

Page 5: Documentacion de servidores linux

Abrimos el Terminal de Ubuntu y escribimos: 

  sudo gedit /etc/network/interfaces 

Allí nos encontraremos el archivo que se muestra en  la ventana A, y  tendremos que poner los parámetros de nuestra red IP como en la ventana B. Guardamos y cerramos. 

Ventana A Ventana B

Ahora vamos al Terminal de nuevo, y escribimos:

  sudo /etc/init.d/networking restart 

Comprobamos los ajustes con ifconfig. Ahora, vamos a ejecutar la siguiente orden: 

  sudo gedit /etc/resolv.conf 

Escribimos estos parámetros y guardamos. 

- 5 -

Page 6: Documentacion de servidores linux

Vamos a instalar otro paquete en el gestor de Synaptic, ahora tenemos que instalar el paquete dhcp3‐server, lo buscamos y lo instalamos como en el apartado anterior. 

Una  vez  hecho  esto,  vamos  a  proceder  a  la  instalación  de  Webmin.  Para  ello, previamente  lo hemos descargado en el apartado anterior. Hacemos doble  clic  y  se comenzará a instalar. 

Con  el  paquete Webmin  instalado,  vamos  a  iniciar  el  navegador  y  escribimos  en  la barra  de  navegación:  https://localhost:10000  introduciendo  nuestro  usuario  y contraseña. En el caso de que no funcionase, vamos al Terminal y ejecutamos: 

  sudo /etc/init.d/webmin restart 

Aquí  podemos  observar  todos  los  parámetros  de  nuestro  servidor. Ahora,  vamos  al Terminal de nuevo, ejecutamos: 

  sudo cp /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf.old20110927 

De  esta  forma,  copiaremos  el  archivo  de  configuración  del  DHCP  y  lo  tendremos guardado en un caso de que en el archivo nuevo de configuración no  funcionase. Lo hemos  llamado  por  la  fecha,  para  tener mucho más  orden  y  limpieza  a  la  hora  de buscar los archivos. 

Una vez copiado el archivo de configuración, vamos a abrir el archivo: 

  sudo gedit /etc/dhcp3/dhcpd.conf 

Borramos todo su contenido y escribimos lo mismo que en la siguiente imagen: 

- 6 -

Page 7: Documentacion de servidores linux

Las almohadillas (#), son aclaraciones sobre los distintos párrafos. Todos los servidores están en: /etc/init.d/(webmin, dhcp3‐server, networking) 

Ahora  vamos  a  introducir  en  la  configuración,  el  parámetro  host,  en  el  que reservaremos  una  dirección  a  un  cliente,  en  el  que  tenemos  que  sustituir  el  último párrafo por el de la imagen: 

En el apartado hardware Ethernet, se tiene que indicar la MAC del cliente que vamos a reservar  la  IP,  y  fixed‐address  la  IP  para  ese  cliente  con  esa MAC.  El  último  paso  a seguir es volver a poner range, pero también el host, por lo que quedaría así: 

 

También en la opción doman‐name‐servers modificamos: 

 

Son los DNS de telefónica, quitamos la almohadilla también y listo, los DNS ahora están resueltos. 

- 7 -

Page 8: Documentacion de servidores linux

2.4 Problemas y soluciones

Podemos tener algunos problemas, en configurar el servidor, ya que no funcionará en el caso de que esté mal escrito algún párrafo, olvidarse un punto y coma al final de la sintaxis o confundir algunos pasos sin querer. En el apartado del parámetro host, una vez  que  hayamos  configurado  todo  y  que  esté  bien,  podemos  observar  que  si queremos navegar por  internet, no tendremos conexión a  Internet; esto es un típico fallo, porque en realidad si que  tendremos conexión a  Internet, solo que  los DNS no están resueltos y a menos que sepamos la dirección IP del sitio Web al que queramos ir,  no  podremos  navegar.  Una  vez  que  hemos  puesto  los  DNS  de  telefónica, comprobamos  que  los  DNS  funcionan  correctamente.  Hay  casos  en  los  que  por ejemplo, en la configuración del parámetro host, en el apartado que dice fixed‐address [dirección  IP]; tenemos que tener cuidado, ya que no funcionará si nos olvidamos de ese guión o si escribimos adress en vez de address. 

- 8 -

Page 9: Documentacion de servidores linux

3. Servidor DNS

3.1 Introducción

El sistema de nombres de dominio (DNS) consiste simplemente en traducir un nombre en una dirección IP y viceversa, traducir una dirección IP en un nombre. 

Es  interesante porque   permite  la asignación de nombres a  los servidores que operan la  red  global  de  Internet  y  segundo,  debido  a  que  usa  un  mapa  de  nombres  y direcciones distribuidos geográficamente, ofrece un sistema de cliente‐servidor a nivel global de gran escala. 

Tiene dos aspectos conceptualmente independientes: por un lado especifica la sintaxis de los nombres y define un conjunto de reglas para delegar la autoridad en función de ellos.  El  segundo  aspecto  es  concreto:  especifica  la  forma  en  que  se  implementa  y distribuye un sistema que traduzca eficientemente nombres y direcciones. 

3.2 Fundamentos

Vamos  a  configurar  el  servidor DNS  de  nuestro  servidor.  Para  ello  vamos  a  instalar desde Synaptic el paquete bind9 y a  través de webmin vamos a  ir por  las diferentes opciones para poder configurarlo correctamente. 

También vamos a tener que comprobar los cambios que hayamos hecho en webmin en el  Terminal  para  abrir  los  distintos  ficheros  que  se  habrán  ido modificando  según íbamos configurando los servidores DNS.  

3.3 Desarrollo

Primero  vamos  a  instalar  el  paquete  bind9,  por  lo  que  vamos  a  Sistema  > Administración > Gestor de paquetes Synaptic > Editar > Buscar y escribimos bind9. 

Lo instalamos y ponemos en el navegador https://localhost:10000, vamos al apartado Servidores > Servidor de DNS Bind. En el caso de que no esté, reiniciamos webmin y listo. 

- 9 -

Page 10: Documentacion de servidores linux

 Vamos hacia Zona DNS existentes > Crear una nueva zona maestra. Allí  introducimos los siguientes parámetros: 

Cuando hemos creado una zona maestra, en el archivo /etc/bind/named.conf.local se incluye el siguiente código: 

Ahora vamos a Dirección (0) y añadimos  la dirección IP de nuestra máquina física y  la de nuestro servidor.  

En  el  apartado  nombre  escribimos  servidor.emilio2smr.com  y windows.emilio2smr.com y en dirección, la IP de cada nombre. Esta zona representa al registro de recurso A. En la configuración, quedaría así: 

- 10 -

Page 11: Documentacion de servidores linux

Después, vamos al apartado Alias de nombre, aquí añadimos los alias mail, www y ftp. 

Ahora vamos  con el Terminal al archivo de  configuración de hosts que  se generó al introducir en el apartado anterior los parámetros. 

Por ello vamos a: 

  sudo gedit /var/lib/bind/*nombre del servidor*  

(El fichero será *nombre del servidor.hosts*) 

Para comprobar su funcionamiento, ejecutamos varios parámetros: 

  dig servidor.*nombre del servidor".com 

  dig www.*nombre del servidor".com 

  dig "nombre del servidor".com 

- 11 -

Page 12: Documentacion de servidores linux

Si en pantalla sale NOERROR, querrá decir que es correcto, por el contrario, vamos a /etc/resolv.conf y quitamos esas 3 líneas quedando así: 

Y lo ejecutamos de nuevo. En caso de que nos siga dando error, reiniciamos: 

  sudo /etc/init.d/bind9 restart 

Ahora vamos a crear una nueva zona maestra inversa, introducimos los mismos datos que en el anterior, solo que en nombre de dominio ponemos como se  llama nuestra red  (192.168.2.0)  y  en  tipo  de  zona marcamos  Inversas.  El  resto  es  exactamente  lo mismo. Una vez hecho este paso, ejecutamos: 

  sudo gedit /etc/bind/named.conf.local 

Se  añadirá otro  código en el  archivo de  configuración  local.  Sería bueno escribir un comentario mediante // para añadir información como se muestra aquí. 

- 12 -

Page 13: Documentacion de servidores linux

Ahora nos toca añadir los registros PTR para la red. Para ello vamos dentro de webmin a Zonas DNS Existentes y vamos al nombre de  la red (192.168.2.0 en mi caso). Ahora vamos a Dirección inversa, y damos de alta el servidor y la máquina física. 

Por  último,  vamos  a  comprobar  si  se  ha  generado  el  archivo  de  configuración,  que debemos ejecutar el comando en el Terminal: 

  sudo gedit /var/lib/bind/*nombre de la red*.rev 

- 13 -

Page 14: Documentacion de servidores linux

3.4 Problemas y soluciones

En  este  servidor,  pueden  haber muchos  problemas  a  la  hora  de  configurarlo.  En  el apartado anterior donde se explica para añadir los registros PTR, es posible cometer el error de añadir estos registros de zona inversa en el lugar emilio2smr.com en vez de en 192.168.2.0 (en mi caso). Hecho esto, el fichero de configuración será el correcto, en el que está en /var/lib/bind/*nombre de la red*.rev y no en el fichero de hosts como me pasaba  a mí.  Es  importante,  que  en  algunos  casos  que  se  deba  dar  un  nombre  de dominio, que en esa  línea de dominio acabe en punto, si no, no funcionará. También en algunos casos puede que la IP o alguna línea de dominio esté mal escrita y eso haga que no funcione, en el caso de no dar la solución, lo mejor es seguir los pasos desde el principio y con atención. 

- 14 -

Page 15: Documentacion de servidores linux

4. Servidor SSH

4.1 Introducción

SSH™  (Secure SHell)  es  un  protocolo  que  facilita  las  comunicaciones  seguras  entre dos  sistemas usando una  arquitectura  cliente/servidor  y que permite  a  los usuarios conectarse a un host remotamente. A diferencia de otros protocolos de comunicación remota  tales  como  FTP  o  Telnet,  SSH  encripta  la  sesión  de  conexión,  haciendo imposible que alguien pueda obtener contraseñas no encriptadas. 

SSH  está  diseñado  para  reemplazar  los métodos más  viejos  y menos  seguros  para registrarse  remotamente  en  otro  sistema  a  través  de  la  shell  de  comando,  tales como telnet o RSH.  Un  programa  relacionado,  el SCP,  reemplaza  otros  programas diseñados para copiar archivos entre hosts como RCP. 

4.2 Fundamentos

Para desarrollar este servidor, necesitaremos descargar e instalar el paquete openssh‐server, en el que después iniciaremos una sesión desde el cliente con el servidor Linux en modo texto. También conectaremos con la máquina física al servidor en modo texto con el programa Putty. 

Ejecutaremos órdenes en el Terminal como scp desde el cliente o servidor para copiar archivos entre sí o conectarnos desde el cliente al servidor en modo texto con la orden ssh. Crearemos una clave pública para conectarnos al servidor. 

Para  la  práctica  FreeNX,  nos  descargaremos  3  paquetes  desde  la  página www.nomachine.com:  nxclient_3.5.0‐7_i386.deb,  nxnode_3.5.0‐7_i386.deb  y nxserver_3.5.0‐9_i386.deb  para  Linux  y  para  Windows  nxclient_3.5.0‐7,  en  la  que ejecutaremos sesiones remotas gráficamente y no en modo texto. 

- 15 -

Page 16: Documentacion de servidores linux

4.3 Desarrollo

Primero  vamos  a  descargarnos  el  paquete  openssh‐server  para  este  apartado  en nuestro  servidor  Linux.  Para  ello  vamos  a  Sistema  >  Administración  >  Gestor  de paquetes Synaptic > Editar > Buscar y escribimos ssh. Una vez realizada  la búsqueda, buscamos el paquete openssh‐server, lo marcamos para instalar y aplicamos la acción. 

Una vez hecho esto, vamos a comprobar su conectividad con nuestra máquina física. Para ello, vamos a descargarnos el programa Putty, que sirve para realizar conexiones remotas. 

Antes  de  ejecutar  este  programa,  para  poder  conectarnos  con  el  servidor  desde nuestra máquina física a través del programa Putty, tendremos que añadir la dirección IP del servidor a los DNS de nuestra máquina física, sino, no nos funcionará. 

Ya descargado este programa, lo ejecutamos; En el apartado Host Name, escribiremos el nombre de nuestro dominio : 

  servidor.*nombre del dominio*.com 

Haremos clic en Open y se nos abrirá una ventana para introducir el login del servidor y su contraseña. 

Cerramos el cuadro de diálogo, y comprobamos, que si escribimos www.*nombre del dominio*.com  también  se conectará, de  la misma  forma que  si escribimos *nombre del dominio*.com.  

Comprobado que nos conecta correctamente, cerramos el programa y ahora vamos a conectarnos desde el cliente. 

- 16 -

Page 17: Documentacion de servidores linux

Para ello,  vamos  al  cliente e  iremos  al  fichero  resolv.conf desde el  Terminal que  se encuentra en /etc/resolv.conf y observamos que se encuentran en este caso  los DNS de telefónica. En nuestro servidor iremos al fichero dhcpd.conf desde el Terminal para configurarlo: 

  sudo gedit /etc/dhcp3/dhcpd.conf 

En  la  línea  domain‐name,  escribimos  entre  comillas  nuestro  nombre  de  dominio  y quitamos los comentarios de la tercera y cuarta línea quedando así: 

También en la zona dónde teníamos que dar una dirección fija a nuestro cliente (fixed‐address),  eliminamos  las  líneas  que  teníamos  de  rango  para  dar  direcciones  IP, quedando como se muestra en la imagen: 

Guardamos  los  cambios  de  configuración  de  este  archivo  y  reiniciamos  el  servidor DHCP con la orden desde el Terminal: 

  sudo /etc/init.d/dhcp3‐server restart 

Comprobamos en el cliente, si se ha cambiado  la configuración correctamente, en el que abriremos el archivo resolv.conf: 

  sudo gedit /etc/resolv.conf 

- 17 -

Page 18: Documentacion de servidores linux

La última vez que abrimos este archivo, tenía los DNS de telefónica, ahora nos muestra los cambios aplicados en la configuración de DHCP, en el que nos muestra tres líneas, dos líneas con el nombre de nuestro servidor y una con su dirección IP: 

Verificado que  los  cambios  son  los  correctos,  vamos  a  conectarnos  con el  cliente  al servidor, en el cual ejecutaremos la orden: 

  ssh *usuario del servidor*@servidor.*nombre del dominio*.com 

Indicando yes, nos pedirá  la contraseña del usuario del servidor y nos conectará a él. Para salir de esa sesión ssh del servidor, escribimos exit. 

SCP 

Con la orden scp, vamos a copiar remotamente un archivo del servidor, es igual que la orden  cp,  solo  que  ésta  es  de  forma  remota  y  a  diferencia  de  rcp,  es mucho más segura. 

Vamos a realizar una práctica con este comando, primero vamos al servidor y creamos en el Escritorio, un archivo llamado pruebascp.txt y dentro de el añadimos contenido. Ahora vamos al cliente y abrimos 2  terminales; en el primero ejecutaremos  la orden ssh para  localizar el archivo en concreto y en el  segundo ejecutaremos  la orden  scp para copiarnos ese archivo en nuestro Escritorio, llamándolo pruebascp2.txt. 

1er Terminal: 

  ssh *usuario del servidor*@servidor.*nombre del dominio*.com 

 Una  vez  conectamos  al  servidor,  ejecutaremos  la  orden  pwd  para  saber  dónde estamos actualmente y llegamos al directorio Escritorio. Dentro de aquí, ejecutamos la orden  ls  ‐l  para  saber  como  se  llama  el  archivo,  ya  localizado,  vamos  al  segundo Terminal. 

- 18 -

Page 19: Documentacion de servidores linux

2º Terminal: 

  scp  *usuario  del  servidor*@servidor.*nombre  del  dominio*.com:*ruta  del archivo* *ruta de destino*/pruebascp2.txt 

En  el  equipo  cliente  se  copiará  el  contenido  de  pruebascp.txt  llamándose pruebascp2.txt.  Si  queremos  transferir  un  archivo  desde  el  cliente  al  servidor,  la sintaxis será: 

  scp  *ruta  archivo  local*  *usuario  del  servidor*@servidor.*nombre  del dominio*.com:*ruta de destino* 

Cuando vamos a añadir  la ruta del archivo en  local, podemos tabular para encontrar más  rápidamente el archivo, pero esto no  se debe hacer al encontrar un archivo en remoto, ya que al tabular se hará en local y no en remoto. 

SFTP 

La orden sftp es la misma que scp, solo que para coger o poner los archivos en remoto, se usan las órdenes get para coger y put para subir. La sintaxis será la siguiente: 

  sftp *usuario del servidor*@servidor.*nombre de dominio*.com 

Una vez que estemos dentro del servidor desde el cliente, se usan órdenes en  local y en remoto, aquí se expone un listado para la práctica. 

Local  Remoto  Utilidad 

lcd  cd Navegar entre directorio 

lpwd  pwd Visualizar el contenido de un directorio 

Para  coger  y  subir  archivos,  necesitaremos  situarnos  en  el  directorio  objetivo  y destinatario, una vez hecho este paso, solo queda añadir la orden get o put y el archivo a  coger  o  subir.  En  la  siguiente  imagen  se muestra  un  ejemplo  práctico,  en  el  que creamos previamente un archivo en el servidor, lo cogemos en el cliente, lo borramos del  servidor  y  subimos el  archivo desde el  cliente hasta el  servidor. Para  salir de  la sesión sftp ejecutamos quit. 

- 19 -

Page 20: Documentacion de servidores linux

Ahora vamos a realizar un ejercicio, en el que vamos a conectarnos al servidor desde el cliente y ejecutar un objeto en el servidor, pero viéndolo en el cliente, veamos como se realiza. 

En el servidor, vamos al Terminal y escribimos: 

  sudo gedit /etc/ssh/sshd_config 

Activamos indicando yes en la línea que muestra X11Forwarding. Si en la línea que se muestra en la siguiente imagen es igual, no tocaremos nada. 

En el cliente, también iremos al Terminal y escribimos: 

  sudo gedit /etc/ssh/ssh_config 

Editaremos  la  línea  que  pone  ForwardX11  no,  escribiremos  yes  y  quitamos  el comentario de esa línea en el apartado Host y guardamos el archivo. 

- 20 -

Page 21: Documentacion de servidores linux

Una vez guardado el archivo, vamos al cliente y escribimos en el Terminal: 

  ssh ‐l *usuario del servidor* *IP del servidor* 

En la sesión, escribimos: xeyes & 

Se nos abrirá una ventana en la que aparecerán unos ojos. 

Esta utilidad sirve para ejecutar gráficamente un objeto en el cliente, pero en realidad se está ejecutando en el servidor. 

El carácter &, sirve para seguir ejecutando órdenes en el Terminal sin cerrar un archivo o aplicación abierta. 

Vamos a iniciar una sesión ssh con autenticación por clave pública, por lo que vamos a generar una clave en el cliente escribiendo en el Terminal: 

  ssh‐keygen ‐t rsa 

- 21 -

Page 22: Documentacion de servidores linux

En  la  flecha nº 1,  introduciremos un  Intro y en  la  flecha nº 2,  introduciremos  lo que queramos, por ejemplo "vallecas". Nos saldrá la clave pública como se ve en la imagen anterior. 

Comprobamos  que  se  ha  generado  el  archivo  yendo  al  directorio  donde  se  ha guardado la clave en el paso anterior. Este directorio es oculto, ya que tiene un punto delante y por  lo tanto no se visualizará gráficamente, así que ejecutamos el comando de la imagen. 

Una vez comprobado, ejecutamos la orden: 

  scp /home/*usuario*/.ssh/id_rsa.pub *usuario del servidor*@servidor.*nombre del dominio*.com:/home/*usuario*/.ssh 

Copiada  la  clave  pública  al  servidor,  nos  conectamos  a  el  en  una  sesión  ssh,  nos dirigimos al directorio  .ssh  con  la orden y después ejecutamos dentro del directorio .ssh: 

  cat id_rsa.pub >>authorized_keys 

Se añadirá esa clave al contenido del  fichero authorized_keys. El símbolo de >> hace referencia a añadir esa clave pública a ese fichero, si sólo escribiésemos > se eliminaría el contenido de ese fichero y sólo añadiría el contenido de esa clave pública. Es decir, si en el fichero authorized_keys tenemos 4 claves públicas de otros clientes y escribimos > se borrarían todas las claves en ese fichero, y sólo contendrá la clave que añadamos. Añadida  la  clave al  fichero,  vamos a  conectarnos  al  servidor  con el  cliente. Una  vez ejecutado, añadimos permisos: 

  chmod go‐rwx authorized_keys 

- 22 -

Page 23: Documentacion de servidores linux

Hecho esto, cerramos  la sesión ssh con el servidor y volvemos de nuevo a abrir otra sesión ssh, en la que nos pedirá la contraseña que introducimos para encriptar la clave pública y listo. 

NX 

Descargados todos los paquetes NX, abriremos sesiones remotas. A diferencia de abrir una  sesión  remota  con  ssh  o  con  Putty,  con  esta  aplicación  nos  conectaremos  en remoto y en modo gráfico, ya que con Putty o ssh sólo se mostraba en modo texto. 

Instalamos  los  paquetes  en  el  servidor  en  el  siguiente  orden:  nxclient,  nxnode  y nxserver, en el cliente sólo  instalaremos nxclient y en Windows el paquete específico para él nxclient. 

Una vez  instalado todos  los paquetes, en el cliente vamos a Aplicaciones >  Internet > NX Client for Linux > NX Client for Linux. Se abrirá una ventana de  instalación de esta aplicación, hacemos clic en Next e iremos a la siguiente pantalla. 

En el apartado Session, escribimos  lo que sea, por ejemplo "conexión con el servidor linux", en el apartado Host  introducimos nuestro servidor, abajo hay un control en el que seleccionaremos LAN, ya que será en local y hacemos clic en Next. 

- 23 -

Page 24: Documentacion de servidores linux

En la siguiente pantalla no tocaremos nada, salvo en el segundo menú desplegable en el que elegiremos GNOME y hacemos clic en Next para finalizar. 

Una vez configurado, ejecutamos  la aplicación para conectarnos al servidor en modo gráfico remotamente, introducimos el usuario del servidor con su clave y hacemos clic en Login para conectarnos. 

Y listo, entraremos al servidor en modo gráfico. 

- 24 -

Page 25: Documentacion de servidores linux

Haremos  lo  mismo  solo  que  la  diferencia  será  conectar  nuestra  máquina física(Windows)  al  servidor(Linux),  ejecutamos  la  instalación  y  una  vez  instalado  lo configuramos, todo exactamente igual como hicimos en el cliente. 

Una vez configurado, ejecutamos la aplicación para poder conectarnos gráficamente al servidor  Linux  e  introducimos  el  usuario  y  la  clave  para  conectarnos.  Se  abrirá  una ventana como en la imagen indicando que al sitio para acceder no es seguro, hacemos clic en Yes y listo. 

En  la  siguiente  ventana,  seleccionamos  la  configuración  que  establecimos anteriormente,  después  hacemos  clic  en  New  y  nos  conectaremos  al  servidor gráficamente, igual que en el cliente. 

- 25 -

Page 26: Documentacion de servidores linux

4.4 Problemas y soluciones

Pueda ser, que al añadir  la dirección IP del servidor a  los DNS, no nos funcione, en el caso  de  que  pase,  tendremos  que  poner  la  dirección  IP  del  servidor  en  los  DNS primarios y listo. 

En  el  apartado  de  ssh,  si  hemos  tenido  el  problema  de  no  poder  conectarnos  al servidor desde el cliente, lo mejor que podemos hacer es apagar la máquina, ya que es una solución que funciona. 

Si  queremos  volver  a  generar  una  clave,  nos  vamos  al  servidor  y  en  el  archivo /home/*usuario*/.ssh/authorized_keys borramos todo su contenido, en el cliente, en la misma ruta, borramos los archivos id_rsa e id_rsa.pub. Volveremos a introducir una nueva frase para la clave pública y hecho todo esto, reiniciamos la máquina. 

- 26 -

Page 27: Documentacion de servidores linux

5. Servidor HTTP

5.1 Introducción

HTTP de HyperText Transfer Protocol (Protocolo de transferencia de hipertexto) es el método más común de  intercambio de  información en  la Word wide web  (www), el cual se transfieren las páginas web a un ordenador. 

Todas  las páginas web están escritas en  lenguaje de hypertexto  (hyper‐text markup language (HTML)), por lo que el hipertexto es el contenido de las páginas web. 

El protocolo de transferencia es el sistema mediante el cual se transfiere  información entre los servidores y los clientes (por ejemplo los navegadores). 

Hay una versión de HTTP para  la transferencia segura de  información  llamada HTTPS que puede utilizar cualquier método de cifrado siempre que sea entendido tanto por el servidor como por el cliente. 

5.2 Fundamentos

Descargaremos desde el gestor de Synaptic el paquete apache2, configurando algunas opciones desde Webmin para este paquete. Modificaremos un  index.html para que muestre otro mensaje,  crearemos diversos  index.html en otros directorios para que según escribamos una página nos salga un texto diferente y proteger mediante accesos una  página  para  un  número  determinado  de  usuarios.  También  crearemos  un certificado ssl para que nuestra página sea de confianza (https). 

5.3 Desarrollo

Lo  primero  ante  todo,  es  instalar  el  paquete  apache2  desde  el  gestor  de  paquetes Synaptic en el servidor. Lo buscamos y  lo marcamos para  instalar. Una vez  instalado este paquete, vamos al navegador y escribimos http://localhost y nos mostrará este mensaje. 

- 27 -

Page 28: Documentacion de servidores linux

Vamos a editar este archivo para que nos muestre otro mensaje, por lo tanto vamos al Terminal y escribimos: 

  sudo gedit /var/www/index.html 

Y editamos el contenido por éste otro: 

Lo guardamos y vamos otra vez al navegador y actualizamos  la página, en  la que nos saldrá lo de la imagen. 

Ahora  nos  dirigimos  al  cliente,  y  vamos  a  conectarnos  a  webmin  en  el  servidor. Escribimos en el navegador  lo siguiente: https://servidor.emilio2smr.com:10000 para entrar  en  el  webmin.  En  caso  de  que  nos  aparezca  que  la  página  no  es  segura, indicaremos las opciones necesarias para poder entrar, si no, no podremos configurar nada. El hecho de que nos conectemos a Webmin desde el cliente al servidor, implica que  en  el  caso  de  que  el  servidor  esté  lejano,  podamos  configurarlo  sin  problemas desde un equipo cliente cuando se haya caído el servidor sin tener que "viajar" hasta el lugar dónde se encuentre el servidor. 

En primer lugar, nos dirigimos a Servidores > Servidor Web Apache > Servidor Virtual > Redes  y  direcciones.  En  el  apartado  Nombre  de máquina  de  servidor,  indicaremos nuestro  servidor  (servidor."nombre  de  dominio".com).  Guardamos  los  cambios  y hacemos clic en Aplicar cambios, que se encuentra en la esquina superior derecha. 

Hecho esto, vamos a Servidores > Servidor Web Apache. Aquí vamos a la pestaña de la izquierda que se llama Global configuration, vamos a ella y hacemos clic en Configure Apache Modules. Marcaremos una casilla que se llame userdir, que en este momento pasará a estar activado. 

- 28 -

Page 29: Documentacion de servidores linux

Ahora nos dirigimos a Sistema > Usuarios y grupos > Crear nuevo usuario. Crearemos el usuario alumno1 y con  la contraseña alumno1. Ahora vamos a conectarnos desde el cliente al servidor con  la orden ssh y crear dentro del usuario alumno1 un directorio que se llame public_html. 

  ssh [email protected] 

Ejecutaremos pwd para saber en qué lugar del usuario alumno1, nos situamos dentro del directorio alumno1 y creamos el directorio public_html. Hecho esto, vamos a crear un  archivo  que  se  llame  index.html  y  dentro  de  él  escribiremos  lo mismo  que  la imagen. 

Guardado  el  archivo  index.html  en  el  directorio  public_html  del  usuario  alumno1, cerramos  la  sesión  ssh.  Ahora  nos  conectamos  a  http://servidor.*nombre  de dominio*.com/~alumno1. Mostrará  el  contenido  que  creamos  anteriormente  con  el index.html. 

Hecho  esto, nos dirigimos  a  Servidores  >  Servidor Web Apache  >  Servidor Virtual  > Alias y Redireccionamientos. Aquí, escribiremos el usuario alumno1 y su directorio, de esta  forma,  no  tendremos  que  escribir  el  carácter  ~  cuando  accedamos  a  la  página Web de alumno1. 

- 29 -

Page 30: Documentacion de servidores linux

Ahora volvemos a escribir en el navegador y observamos que no hará falta escribir el carácter ~ para acceder a la página Web de alumno1. 

Host virtuales 

Para  crear  un  host  virtual,  vamos  a Webmin  y  aquí  nos  dirigimos  a  Servidores  > Servidor Web Apache > Create virtual host  (que se encuentra en  la tercera pestaña). Aquí  indicaremos  en  el  campo  Raíz  para  documentos,  escribiremos  la  ruta /var/www/virtualA.  En  el  campo  Nombre  del  Servidor,  escribimos  en  el  cuadro  de texto virtualA.*nombre del dominio*.com y por último, en el campo Copiar directivas desde, seleccionamos en el menú desplegable servidor.*nombre del dominio*.com:80 (todo esto es para un ejemplo, se puede llamar de cualquier otra forma). 

Ahora vamos a Servidores > Servidor de DNS BIND > Zona DNS existentes > *nombre del  dominio*.com  >  Alias  de  nombre.  Aquí,  indicaremos  en  el  campo  Nombre,  el nombre  de  la  zona  virtual  de  host  (en  este  caso  virtualA.emilio2smr.com)  y  en  el campo Nombre Real, escribiremos servidor.*nombre del dominio*.com y hacemos clic 

- 30 -

Page 31: Documentacion de servidores linux

en  Crear.  Hecho  esto  hacemos  clic  en  Apply  Configuration  que  se  encuentra  en  la esquina superior derecha. 

Ahora nos vamos a Servidores > Servidor Web Apache y aquí hacemos  clic en Parar Apache y una vez parado, vamos  lo arrancamos de nuevo haciendo clic en Arrancar Apache. 

Hecho esto, vamos al Terminal y escribimos: 

  sudo gedit /var/www/virtualA/index.html 

Lo  que  vamos  ha  hacer,  es  crear  la  página  Web  de  ese  host  virtual,  por  lo  que escribiremos el siguiente contexto de la imagen. 

Lo  guardamos  y  ahora  en  el  navegador  escribimos  el  nombre  del  host  virtual  que hemos  creado  (para  este  caso  será  http://virtuala.emilio2smr.com/).  Por  defecto, aunque  en  el  ejemplo  hemos  escrito  la  última  vocal  en mayúscula,  se  cambiará  a minúscula, si nos ha salido todo bien, nos mostrará lo mismo que la imagen de abajo. 

- 31 -

Page 32: Documentacion de servidores linux

Autenticaciones 

Primero  vamos  a  crear  un  directorio  en  la  ruta  /var/www/  que  se  llame directorio_protegido  y  dentro  de  él  un  archivo  de  texto  con  el  contenido  que  sea. Ahora  vamos  a  observar  si  en  el  índice  de  los  módulos,  está  activada  la  casilla auth_basic  yendo  a  Servidores  >  Servidor  Web  Apache  >  Global  configuration  > Configure Apache Modules.  

Ahora vamos a Otros > Directorios Web Protegidos, luego, agregaremos la protección para un directorio. En el campo Ruta al directorio, escribiremos  la ruta en  la que nos creamos  el  directorio  en  el  apartado  anterior  y  en  Dominio  de  autenticación escribiremos por ejemplo, directorio protegido. 

Tendremos  que  agregar  usuarios  para  permitir  que  ellos  sí  que  puedan  acceder  al contenido de ese directorio mediante una autenticación. 

- 32 -

Page 33: Documentacion de servidores linux

Luego nos vamos a editar  las directivas para que proteja dicho directorio salvo a  los usuarios que creemos para permitir su acceso mediante contraseña, para ello vamos a Servidores  >  Servidor  Web  Apache  >  (nuestro  servidor  virtual,  para  identificarlo observamos  la  línea  que  muestra  Raíz  para  documentos,  ahí  deberá  aparecer /var/www) > Editar directivas. Al final de la directiva escribimos lo siguiente y hacemos clic en Salvar: 

<Directory “/var/www/directorio_protegido”> 

AllowOverride AuthConfig 

</Directory> 

Paramos  y  arrancamos  el  servidor  apache  o  en  aplicar  cambios  para  que  funcione nuestra  configuración  y  abrimos  una  pestaña  nueva,  en  la  que  escribiremos http://www.*nombre  de  dominio*.com/directorio_protegido  y  nos  requerirá  una identificación,  escribiendo  el  usuario  alumno1  que  añadimos  anteriormente  y  su correspondiente contraseña, hacemos clic en Aceptar y nos mostrará el contenido de directorio_protegido. 

- 33 -

Page 34: Documentacion de servidores linux

Denegar acceso 

Para denegar accesos, vamos a Servidores > Servidor Web Apache > (Nuestro servidor virtual)  >  Editar  directivas.  Aquí  hay  un  apartado  en  el  que  se muestra  la  imagen, escribiremos Deny from (dirección IP a restringir) y lo guardamos. 

Abrimos una nueva pestaña y vamos a http://www.*nombre de dominio*.com y nos mostrará lo mismo que lo de la imagen. 

- 34 -

Page 35: Documentacion de servidores linux

Acceder mediante certificado ssl 

Vamos a Servidores > Servidor Web Apache > Global configuration > Configure Apache Modules, activamos la casilla ssl y guardamos. 

Ahora  vamos  a  conectarnos  al  servidor  mediante  ssh  para  crear  un  directorio. Crearemos el directorio llamado ssl y a su vez dentro de el otro directorio que se llame htdocs como vemos en la imagen. 

- 35 -

Page 36: Documentacion de servidores linux

Dentro del directorio htdocs, creamos un index.html como el de la imagen para el host virtual del certificado ssl. 

 

Una vez creado, nos dirigimos a webmin y vamos a Servidores > Servidor Web Apache > Create virtual host. En el campo puerto, escribimos 443, en Raíz para documentos escribimos  la  ruta  del  directorio  que  creamos  antes,  en  Nombre  del  Servidor, servidor.*nombre  del  dominio*.com  y  en  Copiar  directivas  desde,  elegimos  la  de servidor.*nombre del dominio*.com:80 (/var/www). 

Ahora vamos a  comprobar  si  todo  se ha  creado  correctamente, por  lo que vamos a Servidores  >  Servidor  Web  Apache  >  Global  configuration  >  Editar  Archivos  de Configuración.  En  el  menú  despegable  seleccionamos  /etc/apache2/ports.conf  y hacemos  clic en Editar Directivas en Archivo: en el que  se nos  tiene que mostrar el puerto que especificamos anteriormente, el puerto 443. 

- 36 -

Page 37: Documentacion de servidores linux

Hecho  esto,  vamos  a  Servidores  >  Servidor  de DNS  BIND  >  Zonas DNS  Existentes  > *nombre del dominio*.com > Alias de nombre. Aquí añadiremos en el campo Nombre, el nombre de seguro.*nombre del dominio*.com y en Nombre Real, servidor.*nombre del dominio*.com. Lo creamos y lo guardamos. 

Hecho  esto,  vamos  a  crear  el  certificado  ssl,  por  lo  que  descargaremos  el  archivo apache2‐ssl.tar.gz  en  el  servidor.  Lo  descomprimimos  y  se  extraerán  dos  archivos ssleay.cnf  y  apache2‐ssl‐certificate.  Ejecutamos  la  orden  cp  para  copiar  el  archivo ssleay.cnf al directorio /usr/share/apache2 y el otro archivo  lo copiamos a /usr/sbin. También  crearemos  el  directorio  ssl  dentro  de  /etc/apache2  para  guardar  ahí  el certificado. 

Creado el directorio, nos dirigimos al Terminal y ejecutamos la orden: 

  sudo apache2‐ssl‐certificate 

- 37 -

Page 38: Documentacion de servidores linux

Introduciremos algunos datos como  la provincia,  la organización, etc. Teniendo ya el certificado  firmado por nosotros mismos, vamos al Terminal para  crear el directorio miCA dentro del directorio ssl y dentro de miCA el directorio private. Ahora copiamos las  claves  generadas por  el  certificado  anterior, nos  situamos  en  /etc/apache2/ssl  y ejecutamos: 

  sudo cp apache.pem miCA/private/cakey.pem 

Y luego: 

  sudo apache.pem miCA/cacert.pem 

Ahora creamos el archivo de texto que se llame serial dentro del directorio miCA con el contenido 01 y lo guardamos.  

Ahora en Webmin, nos dirigimos a Servidores > Servidor Web Apache > Servidor virtual (el  servidor  virtual  que  creamos  con  el  puerto  específico  443)  >  Opciones  SSL, introducimos los datos de la imagen y guardamos. 

- 38 -

Page 39: Documentacion de servidores linux

Guardado  lo  anterior, nos dirigimos  a  Servidores >  Servidor Web Apache >  Servidor virtual (con el puerto 443) > Editar Directivas y añadimos a la directiva: 

Lo  guardamos,  abrimos  una  nueva  pestaña  en  el  navegador  y  vamos  a https://seguro.*nombre  del  dominio*.com  en  el  que  nos mostrará  un mensaje  de aviso. 

- 39 -

Page 40: Documentacion de servidores linux

Aceptamos el certificado y una vez aceptado, nos mostrará el index.html que creamos anteriormente para el servidor seguro. 

5.4 Problemas y soluciones

Cuando tengamos que visualizar  la página de muestra que tenemos que crear para el usuario  "alumno1",  tendremos  que  crear  la  carpeta  public_html  y  dentro  de  él guardaremos el archivo  index.html. En resumen, ejecutar  la orden ssh y conectarte a alumno1@servidor.*nombre del dominio*.com, introducir la contraseña del alumno1, y crear el directorio public_html dentro de /home. Cerramos la sesión, y ejecutamos la orden scp para copiar el archivo index.html y listo. 

En la zona de Alias y Redireccionamientos, puede ocurrir que no podamos ver la página Web de alumno1 indicándonos que no existe. La solución pueda ser que se deba a que no hemos puesto correctamente los caracteres, ya que si se nos olvida escribir al final una / no nos funcionará. Lo mismo ocurre si al escribir todo lo anterior correctamente, en el navegador se nos olvida poner al final una / tampoco nos funcionará. 

Un problema a  la hora de  realizar el apartado host virtual, es que cuando  tengamos que crear un host virtual, tenemos que aplicar los cambios cuando estemos en la zona de  servidores DNS y parar y arrancar el  servidor de apache. También puede  ser que esté mal  escrita  la  ruta para  crear el host  virtual o que hayamos  guardado nuestro index.html en otra ruta distinta. 

- 40 -

Page 41: Documentacion de servidores linux

6. Servidor FTP

6.1 Introducción

FTP  (File Transfer Protocol) el protocolo utilizado en  Internet para  la transferencia de ficheros, desde un ordenador a otro. Gracias a este tipo de conexión es posible subir ficheros  a  un  equipo  remoto. Del mismo modo,  es  posible  bajar  ficheros  desde  un ordenador remoto a nuestro equipo. 

Es un protocolo de  red para  la transferencia de archivos entre sistemas conectados a una  red TCP (Transmission  Control  Protocol),  basado  en  la  arquitectura cliente‐servidor. 

6.2 Fundamentos

Si  tenemos  una  versión  anterior  a  la  10.04  LTS,  debemos  actualizar  el  sistema operativo  linux  más  adelante.  Nos  descargaremos  los  paquetes  libreadline5_5.2‐6_i386.deb  y el paquete  gftp_2.0.19‐1_all.deb. También  tendremos que descargar e instalar el paquete vsftpd desde webmin para incluir este módulo. 

6.3 Desarrollo

Práctica FTP con WIRESHARK modo activo y pasivo 

Vamos al Terminal y ejecutamos la orden: 

  sudo wireshark 

Nos  dirigimos  a Capture Options  > Capture  Filter. Creamos  un  filtro  nuevo  para  los paquetes que vamos a analizar, por  lo que hacemos clic en Nuevo,  le asignamos un nombre cualquiera y en Filter string escribimos: 

  port 20 or port 21 or port 1060 or port 1061 or port 1062 or port 1063 or port   1064 

- 41 -

Page 42: Documentacion de servidores linux

 

 

Los puertos 1060, 1061, 1062, 1063 y 1064, son puertos que hemos agregado para  la conexión de datos al servidor FTP. 

Hacemos clic en Aceptar y luego en Start para empezar a capturar los paquetes en esta conexión ftp. 

Ahora vamos al Terminal y abrimos una conexión al servidor FTP con la orden: 

  ftp *dirección IP del servidor FTP* 

Escribimos  el  usuario  y  contraseña  para  entrar  y  subimos  algún  archivo  cualquiera. Subido  el  archivo,  vamos  a  Wireshark  para  analizar  los  paquetes  que  se  han  ido transmitiendo y nos dirigimos a  la  trama FTP‐DATA, que  se encuentra en  la pestaña Protocol. La  trama de esta conexión,  indica que se a  realizado por el puerto 20, que nos  lo  indica  en  la  parte  inferior  de  las  tramas  el  apartado  Transmission  Control Protocol, la línea que muestra Src Port: ftp‐data (20). 

- 42 -

Page 43: Documentacion de servidores linux

 

Para establecer una conexión con ftp en modo pasivo, escribimos en la conexión ftp ya establecida "passive", se aceptará esta orden y entraremos en modo pasivo, en el que se especifica el puerto en el que se envían los datos. Subimos otro archivo al servidor ftp  y  veremos  en  Wireshark  en  el  mismo  tipo  de  trama  que  observamos anteriormente, que la trama ha cambiado en el puerto de conexión, en el que está el puerto 1060. 

Navegador 

Vamos al navegador y escribimos ftp://*dirección IP del sitio ftp* en el que nos pedirá una  contraseña  de  acceso.  Si  observamos  el Wireshark,  el  navegador  se  abrirá  en modo pasivo por defecto, diferente al Terminal. 

 

- 43 -

Page 44: Documentacion de servidores linux

Si  aún  no  hemos  actualizado  el  sistema,  lo  actualizamos  yendo  a  Sistema  > Administración > Gestor de actualizaciones. La versión de ubuntu que será actualizada 

  o  directorios  del  equipo  local, también siempre delante de una orden, aparece el carácter  l para hacer referencia al 

será  la  10.04,  también  descargamos  el  paquete  libreadline5_5.2‐6_i386.deb  lo instalamos  y  después  descargamos  también  el  paquete  gftp_2.0.19‐1_all.deb,  en  el que instalaremos los paquetes que vienen por el orden siguiente: common, text y gtk. 

Uso de órdenes más comunes en el Terminal para ftp 

El  carácter  !  siempre  hace  referencia  a  los  archivos

equipo local, algunas son: 

Orden  Descripción 

?  Muestra todas las órdenes disponibles 

t y mput Sube un archiv  y sube 

r o al servidor FTP

varios archivos del mismo tipo al servidoFTP 

Pu

Get y mget  s archivos del mismo tipo del Coge un archivo del servidor FTP y coge varioservidor FTP 

Ls y !ls Muestra el listado de ficheros/direcen remoto y en

torios  local 

Ascii y bin Para transferir ficheros de texto y para transferir imágenes 

Chmod y !chmod l Para agregar permisos a ficheros en loca

y en remoto 

Mkdir y !mkdir  Crea directorios en remoto y en local 

Rmdir y !rmdir Borra directorios vacíos en remoto y en local 

Delete y mdelete s 

os Borra un archivo en remoto y borra varioarchiv

Cd y lcd  Cambia de directorio en remoto y en local

Close, bye y quit  Para salir de la sesión FTP 

Nos descargamos paquete vsftp. 

FTP 

os el programa desde Aplicaciones > Internet > GFTP. Realizamos una conexión al  servidor  FTP  y  lo  veremos  todo  en  modo  gráfico.  Para  subir  archivos,  los 

G

Iniciam

seleccionamos y hacemos clic en  la  flecha de arriba que vemos en medio de  las dos ventanas y para bajar archivos, seleccionamos los archivos y hacemos clic en la flecha de abajo. 

- 44 -

Page 45: Documentacion de servidores linux

hora  vamos  a  establecer  una  conexión  entre  servidores  remotos.  Para  ello,  nos amos a la pestaña Local > Abrir lugar. Aquí introducimos un servidor FTP, en este caso 

  el  ejemplo  del  libro  y  escribimos:  ftp://ftp.debian.org  aceptamos  y  en  la 

Avelegimosintroducción de la contraseña, no escribiremos nada, ya que entraremos como usuario anónimo. En la pestaña Remoto, vamos a Abrir lugar y escribimos el otro servidor FTP, en este caso, ftp://ftp.redhat.com y sin contraseña. 

- 45 -

Page 46: Documentacion de servidores linux

VSFTPD 

Vamos al gestor de paquetes  synaptic y en buscar, escribimos vsftpd y  lo marcamos para instalar. 

Ahora  nos  descargamos  su  módulo  para  webmin  el  paquete  vsftpd.tar.gz  y  nos dirigimos a webmin para instalarlo. Para ello nos vamos a Webmin > Configuración de Webmin  >  Módulos  de  Webmin  >  Desde  local  y  buscamos  ahí  el  archivo  vsftpd descargado anteriormente y lo instalamos. 

- 46 -

Page 47: Documentacion de servidores linux

Para que aparezca el módulo que acabamos de instalar, podemos hacer clic en Refresh Modules. En el apartado Servidores, elegimos vsftpd y vamos a Generally 

En  el  apartado  File Unmask,  es  el  apartado de  antimáscara, en  el que  se  tiene que escribir lo contrario a los permisos que quieres dar en formato numérico; por ejemplo, si  queremos  dar  permisos  totales  a  todos  los  usuarios  (111  111  111),  habría  que escribir  777,  ¿no?  pues  aquí  tendríamos  que  escribir  000,  justo  lo  contrario.  En  el último lugar, hacemos clic en el cuadro de buscar, y seleccionamos ftp. Guardamos los cambios. 

 

 

Vamos  a Anonymous  ftp,  en  el  que  se  conectarán  los  usuarios  anónimos  a  nuestro servidor  ftp,  para  darles  permisos  o  para  denegarles  ciertas  acciones,  e  incluso  el tiempo de conexión. Guardamos los cambios. 

Ahora vamos a  Local User e  indicamos  los usuarios  locales para  conectarse. Chroot, sirve para que  los usuarios no puedan cambiar de directorio si no  le pertenece, para dar mayor seguridad. Guardamos los cambios. 

- 47 -

Page 48: Documentacion de servidores linux

Hecho  esto,  vamos  a  Miscellaneous,  y  escribimos  los  parámetros  de  la  imagen siguiente. Guardamos los cambios. 

 

Ahora vamos a Sistema > Usuarios y grupos. Buscaremos al usuario ftp y hacemos clic sobre él para editarlo. Hay muchos apartados, pero en el que nos debemos fijar, tiene que  ser  en  Directorio  Inicial,  aquí  lo marcaremos  en  Automático  y  guardamos  los cambios. 

- 48 -

Page 49: Documentacion de servidores linux

Una vez hecho todo esto, vamos a Servidores > Vsftpd y hacemos clic en Restart Vsftpd Server  para  reiniciar  el  servidor  vsftpd  y  configurar  los  cambios  que  hicimos anteriormente. 

Ahora vamos a comprobar si  funcionarán  los cambios para el usuario anónimo. Para ello, vamos a abrir el Terminal y escribimos: 

  sudo nautilus 

Se  abrirá  el  navegador  de  archivos  nos  dirigimos  a  Sistema  de  archivos  >  home  y observamos que se ha creado un directorio llamado ftp. Vamos a Ver y hacemos clic en Lista  y  ordenamos  los  elementos  yendo  a  Ver  >  Columnas  visibles  y marcamos  las casillas Propietario, Grupo  y Permisos.  Si queremos que  la  casilla Propietario  se  vea antes que la casilla Grupo, seleccionamos la casilla Propietario y hacemos clic en Subir. 

El  directorio  ftp,  tiene  que  tener  todos  los  permisos  de  propietario  a  root  y  como grupo  a  nogroup  que  tiene  que  tener  solo  de  lectura  y  ejecución.  Para  ello, seleccionamos el directorio ftp pulsamos el botón secundario del ratón y nos dirigimos a Propiedades > Permisos > Grupo, aquí elegiremos el grupo nogroup y hacemos clic en Cerrar. Ahora  vamos  al Terminal para  asignar permisos de  lectura  y ejecución  al grupo nogroup y escribimos: 

  sudo chmod 755 /home/ftp 

- 49 -

Page 50: Documentacion de servidores linux

- 50 -

Como  observamos,  los  cambios  se  han  realizado  correctamente.  Dentro  de  ftp creamos un directorio que  se  llame  Incoming y que  tenga  todos  los permisos  (777). Repetimos  la  misma  acción  con  la  orden  chmod,  solo  que  como  son  todos  los permisos, será: 

  chmod 777 /home/ftp/Incoming 

Si  ahora  ejecutamos  el  programa  gftp,  y  escribimos  lo  necesario  para  conectarnos, estará el directorio Incoming, dentro de él añadimos un archivo cualquiera y cerramos la conexión. 

Si  ahora  ejecutamos  en  el  Terminal  sudo  nautilus,  y  nos  dirigimos  a /home/ftp/Incoming,  estará  el  archivo  que  acabamos  de  subir  a  ese  directorio anteriormente. 

6.4 Problemas y soluciones

Pueda ser, que cuando tengamos que instalar los paquetes gftp, cuando tengamos que instalar  el  paquete  gftp_text,  no  podamos  instalarlo.  Si  nos  ocurre,  tendremos  que actualizar el sistema o bien instalando primero el paquete libreadline. 

En el libro, explicaba que teníamos que crear una carpeta llamada ftp y dentro de ella una que se  llamase  Incoming. Esta acción no se podía completar del todo, ya que no nos situaba en el directorio Incoming cuando nos conectábamos por ftp. Se tiene que ir  al  apartado  de  Sistema  >  Usuarios  y  grupos  y  editar  el  usuario  ftp  para  que  el directorio lo cree automáticamente.  

Page 51: Documentacion de servidores linux

7. Servidor de Correo

7.1 Introducción

El servidor de correo, se encarga de gestionar los correos de los usuarios de su dominio o empresa, pudiendo atender miles de correos y poder definir una cantidad  ilimitada de buzones de correo electrónico dentro de un mismo dominio. 

Cuando  un  usuario  de  correo  de  su  dominio  envía  un  correo,  primero  llega  a  su servidor de correo y luego el servidor de correo lo envía al servidor destinatario, donde el mensaje queda almacenado en el buzón del destinatario. Cuando el destinatario se conecte al servidor , este le envía todos sus mensajes pendientes. 

7.2 Fundamentos

Instalar  el  paquete  postfix  desde  synaptic  y  en  el  Terminal  instalar  el  paquete  bsd‐mailx, en el que mandaremos un correo de dos formas: desde el Terminal y otro desde el Webmin.  Descargamos  el  paquete  adovecot‐postfix  desde  el  gestor  de  synaptic, donde posteriormente iniciaremos la aplicación Correo y calendario de Evolution, para configurarlo y enviar o recibir correos de otros usuarios. 

7.3 Desarrollo

Vamos al gestor de paquetes synaptic e instalamos el paquete postfix, en el proceso de instalación, elegiremos la opción Sitio de Internet y hacemos clic en Adelante. 

 

 

- 51 -

Page 52: Documentacion de servidores linux

En  la  siguiente  ventana,  escribiremos  el  nombre  de  nuestro  dominio: servidor.*nombre*2smr.com. 

 

 

 

Una vez terminada la instalación vamos al Terminal y ejecutamos: 

  sudo apt‐get install bsd‐mailx 

 

Enviaremos un correo a un usuario de nuestro sistema para comprobarlo, por ejemplo al  usuario  alumno1  que  ya  teníamos,  podemos  hacerlo  de  dos  formas:  desde  el terminal y desde webmin. 

Terminal: 

  mail alumno1 

En subject estará el asunto, pulsaremos enter y escribiremos el cuerpo del mensaje; cuando  acabemos  de  escribirlo,  pulsamos  otro  enter  y  escribimos  un  punto  y volveremos a pulsar enter. Para otros destinatarios, añadiremos aqui  las direcciones, como sólo lo iremos a enviar a alumno1, pulsaremos enter y se habrá enviado. 

 

 

- 52 -

Page 53: Documentacion de servidores linux

Webmin: 

Hacemos clic sobre Refresh Modules, para mostrar el servidor de correo Postfix. Ahora vamos a  Servidores >  Lectura de Correo de Usuarios. Aquí  vamos a nuestro usuario desde  el  que  enviaremos  el mensaje  a  alumno1. Hacemos  clic  en Componer  nuevo correo y enviaremos el correo de prueba a alumno1. 

En el campo Para, escribiremos alumno1@servidor.*nombre*2smr.com; en el campo Asunto, escribiremos lo que sea y en el campo Message text, el cuerpo del mensaje. 

Una vez terminado, hacemos clic en Enviar Correo. 

 

 

 

Enviado  el  correo,  vamos  a  la  lista  de  usuarios,  como  observamos,  en  el  usuario alumno1, tiene al lado una cifra expresada en kB, hacemos clic en alumno1. 

 

 

 

Como  vemos,  el  usuario  alumno1  ha  recibido  el  correo  desde  el  Terminal  y  desde Webmin. 

- 53 -

Page 54: Documentacion de servidores linux

 

Ahora vamos al Terminal, y ejecutamos: 

  telnet servidor.*nombre*2smr.com 25 

Enviaremos un correo al alumno1 con los siguientes campos: 

Lo primero es  importante escribir HELO en mayúsculas, estos comandos son siempre de 4 dígitos (HELO, MAIL, RCPT). 

MAIL TO: escribiremos nuestro usuario. 

RCPT TO: el usuario destinatario del mensaje. 

SUBJECT: el cuerpo del mensaje. 

QUIT: cierra la conexión. 

- 54 -

Page 55: Documentacion de servidores linux

Ahora vamos a Servidores > Lectura de Correo de Usuarios > alumno1. Como vemos, el correo se ha mandado al usuario alumno1. 

 

 

 

 

 

Hecho  esto,  vamos  a  Servidores  >  DNS  Bind  >  *nombre*2smr.com  >  Servidor  de correo. Agregamos el registro correspondiente como en  la  imagen y hacemos clic en Crear. 

 

 

- 55 -

Page 56: Documentacion de servidores linux

Ya creado el registro anterior, vamos a Servidores > Configuración de postfix, en el que accederemos a las opciones generales. Aquí debemos de quitar una pequeña parte, así que vamos a Opciones Generales más Útiles > Para qué dominios recibir correo. Aquí estará el dominio servidor.*nombre*2smr.com, únicamente quitaremos servidor y se quedará como *nombre*2smr.com, como se ve en la imagen. 

 

 

Ahora mandamos  un  correo  desde  el  cliente  en  el  Terminal  y  ejecutamos  lo  de  la imagen. 

El correo se ha enviado, si desde el servidor, mandamos otro correo, en  la  lectura de correo de alumno1, aparece el nombre de usuario desde el que se ha mandado en vez de desconocido. 

Descargamos  adovecot‐postix  y una  vez  instalado,  vamos  a Aplicaciones  > Oficina  > Correo y calendario de Evolution. Se indicara un proceso de instalación y seguimos los pasos para avanzar. 

- 56 -

Page 57: Documentacion de servidores linux

Avanzamos  sin  tocar nada, hasta  la ventana  Identidad, en el que escribiremos en el campo Dirección de correo‐e, la cuenta de correo del servidor y pulsamos en Adelante (en el campo Organización, no pasa nada si no se escribe nada ya que es un ejemplo). 

En  la ventana Recepción de correo, escribiremos en el campo Servidor, el dominio de correo, en este caso, mail.*nombre de domino* y el usuario. 

- 57 -

Page 58: Documentacion de servidores linux

Avanzamos hasta Envío de correo, donde escribimos de nuevo en el campo Servidor, el nombre de dominio de correo. También activaremos ambas casillas como se ve en  la imagen e introducimos el nombre de usuario. 

En  la  última  ventana,  aplicamos  los  cambios,  aceptamos  el  certificado  ssl  e introducimos la contraseña para acceder a la aplicación. 

En webmin vamos a Servidores > Lectura de Correos de Usuarios y observamos que los correos  anteriores,  han  desaparecido  porque  ahora  indica  otro  directorio.  Esto  es normal,  ya  que  en  el  servidor  acabamos  de  instalar  paquete  adovecot‐postfix.  Nos dirigimos a alumno1 y mandamos un correo desde alumno1 al servidor. 

- 58 -

Page 59: Documentacion de servidores linux

Comprobamos que se haya mandado satisfactoriamente en la aplicación, haciendo clic en Enviar /Recibir. 

Instalamos  la  misma  aplicación  en  el  cliente  con  los  mismos  parámetros  para  el alumno1. 

- 59 -

Page 60: Documentacion de servidores linux

 

 

Ahora vamos a enviar un mensaje desde esta aplicación desde el cliente, por  lo que vamos a Nuevo y redactamos el correo para el servidor. 

Vamos al servidor y comprobamos que nos ha llegado el correo de alumno1. 

- 60 -

Page 61: Documentacion de servidores linux

7.4 Problemas y soluciones

Un problema a  la hora de  realizar  la practica  con  la aplicación de correo, pueda  ser debida a que en la configuración de Envío de correo esté puesto un cifrado SSL, si eso está puesto, no se enviarán los mensajes de correo. 

- 61 -

Page 62: Documentacion de servidores linux

8. Servidor VoIP

8.1 Introducción

VoIP son las siglas de Voice over Internet Protocol (Voz sobre Protocolo de Internet o Telefonía  IP), una  categoría de hardware  y  software que permite  a  la  gente utilizar Internet como medio de  transmisión de  llamadas  telefónicas, enviando datos de voz en paquetes usando el IP en lugar de los circuitos de transmisión telefónicos. 

Una ventaja del VoIP es que  las  llamadas telefónicas a través de  Internet no  incurren en un gasto añadido a lo que el usuario ya paga por el acceso a Internet. 

Hay  muchas  aplicaciones  de  telefonía  por  Internet  disponibles,  una  de  las  más utilizadas es Skype. 

VoIP  digitaliza  la  voz  en  paquetes  de  datos,  enviándola  a  través  de  la  red  y reconvirtiéndola a voz en el destino. El proceso  comienza con  la  señal analógica del teléfono que es digitalizada en  señales PCM  (pulse  code modulación) por medio del codificador/decodificador de voz (codec). Las muestras PCM son pasadas al algoritmo de compresión, comprime la voz y la divide en paquetes que pueden ser transmitidos. En el otro extremo de la nube se realizan exactamente las mismas funciones, pero en un orden inverso. 

8.2 Fundamentos

Descargaremos el paquete asterisk en el servidor de Linux e  instalaremos su módulo en Webmin. 

Actualizaremos  el  equipo  cliente  para  instalar  Ekiga,  un  softphone  que  emula  un teléfono físico. 

En Windows  nos  descargaremos  la  aplicación  Zoiper,  para  realizar  llamadas  a  otros equipos;  lo  configuraremos  para  poder  realizar  estas  llamadas.  También  se  puede instalar SJPhone, sólo admite sip por lo que hemos elegido Zoiper que admite iax y sip. 

- 62 -

Page 63: Documentacion de servidores linux

8.3 Desarrollo

Buscamos en el  servidor el paquete asterisk y  lo  instalamos. En  la ventana  saldrá el número 34, seguimos adelante. 

- 63 -

Page 64: Documentacion de servidores linux

Al  acabar  la  instalación,  reiniciamos  el  servidor  webmin,  y  entramos  en  el,  si  no aparece el modulo CVS en el apartado Servidores, haremos  clic en Refresh modules para que aparezca. 

Nos copiamos desde el CD que vino con el libro el archivo asterisk.wbm.gz 

Vamos  a webmin  >  configuración de webmin  > modulos  de webmin  y buscamos  el archivo asterisk.wbm.gz desde archivo local para posteriormente instalar el modulo. 

Deberá  aparecer en el  apartado  servidores  Thirdlane PBX Manager. Descargamos el paquete  "ekiga"  desde  el  gestor  de  paquetes  synaptic,  que  es  un  softphone,  una aplicación que emula un teléfono físico en la versión cliente. 

Como  tenemos  la versión 9.10 Karmic Koala,  tenemos que actualizar el  sistema a  la versión 10.04.3 LTS, ya que en la versión 9.10 no está soportada el ekiga. 

- 64 -

Page 65: Documentacion de servidores linux

Mientras  tanto, en  la máquina  física descargamos  la aplicación Zoiper, un  softphone para Windows. De momento no lo instalaremos, solamente lo descargaremos. 

Ahora en el servidor, abrimos un Terminal y escribimos: 

  sudo asterisk ‐r 

Iniciaremos con esto el servicio asterisk. 

Veremos los siguientes comandos: 

  core show applications : para ver las aplicaciones. 

  core show functions : para ver las distintas funciones. 

  module show : para ver los módulos que tenemos instalados. 

- 65 -

Page 66: Documentacion de servidores linux

  sip show peers : para ver los usuarios sip que tenemos. Actualmente, como no   hemos añadido ninguno no aparece ningún usuario, más adelante añadiremos   algunos usuarios. 

  iax2 show peers : para ver  los usuarios  iax que tenemos. También añadiremos   algunos más adelante. 

Y  exit  para  salir.  Comprobaremos  que  el  servidor  de  asterisk  está  funcionando mediante el siguiente comando: 

  sudo /etc/init.d/asterisk status 

- 66 -

Page 67: Documentacion de servidores linux

Ahora, vamos a editar unos cuantos archivos, para incluir los usuarios iax y sip. Vamos al Terminal y escribimos: 

  sudo gedit /etc/asterisk/sip.conf 

Añadiremos unos usuarios para posteriormente poder realizar  llamadas con ellos, así que copiamos el mismo código para que funcione (evidentemente con una contraseña distinta  y  usuarios,  siendo  secret  la  línea  para  la  contraseña  y  entre  corchetes  el nombre de usuario). 

Guardamos el archivo sip.conf y volvemos a editar otro archivo ejecutando: 

  sudo gedit /etc/asterisk/iax2.conf 

Y agregamos  los mismos usuarios que en el archivo anterior,  solo que duplicaremos esos usuarios. 

Ej: para el archivo sip.conf el usuario es emilio y para el archivo iax.conf el usuario va ha ser emilio2. 

- 67 -

Page 68: Documentacion de servidores linux

Guardamos el archivo y nos queda lo último por añadir: 

  sudo gedit /etc/asterisk/extensions.conf 

Iremos al final del documento, donde se encuentra entre corchetes "agent extensions" y añadiremos las líneas de la imagen. 

Guardamos  el  documento  e  iniciamos  asterisk  desde  el  Terminal  y  ejecutamos  tres comandos para que se apliquen los cambios correctamente: 

  sip reload 

  sip show peers 

  sip show users 

- 68 -

Page 69: Documentacion de servidores linux

Como vemos, aparecerán  las contraseñas de  las distintas cuentas que hemos creado anteriormente. Luego, ejecutaremos un comando más; module reload chan_iax2.so 

Ahora  veremos  los  usuarios  iax,  como  antes  vimos  los  usuarios  sip,  ejecutando  los mismos comandos: 

  iax2 show peers 

  iax2 show users 

En el que veremos los usuarios iax con sus contraseñas. 

- 69 -

Page 70: Documentacion de servidores linux

Ahora nos vamos a Windows e  iniciamos  la aplicación softphone Zoiper y vamos a  la parte de la izquierda de los iconos, a Herramientas. 

Agregaremos los usuarios iax y sip respectivamente como en la imagen, siendo el que le corresponde  la cuenta de  iax/sip a cada usuario. En el campo Server Hostname/IP, será  la dirección  IP del servidor que va a blindar este servicio de VoIP. Los siguientes dos campos, los rellenaremos con el nombre de usuario y la contraseña del usuario en el servidor al que nos vamos a conectar. 

Ej: Ambas máquinas tiene de usuario a Berto, pero el servidor que lo imparte tiene de contraseña 1234 y nosotros la contraseña Whisper, la contraseña que pondremos ahí será 1234. 

- 70 -

Page 71: Documentacion de servidores linux

En  el  caso  contrario,  nosotros  somos  el  servidor  que  imparte  este  servicio,  pues solamente habrá que poner la dirección IP de nuestro servidor, ya que somos nosotros los que impartimos este servicio.  

Reiniciaremos  los  servicios  de  asterisk  para  que  estos  cambios  puedan  realizarse  y poder hacer llamadas a otros equipos. 

Hecho esto, vamos ha realizar una  llamada, como soy cliente, voy a  llamar al equipo que lo imparte, su usuario iax es el número 104, por lo que en la caja debajo de Phone to dial, escribiremos 104 y posteriormente haremos clic al símbolo del teléfono. Estos números para  llamar, se encuentran en el archivo extensions.conf que configuramos anteriormente, para saber los usuarios sip y los usuarios iax. 

- 71 -

Page 72: Documentacion de servidores linux

Aquí escribimos el Nº que corresponde a ese usuario de iax/sip.

Haremos clic aquí para iniciar una llamada a otro equipo. 

Si  recibimos  una  llamada,  aparecerá  el  nombre  del  usuario  que  está  realizando  la llamada entrante. 

Podemos hacer  lo mismo para una cuenta de usuario sip, solo que el nº del usuario para llamar, tendrá que ser el de usuario sip y no el de iax, en mi caso, sería ahora a la 101. 

- 72 -

Page 73: Documentacion de servidores linux

- 73 -

8.4 Problemas y soluciones

Hay que instalar el softphone Ekiga, lo que ocurre, es que tendremos que actualizar el sistema para poder instalarlo, por que el sistema operativo no encuentra ese paquete a  instalar.  De  momento  no  lo  usaremos,  pero  lo  actualizaremos  para  usarlo próximamente. 

Un problema común, es cuando hemos realizado los cambios en los archivos sip.conf, iax.conf y extensions.conf, es no reiniciar los servicios de asterisk para poder llamar a a otros equipos a  través del softphone Zoiper. Ya reiniciado el servidor asterisk, si que podemos realizar llamadas. 

A la hora de crear la cuenta, puede haber una confusión en la parte de la creación de cuentas  iax/sip en  la  zona de contraseña. Si ejercemos como cliente para acceder al servicio de otro equipo que  lo  imparte, tendremos que poner  la contraseña que haya puesto  el  otro  equipo  para  nuestra  cuenta,  ya  que  si  ponemos  la  contraseña  que hemos puesto nosotros mismos, no nos funcionará. 

Con  el  programa  SJPhone,  hemos  tenido  varios  problemas,  por  lo  que  no  hemos podido profundizar a  realizar  llamadas de  tipo  sip, por  lo que hemos elegido Zoiper que funcionaba correctamente y admite llamadas tipo iax y sip.