jueves, 16 de enero de 2020

Práctica #3: Enlace remoto entre PC y Raspberry Pi 4 mediante Microsoft hosted network virtual adapter

Como conectarse a una Raspberry Pi 4

PRACTICA # 3

“Enlace remoto entre computador y Raspberry Pi 4
utilizando <Microsoft Hosted Network Virtual Adapter>”




El primer problema que confronta un principiante utilizando el sistema embebido Raspberry Pi 4 durante desarrollo de algún proyecto es:

¿Cómo conectarse a la Raspberry Pi 4 bajo las limitaciones del entorno de desarrollo que se encuentra?

Por lo cual para poder solucionar esta problemática vamos a plantear la siguiente situación:

Entorno de desarrollo #3:

El jefe de desarrollo del departamento I+D, nos ordena conectarnos a una Raspberry Pi 4 para iniciar con la configuración de un proyecto, entregándonos las siguientes herramientas:

·        Un computador portátil (El cual tiene antena wifi, ethernet, lector SD y usb).
·        Una Raspberry Pi 4 (La cual contiene conexión ethernet, wifi, HDMI y puertos usb).
·        Un cable de alimentación USB a 5v para encender la Raspberry Pi 4.
·        Una memoria SD con el sistema operativo Raspbian

Y a su vez se nos informa las siguientes limitaciones:

