Cómo instalar y configurar OpenVPN

Imagen de Epe

OpenVPN es una implementacion de VPN SSL la cual usa las extensiones OSI layer 2 ó 3 para asegurar redes la cual usa los protocolos SSL/TLS, soporta diferentes medios de autenticacion como certificados, smart cards, y/o usuarios/contraseñas, y permite politicas de control de acceso para usaurios o grupos usando reglas de firewall aplicadas a las interfaces virtuales de la VPN. OpenVPN 2.0 permite multiples clientes conectar a un solo servidor (proceso) OpenVPN sobre un simple puerto TCP o UDP.

Para seguir este documento se requieren conocimientos basicos de redes TCP/IP como , direcciones IP, DNS, netmasks, subnets, IP routing, routers, interfaces de red, LANs, gateways, y reglas de firewall.
Formas de trabajo del OpenVPN

Aunque OpenVPN es muy sencillo de configurar e instalar, podemos dividir su forma de trabajo en 3 tipos:

1. [b]Host a Host[/b]: Es el método más simple, nos permite encriptar la comunicación entre dos PC las cuales deberán solamente tener conexión; es decir: ambas PC deben poderse enviar paquetes directamente ya sea porque estén conectadas en la misma red local, o porque ambas estén conectadas a la internet y sean alcanzables entre sí.
2. [b]Road Warrior[/b]: Es una de las formas más utilizadas y solicitadas por los estudiantes. Es el permitir que una máquina de alguien que esté fuera de nuestra red (de forma temporal o permanente) pueda comunicarse con el servidor OpenVPN de nuestra red y una vez autenticado pueda entrar a ver y acceder los recursos de nuestra red local. En verdad es un caso especial de la conexión Red a Red que a continuación mencionamos:
3. [b]Red a Red[/b]: Uno de los métodos más usados. Mediante ésta forma dos redes separadas en el espacio pueden comunicarse como si estuvieran unidas por un cable virtual (de ahi la V de VPN); la comunicación entre ambas redes viajará encriptada una vez salgan de los servidores de openvpn y hasta que lleguen a su otro extremo.

[b]Ventajas del uso de OpenVPN[/b]

OpenVPN es un sistema de creación y uso de vpn muy modesto y fácil de utilizar que nos permite implementar vpn que de otras formas sería muy molesto o dificultoso de realizar.

Las implementaciones IPSec, aunque supuestamente mejor elaboradas y soportadas por el kernel de linux, son muy difíciles de implementar en máquinas con Windows. En el caso de OpenVPN existen clientes y servidores tanto para linux como para windows y su implementación para redes o sistemas multiplataformas es muy sencilla de llevar a cabo.

[b]Instalación del OpenVPN[/b]

Instalar OpenVPN en nuestro linux CentOS es realmente fácil. Solamente debemos tener instalado el EPEL y emitir el comando:


yum install openvpn easy-rsa

Después de unos minutos, tendremos listo el paquete de OpenVPN

Una vez instalado, podemos proceder a la creación de las claves de encriptación en el servidor y cliente.

[b]Activando OpenVPN[/b]

Aunque [b]todavía no es el momento de activarlo[/b], cuando hayamos configurado el openvpn podemos activarlo en CentOS-6 o CentOS-5 con:

service openvpn start
chkconfig openvpn on

Con estos dos simples comandos podemos arrancar el openvpn en ambos extremos.

En caso de CentOS-7 o superior debe ser así:

systemctl -f enable \
openvpn@X.service
systemctl start \
openvpn@X.service

Donde X es el nombre del archivo de configuración. Por ejemplo si el archivo se llama client1.conf X será: client1
Si el archivo se llama server.conf, X será: server

Si necesitáramos reiniciarlo (para que lea de nuevo la configuración por ejemplo) podríamos hacerlo con:


service openvpn restart

Comentarios

Gracias Epe, justo lo que

Imagen de antares

