You are on page 1of 39

 

 
 

 
 
 
 
 
CURSO ZEROSHELL 
 

   

Curso ZeroShell              Página 1 
 
 

QUE ES ZEROSHELL 

Zeroshell es una distribución Linux para servidores y dispositivos embebidos, que provee de servicios 
de  red.  Es  un  Firewall  gratuito  que  tiene  las  características  de  los  de  los  equipos  complejos  de 
seguridad. 

Sus principales características son: 

 Balanceo de líneas y tolerancia a fallos con conexiones multiples de internet 
 Conexiones UMTS y HSDPA utilizando módems 3G 
 Servidor de autentificación radius 
 “Captative  Portal”.  Portal  de  validación  web  para  redes.  El  usuario  debe  validarse  antes  de 
poder navegar. 
 QoS (Calidad de servicio). Permite configurar el tráfico de la red para garantizar un ancho de 
banda mínimo 
 HTTP Proxy transparente. 
 Punto de acceso wireless 
 Host to Lan VPN. VPN cliente 
 Lan to Lan VPN. VPN entre servidores 
 Router con rutas dinámicas y estáticas 
 Soporte de lan Virtual 
 Filtro de paquetes, incluido en tráfico P2P 
 Traducción de direcciones (NAT) 
 TCP/UPD Port Forwarding para la publicación de servidores internos 
 Servidor DNS multizona 
 Cliente PPPoE para la conexión xDSL 
 Cliente DNS dinámico 
 Autenticación Kerberos 5 
 Autenticación LDAP, NIS y RADIUS 
 Sincronización con Active Directory 
 Entidad certificadora X509 

Zeroshell es una distribución “Live CD”. Esto significa que no es necesario instalarlo en el disco duro 
para que funcione, ya que es capaz de funcionar desde el CD‐ROM. Logicamente la base de datos de 
configuración, que contiene los datos de la red, puede ser almacenada en discos ATA, SATA, SCSI y 
USB. 

Dispone de un sistema de actualizaciones on‐line 

Se  puede  descargar  para  formatos  en  tarjetas  Compact  Flash  para  instalarla  en  dispositivos 
embebidos. 

Curso ZeroShell              Página 2 
 
 

Zeroshell  dispone  de  un  interfaz  web  para  su  configuración,  pero  también  puede  ser  administrado 
desde un terminal remoto (ssh) 

Zeroshell no está basado en ninguna distribución de Linux, como por ejemplo Ubuntu está basado en 
Debian. 

Se pueden descargar los diferentes paquetes que lo forman, para adaptarlo a nuestro hardware 

Que es Zeroshell. Características 

INSTALACIÓN DE ZEROSHELL 

Debemos introducir el CD de instalación descargado. Este manual recoge la distribución  ZeroShell-
1.0.beta12.iso, pero instalada en una maquina virtual. 

Una vez iniciado el sistema con el CD dentro, accedemos a la pantalla de inicio de sesión. Por defecto 
Zeroshell se instala con la dirección ip 192.168.0.75. 

La pantalla inicial de configuración que veremos después de la instalación es: 

Lo primero que debemos hacer es cambiar la contraseña de acceso. EL nombre de usuario es admin 
y por defecto no tiene clave. 

Pulsamos sobre la letra P para introducir la contraseña. 

Una  vez  cambiada  la  contraseña  accedemos  a  la  pantalla  de  configuración  via  web,  ya  que  es  más 
amigable que la administración por línea de comandos. 

Curso ZeroShell              Página 3 
 
 

Debemos de tener en cuenta que para administrar Zeroshell via web, debemos de tener en nuestro 
equipo una dirección IP del mismo rango. 

En la primera pantalla de administración, introducimos el usuario y la clave (usuario admin, clave la 
que hemos introducido) 

Curso ZeroShell              Página 4 
 
 

GUARDAR CONFIGURACION 

Zeroshell permite su instalación en el disco duro, pero en este manual vamos a tratar la distribución 
Live  con  la  configuración  guardada  en  el  disco  duro.  Si  no  hiciésemos  esto,  cada  vez  que 
arrancásemos el sistema, iniciaría una nueva instalación de Zeroshell.  

Este sistema tiene grandes ventajas, ya que podemos guardar distintas configuraciones para realizar 
pruebas. 

