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
ip a |grep global
Necesitare informacion de las ips
2. Instalar
curl -O https://raw.githubusercontent.com/Angristan/openvpn-install/master/openvpn-install.sh bash ./openvpn-install.sh
3. Configurar
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.
-resto de opciones por defecto
4. Listo para crear un cliente.
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.
6. Importo la conexion.
e intento conectarme.
![]()
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.
Con:
traceroute 1.1.1.1
en el cliente deberia ver como el primer salto pasa por la ip de la vpn que montamos
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.
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 sucedanen este caso se ve como se han creado las interfaces y las rutas en el cliente correctamente.
en la segunda parte lanzado de nuevo untracert 1.1.1.1
en el que se ve como el primer salto pasa por la vpn10.8.0.1