comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Instala Tu Propio Servidor VPN con OpenVPN en Ubuntu 10.04

  • 0 Respuestas
  • 1712 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Kodeinfect

  • *
  • Underc0der
  • Mensajes: 325
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Kodeinfect's Blog
« en: Febrero 27, 2011, 07:53:14 pm »


OpenVPN es un Software que hace de cliente y servidor según como lo configuremos, aclaro que hay 2 versiones de este:
- OpenVPN Community Software: Es la versión que utilizaremos y es 100% Open Source
- OpenVPN Access Server: Es la versión de pago, puede usar gratis solo hasta 2 usuarios, los usuarios adicionales son muy económicos, además tiene extras como panel de administración web, es súper fácil de configurar y mas.

Introducción

OpenVPN, es un producto de software creado por James Yonan en el año 2001 y que ha estado siendo mejorado desde entonces.

Ninguna otra solución ofrece una mezcla semejante de seguridad a nivel empresarial, seguridad, facilidad de uso y riqueza de características.

Es una solución multiplataforma que ha simplificado mucho la configuración de VPN’s dejando atrás los tiempos de otras soluciones difíciles de configurar como IPsec y haciéndola más accesible para gente inexperta en este tipo de tecnología.

Supongamos que necesitamos comunicar diferentes sucursales de una organización. A continuación veremos algunas soluciones que se han ofrecido como respuesta a este tipo de necesidades.

En el pasado las comunicaciones se realizaban por correo, teléfono o fax. Hoy en día hay factores que hacen necesaria la implementación de soluciones más sofisticadas de conectividad entre las oficinas de las organizaciones a lo largo del mundo.

Dichos factores son:

- La aceleración de los procesos de negocios y su consecuente aumento en la necesidad de intercambio flexible y rápido de información.
- Muchas organizaciones tienen varias sucursales en diferentes ubicaciones así como también tele trabajadores remotos desde sus casas, quienes necesitan intercambiar información sin ninguna demora, como si estuvieran físicamente juntos.
- La necesidad de las redes de computación de cumplir altos estándares de seguridad que aseguren la autenticidad, integridad y disponibilidad.

Fuente: Wikipedia

El Servidor

Esta guía es para Ubuntu 10.04 Server, imagino que funciona en otras versiones y distros, tenemos un ubuntu server ya instalado y funcionando.
Instalamos OpenVPN y también OpenSSL, ya que la seguridad se basa en ssl.

Código: You are not allowed to view links. Register or Login
sudo apt-get -y install openvpn
sudo apt-get -y install openssl

Configuramos el Demonio de OpenVPN para que No Auto Inicie con el Sistema
Comentamos todo agregando # al comienzo de cada linea.

Código: You are not allowed to view links. Register or Login
sudo nano /etc/default/openvpn
Tambien eliminar el script de inicio, para evitar que no inicie si configurar.

Código: You are not allowed to view links. Register or Login
sudo update-rc.d -f /etc/init.d/openvpn remove
Ahora Creamos el Archivo openvpn.conf en /etc/openvpn/

Código: You are not allowed to view links. Register or Login
sudo nano /etc/openvpn/server.conf
Colocamos esta configuración:

Código: You are not allowed to view links. Register or Login
dev tun
proto tcp
port 1194
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/servidor.crt
key /etc/openvpn/keys/servidor.key
dh /etc/openvpn/keys/dh2048.pem
user nobody
group nogroup
server 10.6.0.0 255.255.255.0
ifconfig-pool-persist /etc/openvpn/clients.txt
status /etc/openvpn/status.txt
persist-key
persist-tun
push "redirect-gateway def1"
push "route 192.168.0.0 255.255.255.0"
keepalive 10 120
verb 3
comp-lzo
max-clients 3

Como verán se puede personalizar, este es un ejemplo que fue probado, si no quieren usar la vpn para internet seguro, osea no navegar usan internet desde la vpn, quitar la linea “redirect-gateway”.

Ahora creamos el script para que configure e inicie el servidor de vpn.

Código: You are not allowed to view links. Register or Login
sudo nano /etc/init.d/vpnserver
Pegamos este código, cambiar el rango de ip según la configuración de paso anterior.