Dado que nuestro sistema es una maquina virtual, y el disco duro esta creado pero no configurado, 
debemos  crear  una  partición  en  nuestro  disco  duro  virtual.  Esta  operación  no  es  necesaria  en 
aquellos equipos en los que veamos una partición en el menú “PROFILE” 

Para crear a partición, realizaremos las siguientes acciones 

Marcamos  la  partición  con  la  etiqueta  “Model:  VMware,  VMware  virtual  S  (SDA)”    para  que  nos 
aparezca el menú de acciones que podemos realizar. 

Curso ZeroShell              Página 5 
 
 

A continuación hacemos clic en el botón “New Partition” para acceder a la ventana de creación de 
partición en el disco duro virtual 

En esta pantalla vamos a crear una partición para almacenar nuestra configuración. EL formato de la 
partición, será Extended 3 y el tamaño el Máximo disponible. (Opciones por defecto). Una vez creada 
la partición, nos aparecerá la página  de “PROFILES” con la nueva partición creada. 

Curso ZeroShell              Página 6 
 
 

Para crear un perfil, debemos de seleccionar la partición que hemos creado (sda1) y nos aparecerá el 
menú para crear nuestro perfil 

Pulsamos sobre el botón de “Create Profile” para que nos aparezca la ventana de creación de perfil, 
donde nos solicitará los datos necesarios. 

Los  datos  que  introduciremos  en  esta  pantalla  serán  los  datos  que  se  guardarán  en  el  perfil,  y 
nuestro sistema se iniciará con esa configuración. 

Description:   La  descripción  del  perfil,  por  si  tenemos  varios  perfiles,  poder  identificarlos 
correctamente 

Hostname:  El  nombre  DNS  que  tendrá  nuestra  máquina.  Introduciremos  zX.demoX.es. 
Las X hay que sustituirla por el número de equipo del aula 

Curso ZeroShell              Página 7 
 
 

Kerberos 5:    demoX.es 

LDAP Base:    dc=demoX,dc=es 

Admin password:  La clave de administrador que queramos 

Confirm password:  La confirmación de la clave introducida 

Ethernet interface:  Seleccionaremos el interface a utilizar en la red interna 

IP Adress/ Netmask  La configuración IP de nuestra tarjeta de red 

Default Gateway:  Puerta de enlace de nuestra conexión. 

Una  vez  introducidos  estos  datos,  pulsamos  sobre  el  botón  “CREATE”  situado  en  la  parte  superior 
derecha, y nos aparecerá la pantalla de “PROFILES”, con la información del perfil creado 

Para activar este perfil debemos seleccionar _DB.001 

Y nos aparecerá el menú de activación de perfil.  

Curso ZeroShell              Página 8 
 
 

Pulsaremos sobre el botón de “ACTIVATE” para activar el perfil que creamos. 

Nos aparecerá la pantalla de activación de perfil, indicándonos que no está activo. 

Pulsaremos sobre el botón “ACTIVATE”. 

El sistema se reiniciará con la configuración que hemos creado. 

INSTALACIÓN DE ZEROSHELL EN EL DISCO DURO 

Para la instalación en el disco duro, debemos bajar el fichero para tarjeta “IDE, SATA y discos USB” de 
la página web http://www.zeroshell.org. Este fichero se encuentra en la sección de downloads. 

Necesitamos  tener  instalado  un  cliente  ssh  para  acceder  al  sistema  y  poder  copiar  la  imagen  en 
nuestro disco duro. 

Curso ZeroShell              Página 9 
 
 

Para  acceder  remotamente  a  nuestro  Zeroshell,  debemos  habilitar  la  opción  que  nos  permitirá 
administrarlo remotamente. Accedemos a la opción “SSH” del menú principal 

Y nos aparecerá la pantalla de activación del acceso remoto 

Por  defecto  nos  muestra  que  el  acceso  está  concedido  para  la  red  en  la  cual  tenemos  instalado 
nuestro  Zeroshell.  Podemos  configurar  otras  redes  para  que  puedan  administrar  remotamente  el 
sistema. 

En esta pantalla debemos marcar la opción “Enabled” y después pulsar sobre el botón “SAVE” para 
guardar la configuración. 

A continuación podemos acceder con un cliente ssh (putty) a nuestro sistema. Debemos introducir el 
usuario y clave del sistema (usuario admin, y la clave introducida al crear el perfil). 

Al no tratarse de un sistema Linux  convencional, una vez introduzcamos el usuario y la contraseña 
accederemos al menú de configuración basado en texto. 

Curso ZeroShell              Página 10 
 
 

