1.   
Abrir Puerto en el Firewall

 
Antes de nada indicar que hay que redireccionar un puerto en
el firewall a la máquina que pongamos con Ubuntu. Normalmente suele ser el
puerto 1194 en UDP.

 
 
 
 
 
 
 
 
 
 
 
 

2.   
Instalar el Ubuntu Server

 

3.   
Configurar IP Fijas (si no las hemos configurado
durante la instalación de Ubuntu)

 
Editar el archivo con:
sudo nano
/etc/network/interfaces
y escribir esto en el archivo:
# The primary network interface
auto eth0
iface eth0 inet static
address 10.10.1.xxx (ip del servidor de OpenVPN en
la red principal)
netmask 255.255.255.0 (mascara de la red ppal)
network 10.10.1.0 (red ppal acabada en 0)
broadcast 10.10.1.255 (red ppal acabada en 255)
gateway 10.10.1.xxx (puerta enlace red ppal)
dns-nameservers 10.10.1.xxx
10.10.1.xxx (DNS de red
ppal)
dns-search xxxxxxxxxxxx.xxx (nombre del dominio de red ppal)
 

4.   
Instalar OPENVPN y WEBMIN

 
Añadir el repositorio de webmin:
Sudo nano /etc/apt/sources.list
deb http://download.webmin.com/download/repository
sarge contrib
Añadir Clave y Actualizar el Respositorio
sudo wget
http://www.webmin.com/jcameron-key.asc
sudo apt-key add
jcameron-key.asc
sudo apt-get update
 
Instalar open vpn y
webmin
sudo apt-get install openvpn
sudo apt-get install webmin
 
Instalar el Modulo de WEBMIN para OPENVPN
Entrar en webmin con: https://your_vpnserver_ip:10000
Ir a webmin – webmin configuration – webmin modules

5.   
Generar el
Cartificado CA

 
Desde
Servers -> OpenVPN + CA -> Certification Authority List
Se suele llamar Nombre-CA, y hay que rellenar los parámetros
de estado, provincia…
Y darle a Save
 

 

 

6.   
Generar el Certificado de Servidor

 
Desde Servers -> OpenVPN + CA -> Certification
Authority List  veremos el certificado
que acabamos de crear. Debemos entrar en Keys List. Para Crear los certificados
de clientes y también de servidor.
 
 
Cubrimos el nombre pe “certificadoservidor” e importante no
olvidarse seleccionar SERVER. El resto de opciones no hay que cambiarlas.
 

7.   
Generar el Servidor de OpenVPN en base al CA

 
Una vez generado el Certificado CA y el Certificado de
Servidor ya podemos levantar nuestro servidor VPN. Vamos a Servers ->
OpenVPN + CA -> VPN List
Veremos que ya aparece seleccionado nuestro certificado CA,
le damos a nuevo servidor.
 
Y debemos configurar los parámetros siguientes:
Nombre: NombreVPN
Podemos elegir el puerto y el protocolo. Debe coincidir con
los que hemos abierto en el firewall al principio del manual. Por defecto es el
1194 en UDP
Net IP assigns (option server): En network habrá que poner la red que
van a asignar IPs de los clientes que se conecten. Por ejemplo 10.10.yyy.xxx
(ojo que no debe coincidir con la de la red principal)
 
En la
sección:
Additional
Configurations
example:
push «route 192.168.100.0 255.255.255.0»
This parameter adds a route to the client when it’s connected
Pondremos:
push «route xxx.yyy.zzz.0
255.255.255.0″ (red
ppal a la que queremos acceder)
push «dhcp-option
DOMAIN xxxxxxxxxx.xxx» (dominio
de red ppal)
push «dhcp-option DNS xxx.yyy.zzz.mmm»
(dns de red ppal)
push «dhcp-option DNS
xxx.yyy.zzz.mmm » (dns
de red ppal)
 
 
 
 
 
 

 

 

 

8.   
Generar los Certificados de los clientes

 
Una vez realizados los pasos anteriores hay que crear los
certificados para cada cliente. Vamos a Servers -> OpenVPN + CA -> Certification
Authority List
 