Código: You are not allowed to view links. Register or Login
#!/bin/sh
#
vpnserver_start()
{
 echo "VPN Server [OK]"
 echo 1 > /proc/sys/net/ipv4/ip_forward
 /etc/init.d/networking restart  > /dev/null
 /sbin/iptables -t nat -A POSTROUTING -s 10.6.0.0/24 -o eth0 -j MASQUERADE
 /usr/sbin/openvpn --config /etc/openvpn/server.conf 2>> /etc/openvpn/error.txt 1>> /etc/openvpn/normal.txt &
}
vpnserver_stop()
{
 echo "VPN Server [NO]"
 /usr/bin/killall "openvpn"
 iptables -F
 iptables -X
 /etc/init.d/networking restart > /dev/null
}
vpnserver_restart()
{
  vpnserver_stop
  sleep 1
  vpnserver_start
}
#
case "$1" in
 'start')
   vpnserver_start
  ;;
 'stop')
   vpnserver_stop
  ;;
 
 'restart')
   vpnserver_restart
  ;;
 *)
  vpnserver_start
 ;;
esac

Le asignamos permisos de ejecutable.
Código: You are not allowed to view links. Register or Login
sudo chmod +x /etc/init.d/vpnserver
También configuramos para que inicie con el sistema.
Código: You are not allowed to view links. Register or Login
sudo update-rc.d vpnserver defaults
Ya configuramos OpenVPN, ahora tenemos que activar el modulo TUN en el kernel, lo cargamos y listo.
Código: You are not allowed to view links. Register or Login
sudo modprobe tun
sudo echo "tun" >> /etc/modules

Como verán no fue tan difícil la configuración, pero ahora viene lo mas lento:

* Crear Diffie Hellman de 2048bits
* Crear la Entidad emisora de certificados.
* Crear los Certificados y llaves del servidor.
* Crear los certificados y llaves de cada usuario.

Copiamos los ejemplo de easy-rsa para crear la entidad, los certificados, llaves y encriptación, que usar OpenVPN,
   
Código: You are not allowed to view links. Register or Login
sudo cp -R /usr/share/doc/openvpn/examples/easy-rsa/ /etc/openvpn/
ahora hay que entrar en la carpeta donde están las utilidades que copiamos y crear la carpeta keys
   
Código: You are not allowed to view links. Register or Login
sudo cp -R /usr/share/doc/openvpn/examples/easy-rsa/ /etc/openvpn/
cd /etc/openvpn/easy-rsa/2.0
sudo mkdir keys

Solo nos queda editar el archivo vars que esta en /etc/openvpn/easy-rsa/2.0
   
Código: You are not allowed to view links. Register or Login
sudo nano /etc/openvpn/easy-rsa/2.0/vars
Modificamos estos valores
   
Código: You are not allowed to view links. Register or Login
export KEY_DIR="$EASY_RSA/keys"
Por:
   
Código: You are not allowed to view links. Register or Login
export KEY_DIR="/etc/openvpn/easy-rsa/2.0/keys"
Es para genere si o si en /etc/openvpn/easy-rsa/2.0/keys
seguimos, también modificamos los parámetros para Diffie Hellman de 2048bits
   
Código: You are not allowed to view links. Register or Login
export KEY_SIZE=1024
Por:
   
Código: You are not allowed to view links. Register or Login
export KEY_SIZE=2048
Solo nos faltan los datos para la entidad emisora
   
Código: You are not allowed to view links. Register or Login
export KEY_COUNTRY="US"
export KEY_PROVINCE="CA"
export KEY_CITY="SanFrancisco"
export KEY_ORG="Fort-Funston"
export KEY_EMAIL="me@myhost.mydomain"

modifica cada valor por los de tu país, provincia, ciudad, empresa y correo
un ejemplo

Código: You are not allowed to view links. Register or Login
export KEY_COUNTRY="VE"
export KEY_PROVINCE="CCS"
export KEY_CITY="Chacao"
export KEY_ORG="Kodeinfect Lab's"
export KEY_EMAIL="Hasefroch@live.com"

Como ven VE = Venezuela, CCS = Caracas (mi provincia) y los demas se entienden.
bueno ahora estamos preparados para comenzar, seguir estos pasos al pie de la letra, porque un error y se arruina todo.

Ejecutamos
   
Código: You are not allowed to view links. Register or Login
source ./vars
y nos pide que limpiemos por si hay entidades, certificados y llaves, lo hacemos con gusto
   
Código: You are not allowed to view links. Register or Login
./clean-all
ahora generamos la seguridad Diffie Hellman de 2048bits
   
Código: You are not allowed to view links. Register or Login
./build-dh
ahora generamos la entidad emisora de certificados les pedirá los mismos datos que en el archivos vars recomiendo completar cada uno, aunque ya están, no importa
   
Código: You are not allowed to view links. Register or Login
./build-ca
ya estamos para poder generar lo certificados y llaves primero el servidor, cambiar server por el nombre que gusten,les pedirá los mismos datos que en el archivos vars recomiendo completar cada uno, aunque ya están, no importa.
   