Una vez que nos aparece el menú, tecleamos la letra S para acceder a la Shell. Aunque Zeroshell no 
está basado en ninguna distribución Linux en concreto, soporta casi todos los comandos de cualquier 
sistema Linux. 

Introduciremos la llave usb con el fichero descargado en el sistema, y ejecutamos el comando fdisk –l 
para que nos muestre las particiones.  

En este ejemplo, Zeroshell está instalado en /dev/hda1 y la llave usb está en /dev/sda1 

A  continuación  debemos  montar  la  llave  USB  en  un  directorio,  para  poder  proceder  a  la  copia  del 
archivo de imagen. Para ello ejecutaremos los siguientes comandos en la consola: 

Curso ZeroShell              Página 11 
 
 

Una vez montada la llave USB, procederemos a la copia de la imagen 

Debemos extraer el CD del sistema, para que al arrancar utilice la imagen que hemos cargado en el 
disco  duro  del  ordenador.  AL  realizar  esta  acción,  si  habíamos  configurado  un  perfil,  este  se 
eliminará, ya que la imagen sobrescribirá toda la información del sistema. 

CONFIGURACIÓN DE LA RED 

En el siguiente esquema, mostramos una configuración de red típica, que vamos a realizar a través 
de un sistema con Zeroshell 

Curso ZeroShell              Página 12 
 
 

En una red típica, tenemos una salida a internet, probablemente unida a un router xDSL o de Cable, 
por  lo  que  tendremos  que  configurar  la  correspondiente  tarjeta  de  red  del  equipo  que  tiene 
instalado Zeroshell para que se conecte al router de salida. 

Para ello accedemos al menú “NETWORK” y seleccionamos el interface ETH1 

Una vez seleccionado el interface, pulsamos sobre el botón “ADD IP” para añadirle una dirección IP 
que esté dentro de la red del router de salida. 

Se debe consultar la documentación adjunta para ver que direcciones IP tenemos que introducir 

Una vez guardados los campos, volvemos a la pantalla de NETWORK donde veremos nuestros dos 
interfaces de red con su correspondiente dirección IP.

Curso ZeroShell              Página 13 
 
 

A continuación, configuraremos nuestro router para que nos permita la salida a internet realizando 
NAT (Traducción de direcciones) entre la red interna y la externa. Para ello debemos comprobar que 
el Gateway es el correcto. 

Accedemos  al  menú  del  Gateway  pulsando  sobre  el  botón    “GATEWAY”,  y  configuraremos  la 
dirección IP de nuestra salida a internet. Generalmente esta dirección suele ser la de nuestro router 
xDSL o de cable. 

A continuación configuraremos la traducción de direcciones de los interfaces de red. Como nuestra 
red interna está conectada al interfaz ETH00, debemos configurar nuestra red, para que haga NAT 
sobre el interface ETH01 

Accedemos al menú de la izquierda “ROUTER” y nos aparece la siguiente pantalla 

Curso ZeroShell              Página 14 
 
 

Accediendo al menú “NAT” veremos una pantalla donde nos indica los interfaces de red de nuestro 
equipo, debiendo seleccionar el interface ETH01 

Guardamos los cambios y a continuación comprobamos que desde nuestra red podemos acceder a 
alguna dirección de internet. 

CONFIGURACIÓN DEL SERVIDOR DHCP 

EL servidor DHCP es un servidor que asigna dinámicamente direcciones IP a los equipos de nuestra 
red, con todos los datos necesarios para que no tengamos que configurar nada. Es muy útil ya que 
nos olvidamos de que cada vez que unamos un equipo a la red, tengamos que configurarlo con su 
dirección IP, su puerta de enlace y  los servidores DNS. 

También podemos asignar a los equipos siempre la misma dirección IP, ya que el servidor DHCP nos 
permitirá asignarlas en función de las direcciones MAC de las tarjetas de red. 

Para  configurar  el  servicio  DHCP,  accedemos  al  menú  “DHCP”  situado  a  la  izquierda  y  veremos  la 
siguiente pantalla 

Curso ZeroShell              Página 15 
 
 

En este momento no tenemos ningún rango de direcciones configurado para que el servidor las 
asigne a los equipos.  

Vamos a asignar las direcciones IP de la 50 a la 99, siguiendo las instrucciones de red que figuran en 
el manual, indicando también cual es la puerta de enlace (dirección IP interna de Zeroshell) y el 
servidor DNS (dirección IP interna de Zeroshell) 

