Saltar a contenido

Guía de Configuración: Servidor de Archivos en Raspberry Pi (SMB, NFS y Rsync)

Esta guía detalla los pasos para convertir tu Raspberry Pi en un servidor de archivos en red utilizando Samba (SMB) para compatibilidad con Windows/macOS, NFS para sistemas Linux y Rsync Daemon para respaldos automatizados.


1. Preparación del Sistema y Carpeta Compartida

Actualiza los paquetes del sistema y crea el directorio que vas a compartir.

sudo apt update && sudo apt upgrade -y
sudo mkdir -p /srv/compartido
sudo chmod 777 /srv/compartido

Para verificar: Ejecuta ls -ld /srv/compartido y confirma que la carpeta existe y tiene permisos de lectura/escritura (drwxrwxrwx).


2. Configuración de Samba (SMB)

Samba permite compartir archivos principalmente con clientes Windows y macOS.

Seguridad en Samba: La configuración por defecto permite acceso de lectura y escritura a cualquier usuario sin contraseña en la red local. Si necesitas restringirlo, añade un usuario con sudo smbpasswd -a usuario.

Pasos de configuración:

  1. Instalar Samba Ejecuta el siguiente comando para instalar el paquete principal:

    sudo apt install samba samba-common-bin -y
    

  2. Configurar el recurso compartido Añade el siguiente bloque al final del archivo /etc/samba/smb.conf:

    [Compartido]
       path = /srv/compartido
       writeable = yes
       browseable = yes
       public = yes
       create mask = 0777
       directory mask = 0777
       force user = pi
    

  3. Reiniciar el servicio Aplica la configuración reiniciando el servicio:

    sudo systemctl restart smbd
    

Para verificar: En Windows, presiona Win + R, escribe \\<IP_DE_TU_RASPBERRY>\Compartido y comprueba que puedes acceder y crear un archivo de texto.


3. Configuración de NFS (Network File System)

NFS ofrece un rendimiento superior para clientes Linux.

Pasos de configuración:

  1. Instalar el servidor NFS Instala los paquetes necesarios para NFS:

    sudo apt install nfs-kernel-server -y
    

  2. Exportar la carpeta Edita /etc/exports y añade la siguiente línea para permitir acceso a tu red local, se pueden añadir todas las carpetas con ip distintas que quiera los usuario que lleguen serán mapeados a root en el servidor, evitando problemas de permisos (ajusta el rango IP si tu subred es distinta):

    /srv/compartido 192.168.1.0/24(rw,sync,no_subtree_check,all_squash,anonuid=0,anongid=0)
    

  3. Exportar y reiniciar Aplica la nueva configuración de NFS:

    sudo exportfs -arv
    sudo systemctl restart nfs-kernel-server
    

Para verificar: Ejecuta sudo exportfs en la Raspberry Pi. Deberías ver la ruta /srv/compartido listada con las IPs autorizadas.


4. Configuración del Demonio Rsync (Rsync Module)

Activar rsync como demonio (rsyncd) permite realizar sincronizaciones y respaldos eficientes en segundo plano desde otros equipos.

Pasos de configuración:

  1. Crear archivo de configuración Crea y edita el archivo /etc/rsyncd.conf:

    uid = root
    gid = root
    use chroot = no
    max connections = 4
    pid file = /var/run/rsyncd.pid
    lock file = /var/run/rsync.lock
    log file = /var/log/rsyncd.log
    
    [respaldos]
        path = /srv/compartido
        comment = Módulo de respaldo Rsync
        read only = no
        list = yes
        auth users = *
    

  2. Habilitar e iniciar el servicio Habilita el demonio para que inicie automáticamente con el sistema:

    sudo systemctl enable rsync
    sudo systemctl start rsync
    

Para verificar: Desde otro equipo Linux/macOS en la misma red, ejecuta:

rsync rsync://<IP_DE_TU_RASPBERRY>/
Si la configuración es correcta, verás el módulo respaldos listado en la pantalla.