OpenVPN para todos :D

Buenas tardes, bloggeros!

En esta entrada les comparto la configuración de un servidor OpenVPN, algo extremadamente útil y necesario para establecer conexiones privadas y seguras sobre una red totalmente insegura, como por ejemplo INTERNET.

Es realmente sencillo, aunque creo necesario interiorzarse en qué es una VPN, su funcionamiento y cuáles son los tipos de VPN junto a sus ventajas y desventajas.

En mi caso elegí OpenVPN, por ser de código abierto, estar disponible en los repositorios de Debian, hay mucha documentación disponible y configurarla es simple.

Como detalle en la configuración del servidor que usé, verán que elegí usar el adaptador tap por una cuestión de comodidad de crear un servidor que permitiera múltiples clientes conectados a un bridge, es decir que estarían todos "enchufados a un mismo switch". Usar una interface de red tap tiene sus ventajas y desventajas.

Sin más, acá va el fichero server.conf con las directivas:


local 192.168.1.2
management 127.0.0.1 5555
port 11194
proto udp
dev tap0
tls-server
remote-cert-tls client

ifconfig-pool-persist ipp.txt

ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/cert.crt
key /etc/openvpn/easy-rsa/keys/key.key  # This file should be kept secret
dh /etc/openvpn/easy-rsa/keys/dh1024.pem
tls-auth /etc/openvpn/easy-rsa/keys/ta.key 0 # This file is secret

server-bridge 192.168.1.1 255.255.255.0 192.168.1.100 192.168.1.110
push "redirect-gateway def1"
push "route 192.168.1.0 255.255.255.0"

keepalive 10 60
persist-key
persist-tun

max-clients 10
user nobody
group nogroup

status openvpn-status.log

log         openvpn.log
log-append  openvpn.log
verb 3

Del lado del cliente, este sería el fichero client.conf (o client.ovpn para sistemas Windows):


client
dev tap0
proto udp
remote 181.xxx.xxx.xxx 11194 # The OpenVPN server

resolv-retry infinite
nobind

persist-key
persist-tun

ca ca.crt
cert yo.crt
key yo.des3.key
tls-auth ta.key 1

verb 3
ping 10
ping-restart 60
--explicit-exit-notify 2

Existen otras directivas más; además esto es un script, por lo que se puede incluir comandos de Bash si fuese necesario.

Les recomiendo leer los manuales y HOW-TO de la página oficial de OpenVPN y el libro Mastering OpenVPN para profundizar más los conocimientos sobre VPN y OpenVPN en particular.

Saludos... y happy config!

Comentarios

  1. Genial Vero, muy útil el tutorial.

    Saludos!

    ResponderBorrar
  2. muy interesante
    se deben generar archivos similares en la app de android
    no has intentado dales un cat para visualizarlos
    probablemente después de una pequeña edición logres acceder a la red 3g sin datos

    ResponderBorrar
    Respuestas
    1. Similares, dado que la interface TAP no está soportada, debería ser TUN y crear así un enlace punto a punto.
      No entiendo para qué querría "darles un cat", ya estoy visualizando los fecheros! Jajaja!

      Borrar

Publicar un comentario

Entradas más populares de este blog

Zabbix en dos días (día 1)

GRUB2 experience