Instalar Samba en OpenWrt

Aquí vamos a aprender como montar una unidad USB de almacenamiento y como compartirla con el resto de despositivos de la red.

Lo primero que tenemos que hacer es abrir una terminal de Ubuntu para entrar al router en modo SSH con el siguiente comando:

shh root@192.168.4.1

 



1- Instalar los Drivers

Instalamos los drivers para reconocer los dispositivos USB con el siguiente comando:

opkg update; opkg install kmod-usb-core kmod-usb-uhci kmod-usb-ohci

kmod-usb-uhci y kmod-usb-ohci: Drivers para usb 1.1
kmod-usb2: Drivers para usb 2.0
kmod-usb3: Drivers para usb 3.0 ( si tu router no tiene usb 3.0 no hace falta instalarlo)

Instalamos los drivers para que reconozca dispositivos de almacenamiento con el siguiente comando:

opkg install kmod-usb-storage


2- Instalar los distintos sistemas de archivos.


Instalamos los drivers de los distintos sistemas de archivos como Fat32, ntfs o Ext4

opkg install  block-mount kmod-fs-ext4 kmod-fs-vfat kmod-nls-cp437

 

Con el log del sistema podemos saber si nuestro Pendrive es reconocido, para ello lo introduremos en el puerto USB de nuestro router y esperamos unos 5 o 10 segundos. Ahora tecleamos en la consola lo siguente:
logread

y vemos que sda:sda1 aparece como renococido.

Sat Dec 12 15:24:32 2020 kern.info kernel: [  329.833644] usb 1-1: new full-speed USB device number 2 using ohci-platform
Sat Dec 12 15:24:33 2020 kern.info kernel: [  329.940751] usb-storage 1-1:1.0: USB Mass Storage device detected
Sat Dec 12 15:24:33 2020 kern.info kernel: [  329.970864] scsi host0: usb-storage 1-1:1.0
Sat Dec 12 15:24:34 2020 kern.notice kernel: [  330.383559] scsi 0:0:0:0: Direct-Access     G & T    USB Flash Drive  5.00 PQ: 0 ANSI: 2
Sat Dec 12 15:24:34 2020 kern.notice kernel: [  330.406310] sd 0:0:0:0: [sda] 1988608 512-byte logical blocks: (1.02 GB/971 MiB)
Sat Dec 12 15:24:34 2020 kern.notice kernel: [  330.423206] sd 0:0:0:0: [sda] Write Protect is off
Sat Dec 12 15:24:34 2020 kern.debug kernel: [  330.432819] sd 0:0:0:0: [sda] Mode Sense: 0b 00 00 08
Sat Dec 12 15:24:34 2020 kern.err kernel: [  330.434454] sd 0:0:0:0: [sda] No Caching mode page found
Sat Dec 12 15:24:34 2020 kern.err kernel: [  330.445106] sd 0:0:0:0: [sda] Assuming drive cache: write through
Sat Dec 12 15:24:34 2020 kern.info kernel: [  330.472756]  sda: sda1
Sat Dec 12 15:24:34 2020 kern.notice kernel: [  330.505982] sd 0:0:0:0: [sda] Attached SCSI removable disk


Reiniciamos el router, de esta forma nos aparecerá en menú "Sistema->Puntos de Montaje"


3- Montar los dispositivos

Ahora toca montar el pendrive, para ello crearmos la carpeta donde se montará con el comando:
mkdir -p /mnt/share

Dependiendo del formato de tu pendrive debes escoger entre uno de estos puntos de montaje. Yo lo tengo formateado en EXT4, por lo que elegiré la segunda opción.

Para FAT32:

mount -t vfat /dev/sda1 /mnt/sda1/ -o rw,sync

Para EXT4 

 mount -t ext4 /dev/sda1 /mnt/share -o rw,sync

Para saber si se ha montado todo correctamente, hacemos un ls al directorio del pendrive y podremos ver los archivos que contiene.

ls /mnt/share




¡Hasta aquí todo correcto!

Accedemos a menú System->Mount Points 


En "General Settings" podemos editar como se montará nuestro pendrive:





He elegido la casilla Device porque puedo elegir cualquier pendrive.
 
A modo de información, estas son las opciones disponibles:

UUID. Nos mostrará el UUID del dispositivo conectado. Es útil cuando sólo queremos usar el mismo pendrive. si metemos otro no lo montará.
Label, montará los pendrives automáticamente siempre que tengan el mismo nombre en su etiqueta (A los pendrives se les puede poner un nombre en el ordenador).
Device, montará cualquier pendrive siempre que lo reconozca como sda1 o sda2 etc…

En "Advanced Settings" podemos elegir el sistema de archivos. Yo lo tengo en automático.



4- Compartir el pendrive mediante Samba


Ahora instalamos samba para compartir los ficheros y poder acceder a ellos desde la LAN.
opkg install luci-app-samba

Creamos un usuario nuevo en el sistema. El mio se va a llamar chapuboot. 

echo "alumno:*:1000:65534:alumno:/mnt/share:/bin/ash" >> /etc/passwd

Para asignarle un password escribimos lo siguiente:
passwd alumno
Nos pedirá que tecleemos un password dos veces.

Hacemos que alumno sea usuario de samba para poder acceder a la carpeta compartida:
smbpasswd -a alumno
Nos volverá a pedir una contraseña pero esta vez es para acceder desde remoto a la carpeta compartida.

Posiblemente en este punto deberemos reinicar el router para acceder al Menú "Servicios, Network Shares"

Luego vamos a la configuración Web del router y accedemos a Services, Network Shares y pulsamos "add" para añadir un directorio compartido:




Al darle a "Add" en "Shared Directories" pondremos los valores que necesitemos.



En Name ponemos el nombre que queramos. 
En Path ponemos la ruta absoluta del directorio que queremos compartir. 
En Allowed Users los usuarios que tienen permiso de acceso.


Sólo queda probarlo.

Desde Linux podemos acceder a la carpeta compartida poniendo en el navegador de archivos:

smb://IP_DEL_ROUTER



Al conectar nos lleva al punto de montaje SHARE




Cuando entramos en SHARE nos pide el usuario y contraseña de samba que pusimos anteriormente.




Y ahora veremos los mismos archivos que vimos anteriormente por consola.










Comentarios

  1. Saludos, muy bueno el tuto , ...
    quería saber si es posible con Openwrt compartir en la carpeta /mnt una carpeta de videoteca q tengo en mi ordenador con linux,... me gustaria
    es posible ? es tecnicamente una " unidad Z "

    ResponderEliminar
    Respuestas
    1. para que se entienda mejor , la idea es montar desde openwrt una carpeta remota compartida en mi red local ....

      Eliminar

Publicar un comentario

Entradas populares de este blog

TP-Link WR841ND repetidor WIFI

Instalar y Configurar aMule en Ubuntu

II. Vodafone Technicolor Tc7230 modo bridge.