🛠 NAS Samba sur NVMe avec VLANs de gestion

NanoPi R5S (FriendlyElec) · avance · Schéma : IMG-nanopi-r5s-avance-3-nanopir5s-nas-samba.svg — NanoPi R5S avec SSD NVMe M.2 en partage Samba, bridge br-lan découpé en VLAN 10 (données) et VLAN 20 (gestion), pare-feu entre zones

Objetivos

Aprovechar el slot M.2 Key-M (2280, PCIe 2.1 x1, NVMe) del NanoPi R5S para convertirlo en un NAS Samba rápido, aislando al mismo tiempo el tráfico de gestión mediante VLAN 802.1Q en el bridge LAN. Combinarás: montaje del NVMe con ext4, compartición Samba endurecida, creación de subinterfaces VLAN en el bridge (br-lan.10 datos / br-lan.20 gestión) y reglas de filtrado entre zonas. Requiere un switch gestionado aguas arriba.

Material

Código completo

#!/bin/bash
# 1) NVMe : formatage (ATTENTION efface tout) + montage persistant
lsblk ; mkfs.ext4 -L nas /dev/nvme0n1   # vérifier le bon disque AVANT
mkdir -p /mnt/nas && blkid /dev/nvme0n1
# /etc/fstab : UUID=... /mnt/nas ext4 defaults,noatime 0 2
mount -a

# 2) VLANs sur le bridge LAN (switch amont en trunk 10,20)
ip link add link br-lan name br-lan.10 type vlan id 10
ip link add link br-lan name br-lan.20 type vlan id 20
ip addr add 192.168.10.1/24 dev br-lan.10   # données
ip addr add 192.168.20.1/24 dev br-lan.20   # gestion
ip link set br-lan.10 up ; ip link set br-lan.20 up

# 3) Samba durci sur le VLAN données uniquement
apt install -y samba
printf '[nas]\n   path = /mnt/nas\n   browseable = yes\n   valid users = nasuser\n   create mask = 0660\n' >> /etc/samba/smb.conf
systemctl restart smbd

# 4) Isoler la gestion : le VLAN 20 ne sort pas vers WAN
iptables -A FORWARD -i br-lan.20 -o eth0 -j DROP
iptables -A FORWARD -i br-lan.10 -o eth0 -j ACCEPT

Verificación esperada

lsblk muestra el NVMe montado en /mnt/nas; smbclient -L //192.168.10.1 -U nasuser lista el recurso compartido. Desde un cliente de la VLAN 10, la transferencia de escritura alcanza varios cientos de MB/s (límite PCIe 2.1 x1 ~500 MB/s, coherente con el 2,5GbE a ~280 MB/s). El ping entre la VLAN 20 y WAN falla (regla DROP) mientras que el SSH de gestión funciona. ip -d link show br-lan.10 confirma la encapsulación vlan id 10.

Errores frecuentes

> NO VERIFICADO: la wiki indica PCIe 2.1 x1 para el slot M.2 mientras que la página de producto menciona « PCIe2.0 »; el rendimiento real dependerá del SSD y del kernel.

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales