Archive

Posts Tagged ‘snakeos’

Samba tuning SnakeOS firmware

Instalé SnakeOS en mi NAS WLX-652, y estaba experimentando un problema con Samba: en un recurso compartido del NAS que monto en mi PC, existen varios archivos AVI. Una vez iniciada la reproducción de estos, y en un período de tiempo aleatorio, los videos se congelaban. Pero justo en ese instante podía seguir accediendo a otros servicios, cómo FTP y SSH. El nivel de carga era normal en el NAS, estaba seguro que no era un problema de recursos y que algo pasa con Samba. Luego de incluir ciertos parámetros sin éxito en el archivo de configuración /etc/smb.conf, tales cómo:

read raw = no
read prediction = true
read size = 65536
level2 oplocks = true

Todo seguía igual. Mi hipótesis era que Samba (versión 2.0.10-security-rollup), no se daba por enterado de que yo seguía viendo el video, que mi conexión aún estaba activa. Luego de revisar el man (5) de smb.conf, encontré el parámetro keepalive

keepalive (G)

The value of the parameter (an integer) represents the number of
seconds between keepalive packets. If this parameter is zero, no
keepalive packets will be sent. Keepalive packets, if sent, allow
the server to tell whether a client is still present and
responding

Si estás con el mismo problema, encontrarás la solución a continuación:

Copia el archivo /etc/smb.conf desde el NAS a algún directorio en tu computador y edítalo. En la sección global agrega:

keepalive = 0

Luego súbelo vía SCP o FTP al directorio /etc del NAS, sobrescribe el original.  Ve a la interfaz web de SnakeOS a “Services> Samba> Restart” para reiniciar el servicio, por último a “System> Config> Save Config” para que los cambios en el archivo de configuración persistan después de un reinicio.

Esta es la sección global de mi /etc/smb.conf


[global]
server string = pulpero
smb passwd file = /etc/smbpasswd
security = SHARE
workgroup = WORKGROUP
encrypt passwords = true
short preserve case = yes
preserve case = yes
guest account = ftp
guest ok = yes
force user = root
force group = root
socket options = SO_KEEPALIVE TCP_NODELAY SO_RCVBUF=16384 SO_SNDBUF=16384
character set = ISO8859-1
client code page = 850
keepalive = 0