Y crearemos un certificado para cada cliente. Únicamente
debemos ir cambiando el nombre de cada certificado. Y darle a SAVE.
 
 
 
 
 
Podemos crear tantos como clientes vayamos a tener o incluso
más para aumentar clientes en el futuro.

9.   
Añadir los clientes al Servidor de OpenVPN

 
Vamos a
Servers -> OpenVPN + CA -> VPN List -> ClientList
 
 
 
 
 
Aquí la única configuración que hay que hacer es cambiar la remote
(Remote IP): xxx.yyy.zzz.mmm por la IP externa que vayamos a utilizar de
conexión por ejemplo pepito.dyndns.org
 
 
 

10.                     
Iniciar ServidorVPN

 
Ahora ya podemos encender el servidor VPN y los clientes ya
podrán conectarse con sus certificados. Solo hay que ir a: Servers ->
OpenVPN + CA -> Start OpenVPN

11.                     
Activar el Firewall en WEBMIN

 
 

12.                     
Redireccionar la Peticiones IPv4

 
Editar 
/etc/sysctl.conf descomentando la línea, quitar el # de delante:
net.ipv4.ip_forward=1
 

13.                     
Añadir IPTABLES

 
Configurar iptables ejecutando en el terminal:
sudo su
iptables -A FORWARD -m state –state
RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s IPREDCLIENTES/24 -j ACCEPT
iptables -A FORWARD -j REJECT
iptables -t nat -A POSTROUTING -s IPREDCLIENTES /24 -o eth0
-j MASQUERADE
iptables -t nat -A POSTROUTING -j SNAT –to-source IPSERVIDORVPN
 
IPREDCLIENTES: La
que indicamos en el apartado
Net IP assigns (option server) a la hora de
levantar el servidor.
IPSERVIDORVPN: La
IP que tiene el servidor, se la configuramos en los primeros pasos del manual.
Las IPTABLES se borrarian al reiniciar el equipo así que
voy a solucionar esto. Comprobar si en etc/network/interfaces tengo una línea
como estas, si no están añadirlas.
post-up iptables-restore < /etc/iptables.up.rules
post-down iptables-save > /etc/iptables.up.rules
 
Una vez configurado todo el tema de IPtables hay que reiniciar
el servidor de Ubuntu.

14.                     
Exportar Configuracion para los
Clientes

Ir a Servers -> OpenVPN + CA -> VPN
List -> Client List
Veremos los diferentes certificados de
cliente que se aceptan. A la derecha podemos bajarnos la configuración en el botón
export.


Nos bajaremos un archivo comprimido donde
viene el paquete completo de configuración del cliente de OpenVPN.
 

15.                     
Conectar desde Un cliente

Vamos a explicar brevemente como conectar
desde un sistema Windows. Instalar el cliente de OpenVPN. Copiar los archivos
descargados al directorio conf del programa. Abrir el programa. Aparecerá un
icono con dos ordenadores en la barra inferior de windows en la parte derecha. Hacer
clic con el botón derecho y elegir conectar.
Una vez conectado
veremos que los ordenadores tienen las pantallas en verde


 
Comparte esta web mediante:

2 thoughts on “CREAR UNA VPN CON OPENVPN EN UBUNTU DESDE WEBMIN (TUTORIAL)

  1. Una pregunta, ¿es posible configurar que los clientes en vez de conectar a la red local, conecten a la red interna de la maquina? me refiero a 127.0.0.1 o localhost.
    ¿si es posible bastaría con poner algún parámetro especifico en los diferentes xxx.yyy.zzz.mmm?

  2. pues no lo he probado pero en principio aun asignando a los equipos que conectan la un rango en la IP 127.0.0.1, recuerda que tu propio host tb resuelve la 127.0.0.1 y no va a tratar de ir al servidor ubuntu resolviendo la 127.0.0.1 contra tu propio equipo. Tal vez sea más sencillo darle un rango de red como hago en mi ejemplo y no pasarle puerta de enlace ni ruta ni nada para que no tenga forma de ver el resto de red. Es decir evitar cosas como esta push "route 192.168.100.0 255.255.255.0" donde defino la ruta etc… pero ya te digo, no lo he probao…

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Facebook
X (Twitter)
YouTube
LinkedIn
Instagram