OpenVpn con script Angristan.

En este “Tuto Rapido” dejo los pasos para montar una VPN modo RoadWarrior y algun comando para depurar y acotar errores en el caso de que algo no funcione.
Una Vpn RoadWarrior (guerrero de la carretera).
A parte permitirnos una navegacion segura en medios no confiables (ej una wifi). Nos va ha permitir acceder a nuestros equipos de casa/trabajo desde cualquier parte.

Para encontrar este tipo de script buscar con las siguientes palabras “github openvpn roadwarrior”

En este caso he usado https://github.com/Angristan/OpenVPN-install
Aunque si tienes tiempo recomiendo provar varios. Ya que a mi la ultima version de este script me ha dado problemas con el acceso ssh a traves de la vpn (solo en algun servidor).

Vamos alla.


1. (preparativos)

apt-get install curl -y

instalacion OpenVpn

ip a |grep global

instalacion OpenVpn Necesitare informacion de las ips

2. Instalar

curl -O https://raw.githubusercontent.com/Angristan/openvpn-install/master/openvpn-install.sh
bash ./openvpn-install.sh

instalacion OpenVpn

3. Configurar

instalacion OpenVpn Primero la ip por la que la maquina sale a interntet.
- Si tienes un servidor con dos interfaces de red. La que esta conectada al exterior(WAN)
Segundo pide La ip o nombre a la que los clientes se tienen que conectar.
- Desde el cliente deberia poder hacer ping a esta ip/nombre y obtener respuesta.
- Si el servidor tiene ip publica accesible desde internet (curl ipnfo.io ) pondria esta ip.
- instalacion OpenVpn resto de opciones por defecto

4. Listo para crear un cliente.

instalacion OpenVpn instalacion OpenVpn

5. ahora hay que copiar el archivo .ovpn al cliente e importarlo.

  • (esto puede ser una aventura….)
  • yo he utilizado mc (midnight commander) y me he conectado con ssh al servidor para bajarme el archivo. instalacion OpenVpn

6. Importo la conexion.

e intento conectarme. instalacion OpenVpn importo conexion instalacion OpenVpn importar conexion

Depuracion pruebas.

si algo falla buscar el problema puede ser tedioso.
sobre todo si es la primera que montamos una vpn.
aqui dejo un par de trucos rapidos para acotar el problema.

  • Con:

    pgrep openvpn
    

    deberia ver si el proceso/programa ha arrancado

  • Con:

    netstat -putonal |grep openvpn
    

    ejecutado en el servidor deberia ver un socket abierto a la escucha en el puerto 1194

  • Con:

    ip a |grep global 
    

    deberia ver una interfaz de red nueva llamada tun0

  • Con:

    tcpdump -i enp0s8 -n port 1194 -c4 
    

    ejecutado en el servidor deberia ver trafico cuando un cliente intente conectarse. instalacion OpenVpn trafico

  • Con:

    traceroute 1.1.1.1
    

    en el cliente deberia ver como el primer salto pasa por la ip de la vpn que montamos instalacion OpenVpn comprovar rutas tracert

  • Con:

    iptables -S
    sysctl net.ipv4.ip_forward
    cat /proc/sys/net/ipv4/ip_forward
    

    en el servidor deberiamos ver las reglas del cortaguegos (4ultimas) que necesita la vpn. Y el “ip forward” habilitado.
    instalacion OpenVpn reglas iptables

  • Otra forma de testear un cliente:

    openvpn test_em50L.ovpn &
    tracert 1.1.1.1
    

    si lanzo openvpn archivo_para_el_cliente_generado_en_el_servidor.ovpn el unn ordenador cliente
    vere mas informacion de como se crea el tunel que me puede ser util para diagnosticar y buscar en “google” los posibles fallos que sucedan instalacion OpenVpn comprobacion rutas en este caso se ve como se han creado las interfaces y las rutas en el cliente correctamente.
    en la segunda parte lanzado de nuevo un tracert 1.1.1.1 en el que se ve como el primer salto pasa por la vpn 10.8.0.1

Referencias

a Estudiar: