CREAR UN SERVIDOR VPN UTILIZANDO PIVPN
Antes de empezar con la instalación actualizamos los repositorios:
apt-get update && apt-get upgrade
Instalamos PiVPN con el comando:
curl -L https://install.pivpn.io | bash
Seguimos todos los pasos que son bien sencillos acordándonos de seleccionar UDP en la opción de protocolo. Ponemos el puerto que queramos (si no tenemos mas VPN dejamos el que viene) y reiniciamos.
Volvemos al terminal SSH una vez iniciado e introducimos lo siguiente para crearnos un usuario:
pivpn add
Con estos pasos se genera un archivo que lo utilizaremos para importar dentro el cliente OPENVPN para poder acceder.
Estará ubicado en :
/home/NUESTRO_USUARIO/ovpns
Si quisiéramos crear un usuario sin contraseña deberíamos haber ejecutado el comando:
pivpn add nopass
ELIMINAR USUARIOS DEL SERVIDOR OPENVPN
Para obtener un listado de la totalidad de certificados otorgados a los clientes ejecutamos el siguiente comando:
pivpn list
Al ejecutar el comando obtenemos un listado de la totalidad de los certificados disponibles conjuntamente con su estado.
::: Certificate Status List ::: :: Status || Name :: Valid :: server Valid :: openvpn
Por lo tanto vemos que al cliente openvpn le otorgamos un certificado y además vemos que es válido. Si queremos que este cliente no se pueda conectar nunca más a nuestro servidor tan solo tenemos que revocarle el certificado ejecutando el siguiente comando en la terminal:
pivpn revoke
Después de ejecutar el comando se nos preguntará el nombre del cliente al que queremos revocar el certificado. Lo introducimos y presionamos la tecla enter. Acto seguido el cliente ya no se podrá conectar nunca más a nuestro servidor.
UBICACIONES QUE TENEMOS QUE CONOCER DEL SERVIDOR OPENVPN
Para el correcto mantenimiento del servidor OpenVPN es interesante que conozcáis las siguientes ubicaciones:
Archivo | Descripción | Ubicación |
server.conf | Archivo donde se guardan los parámetros de configuración del servidor. Si en el proceso de configuración del servidor hemos cometido algún error, tan solo tendremos que acceder a este archivo y realizar las modificaciones pertinentes. | /etc/openvpn |
Default.txt | Fichero que se toma como referencia para generar el fichero de configuración de los clientes. En este fichero podremos cambiar parámetros como por ejemplo la IP pública del servidor. | /etc/openvpn/easy-rsa/pki |
cliente.conf | Archivo de configuración para que el cliente pueda conectarse al servidor. Este archivo es absolutamente necesario para que los clientes puedan conectarse al servidor OpenVPN. | ~/ovpnsy/etc/openvpn/easy-rsa/pki |
Para hacerse una idea de lo que significan cada uno de los parámetros pueden consultar el siguiente post en el que se detalla como instalar y configurar un servidor OpenVPN en Linux.
Otras ubicaciones de interés de nuestro servidor son:
Archivo | Descripción | Ubicación |
ca.keyserver.keyclient1.keyclient2.key | En cada uno de los archivos mencionados se guardan las claves privadas del servidor, de la entidad certificadora y de los clientes. | /etc/openvpn/easy-rsa/pki/private |
server.crtclient.crt | Certificados de cada uno de los clientes y del servidor. | /etc/openvpn/easy-rsa/pki/issued |
dh2018.pemta.key | Ubicación en que se halla el certificado raíz de la entidad certificados, los archivos que contienen los parámetros de Diffie Hellman y la clave para la autenticación TLS | /etc/openvpn/easy-rsa/pki |
VER LOS CLIENTES CONECTADOS AL SERVIDOR
Si alguna vez precisan saber los clientes que están conectados al servidor tan solo tienen que ejecutar el siguiente comando:
pivpn clients
DESINSTALAR EL SERVIDOR VPN
Si finalmente llega el día que quieren desinstalar el servidor OpenVPN de su Rapberry Pi tan solo tienen que ejecutar el siguiente comando en la terminal:
pivpn uninstall
CONECTARSE AL SERVIDOR OPENVPN
Una vez finalizada la configuración del servidor ya podemos empezara usar el servidor. En las próximas semanas detallaré el procedimiento a seguir para conectarse a nuestro servidor VPN usando los sistemas operativos más comunes en la actualidad.