Debemos crear una subred para poder asignar direcciones IP a nuestra red. Pulsamos sobre el botón 
“NEW” en la esquina superior derecha y seleccionamos el interface ETH00, que es el de nuestra red 
interna. 

Curso ZeroShell              Página 16 
 
 

Pulsamos  sobre  el  botón  “OK”  para  configurar  los  rangos  de  direcciones  que  se  asignarán  a  los 
clientes 

Debemos marcar “Enabled” y pulsar sobre el botón “SAVE”  

A partir de este momento, cuando encendamos un equipo, nuestro router Zeroshell le asignará una 
dirección IP con los datos que hemos configurado en nuestro servidor. 

   

Curso ZeroShell              Página 17 
 
 

SERVIDOR DNS 

No es necesario configurar el servidor DNS de Zeroshell, pero si activarlo, salvo que queramos tener 
un DNS propio en nuestra red y no utilizar el que nos facilita nuestro proveedor de internet. 

La creación de un servidor DNS no es una tarea sencilla, por lo que no está al alcance de este manual. 
De  todas  formas,  cualquier  usuario  que  esté  familiarizado  con  los  servidores  DNS  podrá  crear 
fácilmente las zonas necesarias y dar de alta los nombres a través del interfaz web de Zeroshell. 

CONFIGURACIÓN DE RUTAS ESTÁTICAS 

Supongamos  que  tenemos  que  en  nuestra  ubicación  hay  dos  redes  diferentes.    Lo  que  debemos 
configurar    es  que  cualquier  petición  que  no  vaya  a  nuestra  red,  adonde  debe  de  ir.  Por  defecto, 
cualquier conexión que hagamos a una dirección IP ajena a nuestra red interna, Zeroshell tratará de 
enviarla por el Gateway (puerta de salida) que le hemos indicado en la configuración. 

Si  debemos  acceder  a  otro  departamento,  cuyas  direcciones  IP  son  del  tipo  172.0.0.1,  debemos 
decirle a nuestro router que si alguien accede a alguna de estas direcciones IP, en vez de enviarla por 
el Gateway, la envíe a la red de destino. 

Lógicamente, para este supuesto, debemos de tener tres interfaces de red en nuestro sistema. No es 
necesario que sean tres interfaces de red físicos, si no que pueden ser dos interfaces de red físicos y 
una VPN entre servidores. 

Abordaremos la  creación de rutas estáticas en el capítulo de creación de VPN entre servidores, a que 
haremos un ejemplo práctico. 

CONFIGURACIÓN DEL PROXY TRANSPARENTE 

En este apartado, configuraremos un proxy transparente con antivirus para filtrar los contenidos que 
nuestros usuarios descargan de internet. 

Las páginas Web son cada vez más los medios más frecuentes por los que los gusanos y los virus se 
propagan  en  la  Internet.  Ya  sea  intencionalmente  o  porque  son  vulnerables  y  por  lo  tanto 
modificables  sin  el  conocimiento  de  sus  autores,  las  páginas  Web  a  veces  tienen  referencias  de 
código ejecutable que puede infectar a los usuarios. Además, la situación ha empeorado desde que 
una serie de vulnerabilidades en el sistema de visualización de las imágenes ha permitido a los virus 
portarse dentro de archivos JPEG.  

La mejor solución para este tipo de problema es proporcionar a todos los dispositivos cliente que se 
conectan  a  Internet  con  un  buen  programa  antivirus  con  protección  en  tiempo  real,  comprobando 
todos los archivos de entrada. Sin embargo, esto puede no ser suficiente por dos razones: 

 ningún programa antivirus, incluso los que sí tienen firma de mecanismos de actualización, 
puede proporcionar una garantía del 100% contra todos los virus 

Curso ZeroShell              Página 18 
 
 

 la  verificación  en  tiempo  real  del  contenido  entrante  es  bastante  pesada  en  términos  de 
cálculo  y  en  particular  en  los  dispositivos  cuyo  funcionamiento  no  es  demasiado  bueno, 
puede  ralentizar  el  sistema  hasta  el  punto  de  hacer  que  los  usuarios  deshabiliten  la 
protección en tiempo real del antivirus. 

