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