Código: You are not allowed to view links. Register or Login
./build-key-server servidor
ya tenemos los certificados y llaves de servidor ahora el cliente, cambiar cliente por el nombre que gusten,
les pedirá los mismos datos que en el archivos vars recomiendo completar cada uno, aunque ya están, no importa.
   
Código: You are not allowed to view links. Register or Login
./build-key cliente
este paso se debe repetir para cada cliente o usuario que quiere conectar a la vpn ya tenemos todo para funcionar, no, falta copiar los archivos que generamos al lugar que configuramos en openvpn.conf
ya que copiar la carpeta keys a /etc/openvpn/
   
Código: You are not allowed to view links. Register or Login
sudo cp -R /etc/openvpn/easy-rsa/2.0/keys /etc/openvpn/
ahora comprobamos que este todo en su lugar, entramos en la carpeta /etc/openvpn/keys
   
Código: You are not allowed to view links. Register or Login
cd /etc/openvpn/keys
y con un ls miramos si están los archivos
ahora generamos un archivo mas, este lo genera openvpn
   
Código: You are not allowed to view links. Register or Login
sudo openvpn --genkey --secret ta.key
Solo falta copiar los archivos ca.crt, cliente.crt, cliente.key, si creaste mas clientes copia los crt y key de cada un pendrive u otro medio no usar email para enviarlos, es como darle la llave de tu casa a un desconocido.

Listo ya esta todo en el servidor, ahora lo iniciamos para probar que todo esta correcto

Código: You are not allowed to view links. Register or Login
sudo /etc/init.d/vpnserver start
Si no hay errores ya tenemos nuestra vpn funcionando, solo falta el cliente.

El Cliente:

Esta guía es para Ubuntu 10.04 Desktop, imagino que funciona en otras versiones y distros, tenemos un ubuntu ya instalado y funcionando.
Instalamos OpenVPN y también OpenSSL, ya que la seguridad se basa en ssl
y como usaremos el Network Manager de Ubuntu hay que instalar el plugins para OpenVPN

Código: You are not allowed to view links. Register or Login
sudo apt-get -y install openvpn
sudo apt-get -y install openssl
sudo aptitude -y install network-manager-openvpn

Ahora ya estamos en condiciones de configurar nuestro cliente un ejemplo de configuración:

Con un editor de texto, gedit puede ser, pegan este código

Código: You are not allowed to view links. Register or Login
client
dev tun
proto tcp
remote IP-DEL-SERVIDOR PUERTO
resolv-retry infinite
nobind
#user nobody
#group nobody
persist-key
persist-tun
ca ca.crt
cert cliente.crt
key cliente.key
comp-lzo
tun-mtu 1500
keepalive 10 120
verb 4

Modifican los datos, IP-DEL-SERVIDOR este es el ip publico o de internet del servidor y PUERTO por el que asignaron en el servidor, los archivos ca.crt, cliente.crt y cliente.key son los que generamos y copiamos antes en un pendrive o en lo que sea.

Guardan el el código con el nombre que quieran pero con extensión .conf y en la misma carpeta de los archivos ca.crt, cliente.crt y cliente.key

Ahora abre el Network Manager de Ubuntu y en la pestaña VPN hay un botón Importar, buscan el archivo .conf que guardamos antes y ya esta todo.

Espero que este tutorial les sea util, fue realizado con información de varios temas :freack:
Un Saludo Kode!
« Última modificación: Julio 04, 2014, 10:06:42 pm por Expermicid »

 

¿Te gustó el post? COMPARTILO!



Ubuntu Desktop 12.10 [Español] [32 Bits & 64 Bits]

Iniciado por SwordArtOnlinee

Respuestas: 1
Vistas: 1585
Último mensaje Junio 24, 2013, 01:35:05 pm
por Kodeinfect
Instalación y configurar servidor FTP "vsftpd" en Debian

Iniciado por puntoCL

Respuestas: 0
Vistas: 345
Último mensaje Mayo 25, 2018, 02:53:08 am
por puntoCL
Instalando Numix Theme & Numix Icons [Ubuntu,Debian,Derivados]

Iniciado por R3v0lve

Respuestas: 0
Vistas: 1639
Último mensaje Enero 16, 2016, 05:00:10 pm
por R3v0lve
Tutorial: Como instalar Linux "Ubuntu" junto a Windows

Iniciado por Stiuvert

Respuestas: 1
Vistas: 1574
Último mensaje Agosto 24, 2011, 02:25:17 pm
por Comandante Linux
(Partición) Como desinstalar Ubuntu (Back-Track) y dejar solo ah Windows

Iniciado por REC

Respuestas: 2
Vistas: 2778
Último mensaje Octubre 05, 2012, 12:20:00 pm
por Sheyk871