Por estas razones, el chequeo de virus se realiza cada vez más en capas superiores, antes que virus 
potenciales puedan llegar los usuarios. En otras palabras, los sistemas centralizados de antivirus se 
utilizan en los servidores que ofrecen un servicio en particular. El ejemplo más extendido es el de los 
servidores  de  correo  electrónico,  que  tienen  un  sistema  que  analiza  los  mensajes  entrantes  y 
salientes  a  través  de  SMTP  y  analizan  los  archivos  adjuntos  en  busca  de  virus.  En  este  caso,  la 
aplicación  de  verificación  de  antivirus  en  una  puerta  de  enlace  SMTP  es  muy  natural,  ya  que  los 
correos electrónicos están obligados a pasar por ella, antes de llegar al buzón del usuario. 

Para el servicio HTTP, esto no es tan insignificante, ya que un cliente potencial de Internet se puede 
conectar directamente a cualquiera de los servidores Web disponibles en Internet. La solución a este 
problema consiste en la introducción de un nivel de aplicación de puerta de enlace a la red local para 
recoger  las  peticiones  HTTP  de  clientes  y  los  remitirá  a  los  servidores  Web  pertinentes.  Este 
aplicación de puerta de enlace se denomina Proxy Web y ya que es capaz de interpretar el protocolo 
HTTP,  no  sólo  filtra  sobre  la  base  de  las  URL  sino  que  también  puede  controlar  el  contenido 
transportado (HTML, JavaScript, Java Applet, imágenes,...) y los explora en busca de virus.  

Una de las funciones más comunes de los Proxy hasta el momento han sido las cachés Web, es decir, 
archivos  almacenados  de  las  páginas  Web  que  ya  han  sido  visitadas,  con  el  fin  de  acelerar  la 
visualización  de  las  mismas  URL  para  las  solicitudes  posteriores.  El  objetivo  de  esto  es  también 
reducir  el  consumo  de  ancho  de  banda  en  Internet  y  uno  de  los  más  conocidos  Proxy,  capaz  de 
realizar funciones de Web Cache es Squid, distribuido con licencia Open Source. 

Zeroshell  no  se  integra  con  Squid,  ya  que  no  recoge  las  páginas  Web.  La  tarea  de  un  programa  de 
antivirus  centrada  en  la  red  y  el  filtrado  de  contenidos,  utilizando  las  listas  negras  de  URL,  es 
manejado  por  HAVP  como  sistema  de  representación  y  ClamAV  como  antivirus.  Ambos  se 
distribuyen bajo licencia GPL. 

Uno de los mayores problemas cuando se utiliza un servidor Proxy es la de la configuración de todos 
los  navegadores  Web  para  usarlo.  Por  tanto,  es  necesario  especificar  su  dirección  IP  o  nombre  de 
Host y el puerto TCP en el que responde (por lo general el puerto 8080). Esto podría ser una carga en 
el caso de redes de área local con numerosos usuarios, pero peor aún, no se podría garantizar que 
los  usuarios  no  eliminen  esta  configuración  para  obtener  acceso  directo  a  la  Web,  evitando  así  la 
verificación de antivirus, el registro de acceso y listas negras. 

Para  resolver  este  problema,  Zeroshell  utiliza  el  modo  de  Proxy  transparente  que  implica 
automáticamente la captura de las solicitudes de cliente en el puerto TCP 80. 

Obviamente,  para  Zeroshell  poder  captar  estas  peticiones  Web,  debe  ser  configurado  como  un 
Gateway de la red, de modo que el tráfico de Internet de los cliente pase a través de ella. Zeroshell 
automáticamente captura las peticiones HTTP si se trata de un nivel 2 de puerta de enlace (puente 
entre Ethernet, WiFi o la interfaz VPN) o de la capa 3 de puerta de enlace (enrutador). Sin embargo, 
es importante especificar las interfaces de red IP o subredes a las que las solicitudes deben ser  

Curso ZeroShell              Página 19 
 
 

redirigidas.  Esto  se  hace  mediante  la  adición  de  las  llamadas  HTTP  Capturing  Rules  (Reglas  de 
Capturas de HTTP). 

Accedemos al menú “HTTP Proxy” que está situado a la izquierda. 

Vamos a configurar nuestro sistema para que intercepte las peticiones que pasan por la interfaz de 
red ETH00, que es nuestra red interna. 

Para ello pulsamos sobre el botón “+” 

Curso ZeroShell              Página 20 
 
 

Dejamos en blanco el campo de “Source IP” y “Destination IP” ya que queremos que capture todas 
las peticiones de la red. Al guardar, accederemos a la pantalla  inicial del Proxy transparente 