Gracias Epe, justo lo que estaba necesitando. El caso que me gustaría implementar es el número 3 (Red a Red), pero no lo pusiste :(

Voy a revisar el RoadWarrior y ver si por ahí me ilumino el camino.

Saludos.

Saludos,

antares

Gracias

a mi ya me funciono tengo una red con un servidor linux y mi cliente en windows xp se conecta de maravillas y ve todos las maquinas de la red en linux..... lo que me falta es que las maquinas de la red linux puedan ver a las de la red windows.... por ahora muchas gracias...

revisa una opción llamada

Imagen de Epe

revisa una opción llamada client-to-client

revisa la configuración red a red, puse una página del libro para eso pues es parecida pero no es igual si quieres que dos redes se vean.

Saludos
epe
--
EcuaLinux.com
Ecuador: +(593) 9 9246504, +(593) 2 3412402
USA: +1 404 795 0321, España: +34 917617884

Saludos
epe

EcuaLinux.com

+(593) 9 9924 6504

Servicios en Software Libre

Que me falta!!

Hola que tal.
Les comento mi problema tengo una red en el trabajo 192.168.50.0/24 instale el openvpn con una red virtual 10.40.0.0 desde mi laptop conectada directamente si tengo acceso a la red 192..... pero desde la red 192.... no tengo acceso a la laptop conectada a internet (si hay ping a 10.40.0.6 que es la laptop pero no lo explora los compartidos)
todas las maquinas cson win excepto el servidor openvpn

cual podria ser lo que me falta???

Gracias

revisa la configuración

Imagen de Epe

revisa la configuración road warrior aqui expuesta y verifica tus configuraciones (que no has puesto).

Saludos
epe
--
EcuaLinux.com
Ecuador: +(593) 9 9246504, +(593) 2 3412402
USA: +1 305 675 1512, España: +34 917617884


Saludos
epe

EcuaLinux.com

+(593) 9 9924 6504

Servicios en Software Libre

Instalacion openvpn.tar

Imagen de Francizco

hola epe, te agradezco por la información que has presentado porque me ha sido de mucha utilidad.
pero quisiera saber si me puedes ayudar con la instalacion de openvn2.0.9.tar,
cuando hago ./configure me sale al parecer sin errores, aqui te envio lo ultimo que sale despues de unas revisiones que hace:
config.status: creating Makefile
config.status: creating openvpn.spec
config.status: creating config-win32.h
config.status: creating install-win32/openvpn.nsi
config.status: creating config.h
config.status: executing depfiles commands

pero al momento de hacerle make me sale lo siguiente:(resumido)
make all-am
make[1]: se ingresa al directorio `/usr/src/openvpn-2.0.9'
........
if gcc -DHAVE_CONFIG_H -I. -I. -I. -I. -I/usr/kerberos/include -g -O2 -MT tun.o -MD -MP -MF ".deps/tun.Tpo" -c -o tun.o tun.c; \
then mv -f ".deps/tun.Tpo" ".deps/tun.Po"; else rm -f ".deps/tun.Tpo"; exit 1; fi
gcc -g -O2 -o openvpn base64.o buffer.o crypto.o error.o event.o fdmisc.o forward.o fragment.o gremlin.o helper.o init.o interval.o list.o lzo.o manage.o mbuf.o misc.o mroute.o mss.o mtcp.o mtu.o mudp.o multi.o ntlm.o occ.o openvpn.o options.o otime.o packet_id.o perf.o ping.o plugin.o pool.o proto.o proxy.o push.o reliable.o route.o schedule.o session_id.o shaper.o sig.o socket.o socks.o ssl.o status.o thread.o tun.o -lssl -lcrypto -llzo -ldl
make[1]: se sale del directorio `/usr/src/openvpn-2.0.9'

de manera que cuando hago make install me sale:
make[1]: se ingresa al directorio `/usr/src/openvpn-2.0.9'
test -z "/usr/local/sbin" || mkdir -p -- . "/usr/local/sbin"
/usr/bin/install -c 'openvpn' '/usr/local/sbin/openvpn'
test -z "/usr/local/man/man8" || mkdir -p -- . "/usr/local/man/man8"
/usr/bin/install -c -m 644 './openvpn.8' '/usr/local/man/man8/openvpn.8'
make[1]: se sale del directorio `/usr/src/openvpn-2.0.9'

lo que al final no instala el openvpn. Te agradeceria mucho si me podrias dar unas pistas

openvp

Buen dia,

Estoy instalando openvpn, pero al momento de compilar me sale el siguiente mensaje,
root@slinux openvpn-2.0.9]# make
make all-am
make[1]: se ingresa al directorio `/etc/openvpn-2.0.9'
make[1]: se sale del directorio `/etc/openvpn-2.0.9'
[root@slinux openvpn-2.0.9]#
analogamente me sale cuando compilo lzo-2.0
que puedo hacer para corregir estos inconvenientes
gracias por su ayuda,

tengo cento 5.0
el kernel que tengo es: 2.6.18-53.1.14.el5

Páginas