Sí, he tenido una experiencia similar. También queda sin resolver para mí. Está relacionado con la conectividad de la red (que puede caerse y gracias a errores en Windows, al intentar volver a conectarse de manera fallida) o problemas en el bloque del sistema operativo que es responsable de la parte subyacente.
Sin embargo, una solución alternativa es hacer un túnel en su puerto de demonio SMB a través de SSH . No solo proporcionará cifrado, sino que también resolverá su problema de estabilidad (al menos lo hizo para mí). Echa un vistazo a Tunnelier . Es una pieza de software maduro. Lo que hago es hacer un túnel en un puerto a mi servidor SMB ( una regla de cliente a servidor ), de esta manera la conexión permanece bastante estática ( TCP / IP ) y las desconexiones se manejan automáticamente. Esto me permite vincular un puerto en la máquina localhost de Windows, que puedo usar para asignar una unidad de red con, por lo tanto, un par de 127.0.0.1 y 445. Una vez que se accede, el tráfico se canaliza y llega al punto final remoto. Eso es.
Pero, como con todo, hay advertencias particulares. El verdadero problema es que el sistema operativo ya ha vinculado el puerto 445 en el host local y la mala noticia es que no es posible desvincularlo de la manera más fácil. Además, NO es posible asignar una unidad de red a ningún otro puerto que no sea el 445 (dejemos de lado 139 / NetBIOS ).
Entonces, lo que realmente hago es vincular este puerto en mi enrutador (gracias a dd-wrt ) y simplemente asignar la IP de mi enrutador para una unidad de red. De esta manera puedo eludir las limitaciones descritas anteriormente.
Otra solución, sabia del sistema operativo, es utilizar un método de "fuerza bruta" para liberar el puerto enlazado. Inspeccione ncpa.cpl y navegue a las propiedades de sus adaptadores. Tendría que sacrificar un servicio - Compartir archivos e impresoras para redes Microsoft : eliminar / desinstalar. Luego, descargue esta utilidad. Lo que hace es aplicar una serie de cambios en el registro para forzar deliberadamente al sistema operativo a liberar el puerto necesario. Una vez que todo esté hecho, ahora puede vincular 445 en localhost a través de Tunnelier o alguna bondad de netsh . ¡Buena suerte!