Debemos  pulsar  sobre  el  botón  “SAVE”  para  activar  el  servicio.  Automáticamente  Zeroshell 
actualizará  la  base  de  datos  de  definiciones  de  antivirus  (se  puede  comprobar  pulsando  sobre  el 
botón “Update Log”. 

Si queremos ver las peticiones que hacen nuestros usuarios, debemos activar la opción “Any access” 
en el elemento “Access Logging  (check the law in your country)” 

Curso ZeroShell              Página 21 
 
 

No es recomendable tener esta opción activada, ya que generaría mucha información en los logs de 
nuestro sistema, y lo volvería más lento. 

En lo relativo al antivirus, nuestro sistema comprobará las definiciones de virus cada 12 horas, y si 
hay  alguna  novedad  las  actualizará.  Debemos  seleccionar  en  la  lista  de  “Country  of  the  Mirror”  a 
“Spain” (“España”) 

Para  probar  si  nuestro  antivirus  funciona  correctamente,  podemos  acceder    a  la  página 
http://www.eicar.org/anti_virus_test_file.htm  y  descargar  alguno  de  los  virus  de  ejemplo  que 
aparecen en la página y observaremos que nuestro sistema lo intercepta y nos avisa de él. 

Aparte  de  tener  nuestra  red  parcialmente  protegida  para  las  descargas  de  los  usuarios,  también 
podemos agregar listas negras y blancas.  

Una lista negra son direcciones de páginas web que no queremos que nuestros usuarios vean. Una 
lista blanca son direcciones de páginas web que permitimos a nuestros usuarios que accedan.  Estas 
dos opciones aparecen deshabilitadas por defecto. 

Lo  normal  es  configurar  las  listas  negras  con  sitios  web  que  sepamos  que  van  a  generar  tráfico  no 
deseado (sitios de descargas P2P, youtube, etc) 

En el caso de que algún usuario acceda a un sitio web que este en nuestra lista negra, le aparecerá 
una pantalla como la que sigue: 

   

Curso ZeroShell              Página 22 
 
 

CONFIGURACION DE LA AUTORIDAD CERTIFICADORA PARA LAS CONEXIONES REMOTAS 

Accedemos al menú de la izquierda “X509” y a continuación accedemos al menú “SETUP” 

Dentro de este apartado introducimos los datos de nuestra autoridad certificadora (CA) para poder 
emitir certificados de usuario validándose contra nuestra CA 

Si tuviésemos algún usuario creado, al crear una nueva autoridad certificadora, los certificados que 
hubiésemos emitidos, no valdrían. 

CREACIÓN DE USUARIOS 

Vamos a crear un usuario para conectarnos vía VPN. 

Accedemos al menú “USERS” y a continuación al menú “ADD” para introducir los datos del usuario 
que vamos a crear. 

Al  crear  el  usuario,  nos  creará  automáticamente  el  certificado  de  usuario  en  base  a  la  autoridad 
certificadora que hemos creado. 

Curso ZeroShell              Página 23 
 
 

A continuación, vamos a configurar un equipo Windows para acceder remotamente a nuestra red.  

ACCESO REMOTO. VPN CLIENTE L2TP/IPSEC 

Una vez hemos creado nuestro usuario, vamos a exportar el certificado de la CA y el certificado de 
usuario, ya que tenemos que instalarlos en Windows para poder realizar una VPN con este sistema 
operativo sin la necesidad de instalar software adicional. 

Debemos exportar el certificado en formato PEM (autoridad certificadora) y en formato 
PFX(certificado de usuario), guardándolos en nuestro equipo. 

   

Curso ZeroShell              Página 24 
 
 

Una  vez  guardados  en  nuestro  equipo,  procedemos  a  la  configuración  de  Windows.  Debemos 
guardar los certificados en el almacén de certificados del equipo. 

Cargamos el complemento de certificados de Windows, ejecutando Inicio  Ejecutar  mmc 

Mediante esta aplicación vamos a cargar el complemento de certificados. 

Archivo  agregar o quitar complemento 

Curso ZeroShell              Página 25 
 
 

Curso ZeroShell              Página 26 
 
 

Pulsamos  sobre  el  botón  aceptar  de  las  diferentes  pantallas  que  tenemos  abiertas  hasta  que  nos 
quedemos en la siguiente pantalla. 

A  continuación  importaremos  los  certificados  en  el  almacén  “personal”.  En  el  caso  de  que  no 
funcione  la  VPN,  debemos  comprobar  que  estos  certificados  también  existen  en  la  carpeta 
“Entidades  emisoras  raíz  de  confianza”.  Si  no  existiesen,  debemos  importarlos  también  en  esta 
carpeta. 

Para importar, nos posicionamos sobre las carpetas indicadas y con el botón derecho realizamos la 
importación 

Curso ZeroShell              Página 27 
 
 

Una vez importados los certificados, procedemos a la creación de la VPN.  

Accedemos al panel de control   Conexiones de red  crear una conexión nueva 

Curso ZeroShell              Página 28 
 
 

Seleccionamos conectarse a la red de mi lugar de trabajo, siguiente y conexión de red privada virtual. 

Debemos introducir un nombre para identificar nuestra conexión y en la siguiente pantalla introducir 
la dirección IP, o el nombre DNS de la maquina a la que nos queremos conectar. En nuestro caso será 
la dirección IP externa de nuestra máquina Zeroshell. (Consultar la documentación) 

Curso ZeroShell              Página 29 
 
 

Pulsamos sobre el botón siguiente para finalizar el asistente. 

A continuación debemos introducir los datos de usuario y contraseña que creamos para poder 
conectarnos, teniendo cuidado en que los datos que introduzcamos son sensitivos a las mayúsculas y 
minúsculas. 

Si la conexión es satisfactoria, deberíamos ver un globo informativo en la parte inferior derecha de 
Windows. 

A partir de ahora, podemos conectarnos a cualquier máquina de nuestra red de la oficina como si 
estuviésemos físicamente en ella. 

Curso ZeroShell              Página 30 
 
 

ACCESO REMOTO. VPN CLIENTE OPENVPN 

Por defecto, en toda instalación de Zeroshell, existe un interfaz denominado VPN99. Esta interfaz se 
puede ver en el menú “NETWORK”. 

Este interfaz está deshabilitada por defecto. Para activarla, debemos de configurar nuestro sistema 
para que acepte estas conexiones. 

Para activar las conexiones remotas accedemos al menú “VPN” y activamos esta funcionalidad 

A  partir  de  este  momento,  nuestros  usuarios  podrán  conectarse  a  la  red  protegida  por  Zeroshell 
como si estuviese dentro de la red interna. 

En  función  del  tipo  de  autentificación  que  hayamos  seleccionado,  debemos  configurar  el  cliente 
OpenVPN de una forma u otra. 

Curso ZeroShell              Página 31 
 
 

El  cliente  VPN  se  puede  descargar  de  http://www.openvpn.net,    o  una  versión  con  GUI  (interfaz 
gráfico) desde http://openvpn.se/. Esta última es la que vamos a descargar y configurar. 

