Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tutorial VPN básico red a red en Linux Rafael Paolo Campoverde Mariscal
Aviso al publico usuario: Todo lo que escribo en este
tutorial fue encontrado en tutoriales, revistas, clases,
PAGINAS WEB, etc, etc, pero como puede ser algo
confuso (para mi lo fue) acá les pongo un resumen
que ya comprobé que funciona.
Descripción: Tutorial configuración de de servidores vpn y clientes vpn con openvpn
Diagrama de conexión:
Tutorial VPN básico red a red en Linux Rafael Paolo Campoverde Mariscal
Explicación diagrama:
Red local o internet Para este ejemplo puede ser un switch pero las
ips locales se pueden cambiar por las ip publicas
de los servidores conectados a internet.
Herramientas necesarias:
Este tutorial lo podemos hacer con virtualbox, vmware, qemulator... bueno, el virtualizador que
prefieras, yo usare virtualbox.
También necesitaremos algunas imágenes de sistemas operativos, para los servidores yo usare
centos 5.3 y para los clientes versiones ligeras de ubuntu (lubuntu y xubuntu) pero para los
servidores pueden usar Fedora, Ubuntu, RedHad, Debian, OpenSUSE, no se, el que quieran, claro,
Tutorial VPN básico red a red en Linux Rafael Paolo Campoverde Mariscal
acá solos les diré como implementarlo en Centos 5.3.
MasterVPN:
Capacidad de disco 8 Gb
Vídeo 12Mb
*VirtualBox permite configurar de tres formas la red de nuestras maquinas virtuales, La primera es
“puente o bridge”: esto hace que la tarjeta de red de nuestra maquina virtual aparezca como una
tarjeta independiente en la red, es decir, otro equipo en la red vera la ip de nuestro equipo y además
la ip de nuestra maquina virtual como si fueran dos maquinas independientes.
“interna o host only”: esta configuración hace que la tarjeta de red de nuestra maquina virtual sea
solo visible y accesible por nuestra maquina real.
“Nat”: esta configuración permite a la maquina virtual tener acceso a la red local o internet pero
utilizando la misma ip de la maquina real, traduce la ip de la maquina virtual (por ejemplo
10.0.0.10) a la ip de la real (192.168.1.10), para los otros equipos en la red solo existe la ip real.
Clientes 1 y 2:
Tipo Maquina virtual
Disco 8gb
Vídeo 12 mb
ram 256
MasterVPN:
Ip eth0 192.168.1.100/24
Tutorial VPN básico red a red en Linux Rafael Paolo Campoverde Mariscal
Ip eth1 130.0.0.1/16
ClienteVPN:
Ip eth0 192.168.1.101/24
Ip eth1 131.0.0.1/16
Clientes 1 y 2:
Instalación de OpenVPN:
Primero tenemos que agregar los repositorios de sourseforge a nuestra lista de repositorios:
Descargamos el paquete
# wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-
release-0.3.6-1.el5.rf.i386.rpm
Les recomiendo configurar todo esto desde una ventana de ssh, por que mas adelante necesitaran
dos o hasta tres de estas ventanas.
Como se hace eso??, bueno primero instalan ssh en tu pc, si usan ubuntu “sudo apt-get install
openssh”, si no “yum install openssh” para centos,(aunque lo instala desde la instalacion del
sistema) redhad, fedora creo tambien.. bueno busquen en inter. Luego que lo instalaron abren una
consola (o abren al putty que es un cliente de ssh para windows) y escriben: ssh root@ip-de-su-
servidor luego les pedira una confirmacion y luego la clave del servidor a controlar.
Tutorial VPN básico red a red en Linux Rafael Paolo Campoverde Mariscal
Configuración de openvpn:
/etc/openvpn/
Acá crearemos un archivo donde guardaremos la configuración para nuestro Master y Cliente:
#touch tunel.conf
#usuario nobody para que el servicio tenga los permisos minimos posibles, por seguridad
user nobody
#hace pings cada 15 segundos por que alfunos firewals bloquean conexiones inactivas.
ping 15
#le decimos el archivo con la clave que usaran los servidores para autenticarse***
secret /etc/openvpn/clave.txt
Tutorial VPN básico red a red en Linux Rafael Paolo Campoverde Mariscal
*comp-lzo: al instalar opnvpn, seguro tambien se instalo lzo que es un programa que comprime los
paquetes antes de enviarlos, pues al cifrar los datos (funcion de una vpn) estos se hacen mas grandes
u por ende la conexino de hace mas lenta.
***/etc/openvpn/clave.txt: para evitar que cualquiera se una anuestra vpn la protejeremos con una
clave que solo conocen el Master y el Cliente, esta se genera en el Master escribiento el siguiente
comando:
Este comando genera un archivo (clave.txt) con una clave, este archivo se copiara en el ClienteVPN
por ejemplo usando SSH que encripta los datos para mayor seguridad:
local 192.168.1.101
remote 192.168.1.100
dev tun
port 1194
comp-lzo
user nobody
ping 15
ifconfig 10.0.0.2 10.0.0.1
secret /etc/openvpn/clave.txt
Tutorial VPN básico red a red en Linux Rafael Paolo Campoverde Mariscal
Iniciando el servicio:
Si hemos hecho todo bien hasta este punto, ya podemos iniciar el servicio con el comando: (primero
en el master y luego en el cliente)
Esto nos llenara la ventana de mensajes indicando que se inicio el servicio y si todo esta bien
veremos algo parecido a esto en el master:
y en el cliente:
Si les sale algún error, pueden haber puesto una mayúscula en el tunel.txt o la configuración de red,
prueben hacer ping entre los servidores y si aun asi no funciona, vean el log del sistema que esta en:
/var/log/messages
, antes de verlo les recomiendo borrarlo:
echo “” > /var/log/messages
y luego pueden ir viendo que aparece con:
tail -f /var/log/messages
(el -f hace que siempre este en pantalla el contenido del archivo, así verán cualquier cambio en el
archivo).
Si todo esta bien deberíamos poder hacer ping a las interfaces tun de nuestro servidor y del otro
servidor, probamos:
Tutorial VPN básico red a red en Linux Rafael Paolo Campoverde Mariscal
Configuración de los Clientes 1 y 2:
En los clientes configuraremos las ip cono en el diagrama del principio, o también podemos poner
una ip y mascara temporal con el comando (esto en ubuntu) :
Si probamos hacer ping desde uno de los clientes al otro veremos que no es posible, esto es por que
los servidores aun no pueden conectar las redes internas con la virtual, para esto haremos un NAT
(traducir una ip en otra) de la red interna a la ip del túnel,
“todas las peticiones desde la red interna convertirlas en peticiones de la red externa”,
Tutorial VPN básico red a red en Linux Rafael Paolo Campoverde Mariscal
y para el cliente:
donde eth1 es la tarjeta de red conectada a la red interna y 130.0.0.0 o 131.0.0.0 son las redes
internas destino.
Además tenemos que decirle a cada servidor que reconozca las redes destino internas y por donde
tiene acceso a ellas, por ejemplo, si quieres ir a la red 130.0.0.0 tienes que salir por la interface
10.0.0.2, para esto ejecutaremos el siguiente comando que agrega una red y una puerta de enlace:
Para el MasterVPN:
Y para el ClienteVPN:
Aun no podremos hacer ping, esto es or que tenemos que indicarle al sistema que permita el paso
de paquetes de una tarjeta de red a otra, para esto ejecutamos el siguiente comando en los dos
servidores (MasterVPN y ClienteVPN):
(Puedes hacer lo que quieras con este tutorial, menos modificarlo y hacerlo pasar por uno mio).
Tutorial VPN básico red a red en Linux Rafael Paolo Campoverde Mariscal