Construyendo un NAS compacto en NanoPC-T4 con Armbian y Samba
El NanoPC-T4 con 4 GB de LPDDR3, 16 GB de eMMC, Ethernet Gigabit y USB 3.0 te permite configurar un NAS sin necesidad de comprar hardware nuevo. Usa Debian 13 de FriendlyElec, conecta un HDD externo vía USB y configura Samba para el acceso en red. Esta solución es ideal para desarrolladores de nivel medio/senior familiarizados con Linux y sistemas embebidos.
Elegir la imagen del SO y el arranque inicial
Las imágenes de Armbian a veces tienen problemas con Wi-Fi en NanoPC-T4 debido a fallos en los drivers. Descarga la Debian 13 oficial del sitio web de FriendlyElec: el arranque y la conexión de red funcionan de manera estable. Inserta la microSD, conecta la alimentación y verifica las interfaces: wlan0 se activa automáticamente.
Después del primer arranque, actualiza el sistema:
sudo apt update && sudo apt upgrade -y
Configurando Samba para compartir archivos
Instala Samba para acceso SMB/CIFS:
sudo apt install samba
Crea un usuario del sistema:
sudo adduser test-user
sudo smbpasswd -a test-user
Prepara el directorio:
sudo mkdir /opt/shared_test
sudo chmod 775 /opt/shared_test
Restablece la config de Samba:
sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
sudo vim /etc/samba/smb.conf
Inserta la configuración:
[global]
workgroup = WORKGROUP
security = USER
server string = %h server
bind interfaces only = no
log file = /var/log/samba/log.%m
log level = 1
max log size = 1000
logging = file
panic action = /usr/share/samba/panic-action %d
server role = standalone server
obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
pam password change = yes
usershare allow guests = yes
map to guest = bad user
idmap config * : backend = tdb
[printers]
comment = All Printers
browseable = no
path = /var/spool/samba
printable = yes
guest ok = no
read only = yes
create mask = 0700
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = no
[shared_test]
comment = Test Folder
path = /opt/shared_test/
read only = no
guest ok = no
writable = yes
admin users = test-user
Verifica la sintaxis:
sudo testparm
Reinicia el servicio:
sudo systemctl daemon-reload
sudo systemctl restart smbd
Conectando al recurso compartido desde clientes
Determina la IP del servidor:
ip a
Ejemplo: wlan0: inet 192.168.0.185/24.
Desde Windows
- Explorador de archivos → Clic derecho en "Este equipo" → "Mapear unidad de red".
- Introduce
\\192.168.0.185\shared_test. - Introduce
test-usery la contraseña.
Desde Linux (interfaz gráfica)
- Administrador de archivos → "Otros lugares".
smb://[email protected]/shared_test/.- Introduce la contraseña.
Desde Linux (CLI)
sudo apt install smbclient
smbclient \\192.168.0.185\shared_test -U test-user
En smbclient: \> ls mostrará los archivos. Comandos: help para referencia.
Expandiendo el NAS: Almacenamiento y acceso
Conecta el HDD a USB 3.0. Montaje automático vía /etc/fstab o reglas de udev. Para mayor estabilidad, añade una verificación de disco a crontab:
@reboot mount /dev/sda1 /mnt/storage
Configura múltiples recursos compartidos:
- Recurso de medios (
/mnt/media):read only = yespara streaming. - Recurso de respaldo (
/mnt/backup):writable = yes, cuotas víaquota. - General (
/opt/shared): ACL consetfaclpara acceso granular.
Monitoreo: smbstatus para conexiones activas, tail -f /var/log/samba/log.* para logs.
Optimización de rendimiento
NanoPC-T4 maneja tráfico gigabit en Samba. Ajustes:
- Aumenta
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=131072 SO_SNDBUF=131072en[global]. - Activa
aio read size = 1 aio write size = 1para E/S asíncrona. - Limita procesos:
max smbd processes = 100.
Para expansión PCIe, añade SSD NVMe vía adaptador — hasta 500 MB/s de escritura.
Prueba el rendimiento: iperf3 para red, dd para disco.
Seguridad y automatización
- Firewall:
ufw allow samba. - HTTPS para gestión: proxy inverso con Nginx.
- Respaldo automático de configs:
rsync /etc/samba /mnt/backupen cron.
Montaje automático de discos al arranque:
blkidpara UUID.- Añade a
/etc/fstab:UUID=xxxx /mnt/storage ext4 defaults 0 2. systemctl daemon-reload.
Puntos clave
- SBC como NAS: NanoPC-T4 con Ethernet Gigabit y USB 3.0 proporciona acceso estable sin un servidor dedicado.
- Config de Samba: Plantilla mínima con autenticación de usuario y recursos escribibles.
- Multiplataforma: Funciona desde Windows, Linux GUI/CLI.
- Escalabilidad: Fácil añadir discos, ajustes para rendimiento.
- Costes: Gratis usando componentes existentes.
— Editorial Team
Aún no hay comentarios.