Una  vez  descargado  el  software  lo  instalamos  en  nuestro  equipo.  EL  programa  creará  un  interfaz 
virtual en nuestra configuración de red, que lo utilizará en nuestras conexiones de VPN. 

En la página de downloads de Zeroshell, tenemos la configuración para utilizar con Zeroshell. A este 
fichero, solo tenemos que decirle cual es nuestro método de autentificación, y si es con certificado 
de usuario, decirle donde está.  

Este  fichero  puede  descargarse  de  http://www.zeroshell.net/eng/download/zeroshell.ovpn  y 


guardarlo en la carpeta config con nuestros certificados. 

También  necesitamos  el  certificado  raíz  de  nuestro  Zeroshell.  Para    descargarlo  accedemos  a  la 
página inicial del Zeroshell, y sin hacer login, en la parte superior derecha tenemos un enlace para 
descargar la CA. Este fichero debemos de guardarlo en la carpeta config. 

A continuación editamos el fichero Zeroshell.ovpn, y lo configuramos siguiendo las instrucciones que 
en él aparecen.  

Curso ZeroShell              Página 32 
 
 

Debemos  configurar  la  dirección  remota  de  la  maquina  Zeroshell,  el  tipo  de  autentificación  que 
vamos a utilizar, y en el caso de que sea exclusivamente con certificado, indicarle donde está nuestro 
certificado. 

Configuración con usuario y contraseña: 

Configurar Zeroshell para  que use autentificación solo con contraseña 

Modificar el fichero de conexión con los datos correspondientes 

   

Curso ZeroShell              Página 33 
 
 

Configuración con certificado 

Configurar Zeroshell para que la autentificación sea solo con certificado X509 