1.      No se tiene a disposición un cable ethernet para realizar una conexión directa entre el PC de trabajo y la Raspberry Pi 4.
2.      No se dispone de un monitor con cable HDMI, teclado y mouse para un control directo mediante la interfaz gráfica que trae el sistema operativo Raspbian.
3.      No se dispone de un router o red local en el área de trabajo para un enlace remoto o directo
4.      No se dispone un smartphone para generar una red inalámbrica mediante Zona Wifi (Ejemplo explicado en la práctica # 2: http://oscarsteip.blogspot.com/2019/11/blog-post.html)

Por lo cual en base a estas limitaciones y herramientas se implementa la siguiente solución:

<<Generación de un enlace remoto entre el computador y las Raspberry Pi 4, mediante el adaptador “Microsoft Hosted Network Virtual”, que viene por defecto en el computador>>

Ahora ustedes se preguntarán, ¿Cómo hago para implementar lo que fue planteado anteriormente?, y para ello vamos a seguir los siguientes pasos:

PASO # 1: verificar si la tarjeta de red inalámbrica wifi del computador, tiene soporte activo para la funcionalidad del adaptador “Microsoft Hosted Network Virtual”, utilizando el command prompt de window, mediante el comando:
netsh wlan show driver

El cual debería arrojar la respuesta Yes en la sección “Hosted network supported”, como se muestra a continuación. (En caso de que la respuesta diga Yes saltar al siguiente paso).



·        Si el comando netsh wlan show driver contiene un No, deberemos ir a “Device Manager” y hacer despliegue de la ventana “Network adapters”:



·        En caso de no aparecer en la lista de “Network adapters” el adaptador “Microsoft Hosted Network Virtual”. Se debe actualizar el driver del controlador de red inalámbrico, mediante las firmas digitales del controlador, cargadas sobre el dispositivo del controlador inalámbrico listado en la ventana “Device Manager”, mediante la opción de “Browse my computer for drivers software”:





·        Seguido de la opción “Let me pick from a list of available drivers on my computer”:
             


Llegando de esta forma a la lista de firmas digitales, sobre las cuales vamos a instalar las clasificadas como “(Microsoft)”, una por una, verificando previamente cual es la que nos habilita la funcionalidad de “Microsoft Hosted Network Virtual” (Mediante el comando “netsh wlan show driver” que se explicó en el inicio del paso 1):



PASO # 2: Una vez confirmada la disposición del adaptador “Microsoft Network Virtual”, pasamos a la configuración de la red inalámbrica sobre el computador mediante los siguientes comandos:

·        Primero abrimos la terminal de Windows en modo administrador (Si se abre sin el modo administrador los siguientes comandos no funcionaran):



·        Ahora dentro del terminal de Windows ingresamos el comando para crear la red, tal cual se describe a continuación:

netsh wlan set hostednetwork mode=allow ssid=name key=pass

En donde sobre la frase ssid=name se deberá establecer el nombre de la red que queremos solo reemplazando la palabra name, y en la sección key=pass se debe poner la contraseña que se quiere configurar, bajo la condición de que esta contenga por lo menos letras y números al tiempo con un rango mínimo de 8 caracteres en total; arrojando la siguiente respuesta:


·        Luego de configurar la red, pasamos a activarla mediante el comando:

netsh wlan start hostednetwork

Generando el mensaje que se muestra a continuación:




Para para la emisión de la red, solo basta ejecutar el comando:

netsh wlan stop hostednetwork

PASO # 3: Verificación de la red previamente configurada sobre el computador. Para ello nos dirigimos a la sección “view network connections” o también lo podemos hacer utilizando el comando “ncpa.cpl”, sobre la barra de búsqueda de Windows.




Algunos se preguntarán ahora:

¿Puedo tener mi computador conectado a una red wifi, al mismo tiempo que estoy activando la red wifi sobre el adaptador virtual?

Pues la respuesta es SI. Sin ningún problema pueden estar usando una conexión inalámbrica sobre su computador portátil y a su vez pueden estar usando la red virtual como red de enlace remota para otros dispositivos, ya que trabajan de forma independiente.

PASO # 4: Conectar la Raspberry Pi 4 a la red inalámbrica preconfigurada anteriormente. Encontrándonos ahora con un gran problema:

¿Cómo hacemos para configurar el wifi de la Raspberry Pi 4 si no tenemos una forma de prenderla y poder trabajar sobre ella hasta el momento, ya que para ello apenas acabamos de configurar una red inalámbrica?

Pues muy sencillo compañeros desarrolladores, este problema se soluciona bajo la manipulación directa de los archivos contenidos en la memoria SD que contiene el sistema operativo de la Raspberry Pi 4, desde el computador de trabajo utilizando un lector de memoria SD.

Así que, hasta el momento no tenemos excusa alguna para no poder realizar la conexión entre el PC y la Raspberry Pi 4 utilizando una red mediante Microsoft hosted virtual adapter, por lo cual hacemos lo siguiente:

·        Insertamos la memoria SD de la Raspberry Pi 4 en un lector de memoria a nuestro computador de trabajo.




·        Abrimos la carpeta de información de la memoria SD y creamos un archivo con nombre “wpa_supplicant” y extensión “conf”.


·        Finalmente, dentro del archivo “wpa_supplicant.conf”, copiamos y pegamos el siguiente texto tal cual como se muestra a continuación:

# /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=ES

network={
ssid="SSID de la wifi"
psk="password"
key_mgmt=WPA-PSK
}

En donde, el texto “SSID de la wifi” corresponde al nombre de la red que queremos conectarnos y “password” a la clave de la red wifi previamente configurada. Aclarando que las <<comillas no se borran>>. Solo se edita el texto resaltado.

Listo, ahora solo basta con conectar la raspberry pi 4 con su adaptador de corriente.

PASO # 5: Ahora que se logró el montaje de una red inalámbrica en el computador de trabajo  mediante Microsoft hosted virtual adapter, y a su vez se realizó previa configuración de esta red a la Raspberry Pi, pasamos a comprobar si el PC se puede comunicar con la Raspberry Pi 4; y para ello basta con abrir la consola terminal de Window (suponiendo que el computador tiene S.O Windows), seguido del comando “arp -a”, el cual nos permite escanear todos los equipos enlazados a la red que el computador está emitiendo, mediante el adaptador Microsoft hosted network virtual.




Logrando de esta manera determinar la IP asignada a la Raspberry Pi4, pasando así al test “ping IP” (donde IP es la dirección dinámica asignada a la Raspberry Pi 4 por la red del smartphone) y sobre el que deberíamos obtener la respuesta mostrada a continuación.




NOTA: Este paso se puede realizar de una forma más sencilla utilizando programas de escaneo como el Advanced IP_Scanner. En donde directamente nos dice con nombre propio la IP asignada a cada dispositivo en un conjunto de red. Explicándose en este caso de la forma compleja, partiendo de la posibilidad de no tener internet para descargar aplicativos en el momento que se encuentra desarrollando la conexión requerida.




PASO # 6: (Para implementar este paso por favor verifique el paso opcional # 7)
Ahora para finalizar esta práctica lo que faltaría es realizar la conexión remota mediante el entorno previamente enlazado por los pasos anteriores, en donde se permita realizar cambios directos sobre la Raspberry Pi 4 mediante una consola terminal bajo protocolo:

SSH
(protocolo de administración remota que permite a los usuarios controlar y modificar sus servidores remotos a través de la red, mediante una consola de comandos)

Y ustedes dirán, ¿Cómo implemento o realizo una conexión remota SSH entre un computador y una Raspberry Pi 4?, Pues déjenme decirles que es algo sencillo y existen dos posibilidades:

La primera: Mediante el uso de un software externo previamente instalado que nos permite realizar conexión SSH como los es PUTTY o MobaXterm, recomendando el MobaXterm por la capacidad de manipular archivos de forma directa.




La segunda: Mediante una conexión directa utilizando la consola de terminal del sistema operativo que estamos trabajando, bajo el comando:

“ssh user@ip”

(Este comando es válido tanto para sistemas operativos Window como Linux, y vienen prestablecido para usarse por defecto)

En donde user es el nombre de usuario para iniciar sesión en la raspberry pi 4 que por defecto es “pi” y la ip es la dirección asignada por la red a la raspberry pi.




Es de destacar que independiente del método que utilicemos, a medida que se inicia la sesión se nos pedirá una clave de ingreso la cual por defecto en la Raspberry Pi 4 con sistema operativo Raspbian es “raspberry”.

NOTA: EL SIGUIENTE PASO ES PARA LOS QUE NUNCA HAN ACTIVADO EL SSH A LA RASPBERRY PI 4


PASO # 7: Si el paso numero 6 le genero error de conexión al momento de generar el enlace SSH, es porque la Raspberry Pi 4 por defecto trae el protocolo SSH desactivado, y para poderlo activar partiendo de las limitaciones de esta práctica, lo que debemos hacer es crear un archivo con nombre “ssh” sin extensión dentro de la memoria SD de la Raspberry Pi, el cual no deberá contener ningún contenido interno.

lunes, 13 de enero de 2020

Práctica #10: Ajuste y configuración de la Raspberry Pi 4 para el desarrollo de proyectos utilizando el lenguaje de programación Python bajo el sistema operativo Raspbian

Raspberry Pi para desarrolladores

PRÁCTICA # 10

“Ajuste y configuración de la Raspberry Pi 4 para el desarrollo de proyectos utilizando el lenguaje de programación Python bajo el sistema operativo Raspbian”



Como ya se ha mencionado en anteriores publicaciones, la Raspberry Pi es un computador a escala mínima que permite trabajar sobre un sistema operativo generalmente denominado Raspbian. El cual es definido como una distribución del sistema operativo Linux, conllevando a que contenga un compilador Python previamente instalado, sobre el que se debe tener presente la siguiente consideración:

“El compilador Python  del sistema operativo Raspbian de la Raspberry Pi, no permite controlar los puertos físicos de entrada y salida del sistema embebido”

Por lo cual, para poder complementar el compilador Python previamente instalado en el sistema operativo Raspbian, deberemos instalar el módulo “RPi.GPIO”, partiendo del orden presentado a continuación:

    1.    Una actualización e instalación de los repositorios internos de la Raspberry Pi mediante el siguiente comando de consola:

sudo apt-get update
sudo apt-get upgrade

    2.    Instalación del gestor de módulos y librerías para Python 3, utilizando el siguiente comando:

sudo pip3 install --upgrade setuptools , y en caso de no funcionar usar el comando: sudo apt-get install python3-pip

    3.    Instalación del módulo para control de puertos físicos de la Raspberry Pi, mediante el comando:

pip3 install RPI.GPIO



Si ustedes son detallistas el comando “pip” viene acompañado de un número 3, el cual establece que los módulos a instalar, son para la versión 3.x del compilador Python, ya que la versión 2.x del nombrado lenguaje queda sin soporte a partir del 1 de enero del año 2020.

Ahora, que ya tenemos instalado el módulo que nos permite manipular las entradas y salidas físicas de la Raspberry Pi, lo que debemos hacer es establecer un entorno de trabajo seleccionando un editor de texto que permita agilizar la navegación y optimización del proceso de programación.

Por lo cual, recomiendo instalar el editor Visual Studio Code, como editor de código fuente que contiene sobresalientes herramientas para la navegación, búsqueda y depuración de los algoritmos a desarrollar en Python y muchos otros lenguajes de programación (necesita sincronización externa si es de forma remota). El cual puede ser descargado en la siguiente dirección:




Destacando que el sistema operativo Raspbian o incluso el software remoto MobaXterm, contienen sus propios editores instalados, como se describe a continuación:

  1.    Editor “nano” instalado por defecto en sistemas operativos Raspbian o toda distribución Linux, el cual se utiliza desde la consola de comandos, y se ejecuta mediante la instrucción:

sudo nano NombreArchivo.Extensión




    2.    Editor de texto del programa de acceso remoto MobaXterm, el cual es de uso sencillo sobre el que simplemente deberemos seleccionar la opción, editar archivos en la carpeta de sincronización:



     3.    Editor de texto desde la interfaz de trabajo del sistema operativo Raspbian, desde la modalidad estación de trabajo o virtualización de escritorio mediante tightvncserver (véase la práctica 5 y 7):



Finalmente, otro aspecto importante que se debe tener en cuenta al momento de desarrollar en la Raspberry pi utilizando el lenguaje de programación Python, es entender como ejecutar y validar los algoritmos que estamos desarrollando. Y para ello voy especificar la opción más sencilla partiendo de lo siguiente:

      1.    Un archivo Python están constituidos por un “nombre” y una extensión denominada “py”; ejemplo:

proyecto.py

    2.    La forma más práctica y global para ejecutar un código fuente desarrollado en Python es utilizar la consola de comando mediante la siguiente instrucción:

sudo python3 /dirección_de_alojamiento_del_archivo ARCHIVO.py

En donde sudo significa ejecutar en modo administrador (opcional) y python3 es el compilador con el que se ejecutara el programa:



Encontrando de esta forma una metodología de ejecución que evita la sincronización de editores de código fuente externo hacia la Raspberry Pi, permitiendo así, la no dependencia constante de las herramientas de los editores de código fuente.

Consolidando de esta forma el tema de configuración del entorno de trabajo para iniciar a programar utilizando Python en la Raspberry Pi. Por lo que si te ha gustado esta pequeña guía compártela en tus redes sociales y nos vemos en la próxima práctica.

Muchas gracias y éxitos en sus proyectos.

martes, 17 de diciembre de 2019

Práctica #9: El riesgo de utilizar protocolos no cifrados durante el enlace remoto de una Raspberry Pi 4

Raspberry Pi para desarrolladores

PRÁCTICA # 9

“El riesgo de utilizar protocolos no cifrados durante el enlace remoto de una Raspberry Pi 4”



Una de las preguntas que constantemente se hace un desarrollador al momento de evaluar la conexión remota entre dos o más dispositivos como la Raspberry Pi, generalmente viene siendo:

¿Qué protocolo de comunicación debería utilizar para la transmisión y control de procesos?

Pregunta que se enfoca directamente sobre de la transferencia efectiva de información sin evaluar el grado de inseguridad sobre la red de comunicación.

Por lo cual, con el fin de poder validar como se exponen los datos al usar un protocolo cifrado como SSH, ante otros que no son cifrado como TELNET, a continuación vamos a analizar dos capturas de tráfico tomadas durante el proceso de autentificación que realiza un computador a una Raspberry Pi, al momento de transferir las credenciales de ingreso (usuario/contraseña) en la sesión de cada protocolo:

Captura de paquetes utilizando WireShark del enlace remoto de una Raspberry Pi administrada bajo protocolo TELNET

Para poder generar una conexión TELNET en la Raspberry Pi se necesitan instalar el módulo de telnetd, mediante el siguiente comando sobre la consola:
sudo apt-get install telnetd

Una vez terminada la descarga e instalación solo debemos activar la comunicación TELNET en la raspberry mediante el comando:

sudo /etc/init.d/openbsd-inetd restart




Captura de paquetes utilizando WireShark del enlace remoto de una Raspberry Pi administrada bajo protocolo SSH




Encontrándonos con el siguiente resultado:

El protocolo TELNET a diferencia del SSH, expone de manera directa todos los datos de forma crítica, al no utilizar un cifrado para el transporte de información. Siendo tal el caso, que se hace evidente de forma directa, la información de la autentificación usuario/contraseña que fue usada durante el ingreso y control de la Raspberry Pi. Información que no debería estar expuesta de ninguna manera mediante una simple captura de tráfico utilizando programas como WireShark.

Finalmente, espero que esta información les sirva como guía para entender la importancia de trabajar con protocolos que contengan grados de cifrado para el tráfico de información. Así que muchas gracias y si les ha gustado esta pequeña práctica por favor divulgar esta información, para que todos aquellos que quieran aprender a desarrollar sobre la Raspberry Pi no se pierdan las próximas publicaciones.

jueves, 12 de diciembre de 2019

Práctica # 8: VPN para conexión remota entre redes privadas en una Raspberry Pi 4

Raspberry Pi 4 para desarrolladores

PRÁCTICA # 8

“Acceso remoto a una Raspberry Pi 4 mediante OpenVPN y PiVPN para administración y soporte desde redes privadas”




Gestionar y controlar una Raspberry pi de forma remota desde diferentes puntos de acceso privado, se ha convertido en una tarea importante para la construcción de canales de acceso remoto entre las diferentes empresas de desarrollo y sus respectivos clientes, buscando el cumplimiento de los siguientes tres criterios:

1.     Detectar y atender fallas reportadas por el cliente o el mismo sistema.

2.     Actualizar y desarrollar a distancia.

3.     Seguir y monitorear el funcionamiento de cada uno de los dispositivos instalados.

De acuerdo a lo anterior, ahora ustedes se preguntarán:

¿Cuál es la metodología práctica utilizada para el acceso remoto de dispositivos conectados en redes privadas diferentes?

El acceso remoto de dispositivos mediante redes privadas, han venido siendo administrado mediante el uso de una herramienta denominada VPN (“Virtual Private Network”). El cual no es más que una tecnología de red capaz de generar un enlace directo entre una red local y una red pública que utiliza un formato de autentificación credencial bajo un conjunto de protocolos de transporte de datos como UDP y TCP.

Para entender más a fondo como funciona esta metodología lo que se propone de forma general en cada una de sus etapas es:

      1.     Generar un servidor VPN sobre el dispositivo que se quiere controlar (la Raspberry Pi), utilizando un gestor de conexión VPN que dependerá del tipo de tecnología a usar.

 2.     Apertura de puertos de comunicación de los protocolos de transporte de datos UDP o TCP del enlace a configurar. (Pueden existir otros protocolos y depende de tipo de gestor VPN a usar, además de que esto se realiza sobre el router que proporciona acceso de red a la Raspberry Pi).

      3.     Generación y distribución de credenciales de acceso a los usuarios interesados de la VPN del servidor.

    4.     Acceso remoto mediante herramientas de gestión VPN como OpenVPN (desde nuestro computador de desarrollo o celular), bajo la importación de la credencial de autentificación generada por el servidor.

Por lo tanto, para entender cada una de estar etapas se propone la siguiente práctica:

“Generar un acceso remoto utilizando un gestor VPN, que permita controlar y gestionar una Raspberry Pi desde un computador o celular que se encuentra en un entorno de red diferente”

Para solucionar este ejercicio vamos a seguir los siguientes pasos, aclarando que no es una metodología definitiva ya que existen muchos gestores VPN para realizar este tipo de enlace remoto:

PASO # 1: Configuración de la VPN sobre la Raspberry Pi.

Para realizar esta primera etapa, si o si la Raspberry Pi deberá estar conectada a una red con internet, con el fin de poder descargar la aplicación “PiVPN”, la cual es un gestor de red privada para sistemas embebidos como la Raspberry Pi. El cual puede ser instalado mediante el comando:


curl -L https://install.pivpn.io | bash



Redireccionándonos seguidamente a una ventana de configuración en la que podremos detallar y gestionar todo el proceso de instalación de cada uno los paquetes previamente descargados por dicho enlace. Pasando luego a una ventana de información en la que se nos especificara que la Raspberry Pi se transformara en un servidor VPN.



Seguidamente, se nos advertirá que es importante establecer una red con IP estática para la Raspberry Pi sobre alguna de las interfaces de red disponibles por este hardware. En donde, escoger la red cableada o la red inalámbrica dependerá de la infraestructura de conexión del medio de trabajo en el que se encuentra instalada la Raspberry Pi.




Luego, él estado de configuración nos advertirá si queremos confirmar el uso de la IP asignada por defecto, recordándonos que el uso de IP dinámicas podría llevar a la comunicación a un conflicto de red. Sobre el que al darle aceptar lo que hace este administrador PiVPN es configurar internamente la Raspberry Pi, para que cuando se conecte a la Red si o si el proveedor le asigne una IP definida bajo petición directa de la misma tarjeta.

Encontrándonos que el problema de que la Raspberry Pi sea el que define su propia IP, es que, si el proveedor ISP ya la tiene definida, conllevara a un conflicto de conexión sobre los enlaces afectados. Por lo cual es recomendable que la definición de la IP de la Raspberry Pi, sea establecida y reservada de forma jerárquica por el mismo proveedor ISP (router). Aunque para este ejemplo se trabajo la petición de asignación por petición de la Raspberry.



Una vez que tenemos configurado el tema de la interfaz de red, el gestor nos pedirá que definamos el usuario que administrara los servicios del servidor VPN en la Raspberry Pi, junto a la activación de las actualizaciones periódicas para mantener segura la interfaz de conexión VPN.

Finalizando de esta manera la primera fase de configuración de la VPN en la Raspberry Pi.
PASO # 2: Apertura de puertos de comunicación para la VPN y preconfiguración del nivel de autentificación del certificado de conexión.

La configuración de la VPN en la Raspberry Pi, nos pedirá seleccionar un protocolo de comunicación bajo dos opciones que dependerán de lo que el entorno de comunicación proporcione y se solicite:

    ·        UDP (alta velocidad con baja latencia sin confirmación de paquetes recibidos).
    ·        TCP (alta fiabilidad con mayor latencia y menor velocidad con confirmación de paquetes recibidos).


Conllevando a que según la decisión que tomemos, se nos establecerá un puerto de enlace por defecto para el UDP como el 1194 y para el TCP el 443. Tomando en este caso la configuración de la opción UDP.

Puerto que deberá ser abierto sobre la red de trabajo de la Raspberry Pi, mediante la configuración directa del router que proporciona la conexión de red a la Raspberry. Teniendo en cuenta que generalmente este tema es de autonomía propia de la oficina de comunicación en las empresas que trabajamos o del mismo cliente al que se le prestara el servicio.

Aclarando que la IP asociada al puerto que se configurará, será la definida por los pasos anteriores a la Raspberry Pi.



NOTA: Si no se genera la apertura del puerto del protocolo UDP o TCP, al momento de generar la conexión obtendremos un error de acceso. Así que este paso es fundamental.
Luego de generar la definición del protocolo de transporte y su respectivo puerto de comunicación, la interfaz de configuración de PiVPN, nos pedirá decidir si queremos establecer un grado de autentificación para el certificado de conexión. El cual es un archivo físico de extensión “. ovpn” que utilizara el interesado para conectarse a la Raspberry Pi de forma remota utilizando herramientas como OpenVPN ya sea desde un celular o un computador.

Pidiendo de forma conjunta que se decida si nuestro servidor será visto por los clientes mediante un IP publica o mediante un identificador DNS. Destacando que para este ejercicio se trabajó bajo el uso de la IP pública del ISP al que se conectó la Raspberry Pi.

PASO # 3: Generación del certificado de conexión de la VPN.

Terminando la configuración de la VPN en la Raspberry Pi, se nos advertirá de que el comando para generar un servidor con su respectivo certificado de conexión será:

pivpn add (Para credenciales con contraseña de autentificación)
pivpn add nopass (Para credenciales sin contraseña de autentificación)

o también se puede utilizar de la forma:

pivpn -a (Para credencial con contraseña de autentificación)

pivpn -a nopass (Para credencial sin contraseña de autentificación)





En donde dependiendo de cómo lo hagamos, deberemos definir una contraseña de autentificación. La cual, deberá ser compartida junto el certificado de conexión encontrado en la carpeta “ovpns” en la Raspberry Pi.




PASO # 4: Conexión remota desde otra red privada al servidor VPN de la Raspberry Pi.


Para realizar una conexión sobre una VPN lo primero que debemos hacer es disponer de una herramienta o software capaz de administrar este tipo de conexiones. En este caso lo que vamos a realizar es la instalación previa de un programa denominado OpenVPN. El cual presenta una interfaz de trabajo intuitiva y versátil para este tipo de conexiones bajo una compatibilidad en sistemas operativos como Windows, Linux, Android y iOS.


Luego de que hemos descargado e instalado OpenVPN en nuestro computador o celular que utilizaremos como enlace remoto hacia la Rapberry Pi, tomaremos o solicitaremos la credencial generada por el servidor de la Raspberry Pi, junto a su respectiva clave de autentificación. La cual, simplemente deberá ser importada por la herramienta OpenVPN.




Logrando así una conexión remota sobre la red a la que se encuentra conectada la Raspberry Pi desde una red privada y sobre la que solo nos queda verificar si podemos ingresar a la Raspberry Pi. Proceso que debería ser validado mediante el uso de un enlace directo utilizando el protocolo SSH tal cual se ha definido en las publicaciones de estos tutoriales anteriormente.

Ahora ustedes se preguntarán: ¿A qué IP debemos apuntar para conectarnos a la Raspberry PI utilizando un enlace SSH?, pues resulta que, si ya estamos enlazados a la red privada de la Raspberry Pi mediante una VPN, es como si estuviéramos físicamente conectados a la misma red. Por lo cual la respuesta a esta pregunta sería a la IP asignada por la red privada de la Rasbperry Pi o al identificador por defecto de su host.




Ejemplo que también puede ser replicado utilizando un teléfono móvil bajo la aplicación OpenVPN disponible según su sistema operativo junto a una comunicación SSH gestionada por una aplicación como “Termius” para teléfonos con sistema operativo Android.




Finalmente solo me queda decirles que espero que esta información les ayude como guía para entender el alcance del uso de enlaces VPN para la gestión de dispositivos conectados en redes privadas independientes. Así que muchas gracias y si les ha gustado esta pequeña práctica por favor divulgar esta información, para que todos aquellos que quieran aprender a desarrollar sobre la Raspberry Pi no se pierdan las próximas publicaciones.