TuxApuntes
Mensajeria
Cómo montar Túneles con OpenVPN sobre Debian | Cómo montar Túneles con OpenVPN sobre Debian |
|
|
|
CONFIGURACIÓN Para descargar OpenVPN, podemos buscarlo en source forge, y compilarlo, o bajarlo de las fuentes sarge de debian, aquí suponemos que lo estamos bajando.
Si compilaste el kernel según el manual howto-hostap de madridwireless, no tendrás problemas para hacer esto, si no has compilado el kernel con la opción TUN/TAP, situada en NetworkDevice Support. El meterla como módulo o dentro del propio kernel es indiferente, pero es más cómodo meterlo todo junto dentro.
Si lo metimos como modulo, hacemos modprobe tun
Descargamos desde las fuentes sarge
apt-get install openvpn > programa en si apt-get install liblzo1 lzop openssl > Por si queremos comprimir trafico
Ahora iniciamos las interfaces:
mknod /dev/tap0 c 36 16
mknod /dev/tap1 c 36 17
mknod /dev/tap2 c 36 18
Según el numero de enlaces que queramos hacer, haremos más o menos interfaces.
mkdir /dev/net mknod /dev/net/tun c 10 200
ln -s /dev/net/tap0 /dev/tap0
ln -s /dev/net/tap1 /dev/tap1
ln -s /dev/net/tap2 /dev/tap2
Lo mismo de antes, seguimos hasta la iface que deseemos.
si hemos metido el tun/tap como modulo: metemos en /etc/modules.conf
alias char-major-10-200 tun
Asegurarse de no repetirlo si ya esta en este archivo.
CONFIGURACIÓN DEL TÚNEL
mkdir /etc/openvpn
cd /etc/openvpn
Creamos la clave en un equipo, y se la tenemos que pasar al otro equipo, pasarla codificada con gnupg o por scp
openvpn --genkey --secret clave.key
Creamos y editamos el tunel.conf
local [ip local] remote [ip remota] dev tun0 port 5000 [puerto elegido, puedes cambiarlo] comp-lzo user nobody ping 15 ifconfig [ip del tunel local] [ip del tunel remoto] secret /etc/openvpn/clave.key
Yo creo que la sintaxis es bastante clara.
Una aclaración: Si estas en red local, las ips, serán las privadas de las maquinas, si estas haciendo un túnel en inet, la ip local, será la privada de tu maquina, y la remota, será la publica de la maquina contra la que haces el túnel, es decir, la propia interna, y la del adsl/cable/etc de la otra punta del túnel. Por supuesto, en la otra punta del túnel, tendrás que poner lo mismo, pero con las ips cambiadas.
ATENCIÓN: MUY IMPORTANTE: Para todos aquellos que no tengáis una ip fija, la forma de hacer esto, es conseguir un dominio de tercer nivel, en dyndns.org, por ejemplo, y sustituir la ip publica en el tunel.conf, por esta DNS, que el openVPN lo soporta : )
Otro tema a tener en cuenta, es, si estas detrás de un router que haga NAT, deberás rutar los puertos que elijas a la maquina en cuestión, teniendo en cuenta, que estamos usando puertos UDP.
Una vez configurado todo esto, pasamos a levantar la iface:
openvpn --verb 5 --config /etc/openvpn/tunel.conf
Observamos que se queda esperando a una conexión por parte de la otra punta del túnel:
Peer Connection Initiated with [ip remota]:[puerto]
Hacemos lo propio en las dos puntas, y ya podremos probar a hacer ping a las ip de la otra punta del túnel.
En este punto debería devolver ping, si no es así, algo falla.
Esto puede ser por una equivocación con respecto a las ips del tunel, recordamos para los no muy duxos en el tema, que el tunel, tiene sus propias ips, al margen de las ips publicas o privadas, al final adjunto dos documentos tunel.conf, de los dos extremos del túnel, para ver esto.
configuramos el túnel para que lance un daemon al inicio.
Creamos un script de inicio:
vi /etc/init.d/openvpn.sh
Con el siguiente contenido:
#!/bin/sh
openvpn --daemon --verb 0 --config
/etc/openvpn/tunel.conf
Lo hacemos ejecutable:
Chmod 755 openvpn.sh
Lo metemos en el arranque:
update-rc.d -n openvpn.sh defaults
Si todo va bien: update-rc.d openvpn.sh defaults
Volvemos a comprobar las conexiones
Y listo ya estamos en una VPN encriptada.
Ejemplos de Config: local 10.1.1.1 ( La ip eth de mi nodo ) remote dollar-mailing.com (La Dns de un amigo, no es dinámica, pero la mia si lo es) dev tun0 port 5001 ( Recordamos que son puertos UDP ) comp-lzo user nobody ping 15 ifconfig 172.16.0.1 172.16.0.2 secret /etc/openvpn/clave.key
La config del otro punto
local 192.168.0.4 ( Ssu ip interna ) remote estrella001.dyndns.org ( Mi maquina, con una dns dinámica ) dev tun0 port 5001 comp-lzo user nobody ping 15 ifconfig 172.16.0.2 172.16.0.1 secret /etc/openvpn/clave.key
Solo quiero aclarar, que esto no es documento propio, es una recopilación de varias paginas, las cuales, están todas en google, recordad, google es vuestro amigo : ) Fuente : Álvaro López Hornero Revisado el: 13-09-2007 22:13
|
| < Anterior | Siguiente > |
|---|
| Enlaces - Blogroll |