Debemos seleccionar en “Autentication”  la CA de servidor con la que vamos a validar los 
certificados de los usuarios. 

Modificar el fichero de conexión con los datos correspondientes 

Curso ZeroShell              Página 34 
 
 

VPN LAN TO LAN 

Otra de las características importantes de Zeroshell, es que nos permite unir dos sistemas remotos 
permanentemente. El caso más implementado es la de unir dos oficinas remotas, para que todas sus 
datos vayan encriptados a través de un túnel 

Menu VPN Lan to Lan  New Vpn 

En “Remote Host” introducimos la dirección IP del equipo remoto al que queremos conectar. EL 
puerto será el 1195 con protocolo TCP. Uno de los equipos actuará como “Server” y otro como 
“Client” 

Configuramos la VPN con autentificación “Pre‐Shared‐Key”. Generamos una clave con el botón 
“GenKey” y copiamos la clave en los dos equipos. 

Guardamos la configuración, y deberemos de ver que la conexión está activa 

Curso ZeroShell              Página 35 
 
 

A continuación debemos añadir una dirección IP al interfaz VPN00. Esta dirección IP es una dirección 
cualquiera, teniendo que ser de los rangos específicos para las redes internas, pero que no se utilice 
en ningún interfaz de nuestro Zeroshell. Se utilizará para enrutar el tráfico entre las dos VPN. 

El paso más crítico es el de configurar la ruta estática para enrutar el tráfico por el túnel. 

Accedemos al menú “ROUTER”, y a continuación pulsamos sobre el botón “Add” para añadir una 
nueva ruta 

En “Destination” introducimos la red remota, en “Netmask” la máscara de red. En “Gateway” 
DEBEMOS INTRODUCIR LA DIRECCIÓN IP UTILIZADA EN EL INTERFAZ VPN00 DE LA RED REMOTA, y la 
métrica es 0. 

Una vez guardados los cambios, debemos de ver en la pantalla la ruta creada. A continuación 
realizamos un ping a una maquina remota para comprobar que responde a nuestra petición. 

Curso ZeroShell              Página 36 
 
 

PUBLICACIÓN DE SERVIDORES INTERNOS 

Podemos publicar un servidor interno de nuestra red, haciéndolo accesible desde internet a través 
del menú “ROUTER” pulsando sobre el botón “Virtual Server” 

Debemos  indicar  el  interfaz  sobre  el  que  capturar  las  peticiones,  la  dirección  IP  que  esperamos,  el 
protocolo y el puerto. 

A su vez debemos de indicar cuál será la dirección IP de destino y el puerto. 

CONFIGURACIÓN DE MODEMS 3G 

Zeroshell soporta la mayoría de módems 3G en dispositivo USB. En concreto la marca Huawei, que 
son los que distribuyen las operadoras de telefonía en España, son reconocidos. 

Debemos  introducir  el  dispositivo  USB  en  el  sistema,  y  a  continuación  acceder  al  menú  “SETUP”  y 
pulsando el botón “Network” accedemos a los dispositivos de red. Debemos pulsar sobre el botón 
“New 3G Modem”. 

   

Curso ZeroShell              Página 37 
 
 

En el campo “Modem connected to” debemos seleccionar el puerto en el que está el modem. Por 
desgracia,  los  dispositivos USB  comentados  tienen  4  puertos,  y  no  se  identifican  de  ninguna  forma 
para saber sobre el cual está el modem 3G. La única manera es el método de Prueba y Error hasta 
conseguir que el dispositivo conecte. 

En el campo “APN” deberemos de poner el de nuestro operador. 

Buscando  en  google  APN  3G  movistar,  encontramos  que  para  movistar  es  “movistar.es”.  Buscando 
Vodafone, encontramos que el APN de Vodafone es “ac.vodafone.es”. 

Si  nuestra  modem  3G  nos  pide  PIN,  podemos  introducirlo  en  “optional  AT  string”  de  la  siguiente 
forma: 

AT+CPIN=XXXX donde XXXX es el PIN 

La opción más práctica es tener guardado el PIN en el módem 3G para que no nos lo pida. 

Al guardar la conexión, debemos de ver nuestro interfaz de red 3G como cualquier otro interfaz de 
red. 

   

Curso ZeroShell              Página 38 
 
 

 
 
 
http://www.nomatch.es 
 
soporte@nomatch.es 

Curso ZeroShell              Página 39