Crea un disco en línea con Raspberry y Samba
En este artículo te guiaré a lo largo del recorrido para instalar y configurar un disco en línea, también conocido como NAS (Network Attached Storage, en inglés) utilizando un disco duro externo y tu Raspberry Pi.
No, lo siento, no vamos a hacer que nuestra Raspberry Pi baile al ritmo de samba, pero sí utilizaremos el programa Samba para configurar nuestro disco de red.
Una vez montado, seremos capaces de acceder a los archivos que colguemos ahí desde cualquier sitio, será como tener nuestro propio servicio de Dropbox o Onedrive, pero privado y exclusivo.
Es un proyecto muy útil, de hecho, es de los pocos que recomiendo tener siempre activos, de acuerdo con el artículo que escribí sobre solo mantener algunos servicios importantes activos continuamente. Lo puedes consultar aquí:
Dicho eso, ¡vamos a empezar!
Instalación del disco duro externo
Para esta instalación, utilizaremos un disco externo USB. En mi experiencia, los discos externos de Seagate me han funcionado muy bien con la Raspberry Pi:
Seagate Expansion Portable Drive 1TB
Lo primero que haremos es conectarlo a nuestra Raspberry pi y ejecutamos el comando lsusb
para ver que lo reconocemos en el sistema:
Perfecto, vamos a ver dónde tenemos este dispositivo conectado:
Identificamos nuestro disco duro externo y vemos que está situado en /dev/sda1
. Ahora tenemos toda la información que necesitamos para montarlo en el sistema, es decir, engancharlo a nuestro sistema de archivos y carpetas para poder acceder a los contenidos.
Sin embargo, antes de hacer esto deberíamos crear el directorio donde queremos montar el disco:
Y ajustamos los permisos:
Finalmente podemos montar el disco:
Y ya lo tendríamos, con navegar hasta /mnt/extra
encontraríamos nuestros archivos. Sin embargo, al reiniciar la Raspberry, deberíamos volver a montar el sistema, queremos hacer que se monte automáticamente al encender el ordenador; vamos a indicárselo a nuestra Raspberry.
Tomamos nota del UUID de nuestro disco duro externo (lo vimos anteriormente con el comando blkid
) y del tipo de formato (en nuestro caso ntfs porque viene de un ordenador de Windows con archivos ya dentro) y añadimos la siguiente línea:
A fstab:
Para que quede así:
Ya tenemos todo configurado para que nuestro disco se monte automáticamente en el directorio indicado. Solo nos falta hacer que nuestra Raspberry baile.
Instalando Samba
Empezamos instalando Samba de los repositorios:
Y modificamos la configuración para indicarle que disco queremos compartir añadiendo el siguiente bloque de texto:
Al final de /etc/samba/smb.conf
:
Reiniciamos Samba para recargar la configuración:
Y ya podríamos conectarnos desde otro ordenador, vamos a ver cómo hacerlo desde Windows.
Conectándonos desde Windows
Conectarse desde Windows es muy sencillo, basta con ir al explorador de archivos y seleccionar “conectar a unidad de red” después de hacer clic derecho sobre el icono de “Este equipo”:
En el siguiente diálogo, basta con escribir la dirección IP local de nuestra Raspberry (consulta este artículo para saber cómo averiguarla) seguida del nombre del disco Samba que hemos asignado anteriormente (en este tutorial, SambaArdumaster):
Conectándonos desde cualquier sitio
Hemos conseguido crear una unidad de red donde guardar nuestros archivos y poder acceder a ellos desde la red local, pero ¿cómo podemos acceder a ellos desde fuera de casa?
Hemos creado un directorio público, por lo que no es buena idea conectarlo directamente a internet (tampoco lo sería aunque fuese privado). Lo que recomiendo es instalar una VPN privada y acceder a este disco como si estuvieras en tu casa, aunque estés al otro lado del mundo.
Recomiendo utilizar Wireguard para instalar tu propia VPN en casa; en el siguiente artículo puedes encontrar como hacer esto de una forma muy sencilla:
Conclusiones
Con esto terminamos el proyecto. Ahora tenemos una unidad de red dónde subir todo lo que queramos. Comprobaras que es un proyecto muy útil, no solo para guardar tus archivos, sino que también nos permitirá hacer proyectos más avanzados basados en este. ¡No te los pierdas próximamente!