Copiar un archivo entre dos máquinas Windows es rápido hasta que ambas se unen a la misma VPN, y entonces se desploma mientras una prueba de rendimiento por el mismo par sigue informando de una velocidad cercana a la de la línea. Esa diferencia es el diagnóstico: el enlace está bien y algo está eligiendo una ruta peor para la propia transferencia. Ese algo suele ser el multicanal de SMB3, haciendo exactamente aquello para lo que fue diseñado. Saque el canal extra de la ecuación y la copia vuelve al enlace físico.

El síntoma espera a su canal más lento

El multicanal permite que una sesión SMB use varias conexiones TCP, una por cada par de direcciones adecuado entre cliente y servidor. Cuando ambas máquinas están en la LAN y en el mismo túnel, Windows puede emparejar las direcciones de la LAN con las del túnel y tratar ambos pares como utilizables. La sesión acaba con más canales de los que necesita el enlace físico, y uno de ellos es mucho más lento.

No falla. Espera, porque la sesión no puede terminar más rápido que su canal más lento.

Por eso una prueba de ancho de banda puede parecer saludable mientras una copia se arrastra: una medición de un solo flujo puede elegir una ruta, mientras que la transferencia se repartió entre dos. Lea la lista de canales antes de cambiar cualquier ajuste del adaptador, y léala mientras la copia sigue en marcha, porque una sesión inactiva no muestra nada. Lo que anote debe nombrar la interfaz que hay detrás de cada canal, no solo lo lento que pareció el resultado.

Confirme que existe un segundo canal

Dos cmdlets responden la pregunta directamente. La lista de conexiones muestra los canales en uso, y el resumen de la sesión muestra la conexión en sí. Ejecute ambos durante la copia lenta.

Get-SmbMultichannelConnection
Get-SmbConnection

Busque más de una fila marcada como seleccionada para el mismo servidor, y luego resuelva la dirección del cliente en la fila sospechosa. Si esa dirección pertenece al adaptador del túnel, la segunda ruta es real y está confirmada. Si todas las filas pertenecen a la interfaz física, el multicanal no es su problema y la copia va lenta por un motivo ajeno. Haga esa confirmación primero, porque la reparación es lo bastante disruptiva como para merecer un minuto de pruebas.

Get-NetIPAddress -IPAddress 10.20.30.44

Las direcciones de aquí son marcadores de posición. Sustitúyalas por lo que informe su propia salida, porque copiar una dirección de un blog es la forma en que un comando que funciona se convierte en un mensaje de error confuso.

Saque el túnel de SMB y luego mida de nuevo

Desactivar el multicanal es la forma más rápida de confirmar el diagnóstico, y es reversible. Aplique el ajuste de cliente en la máquina que hace la copia y el de servidor en la máquina que aloja el recurso compartido, porque cualquiera de los dos lados por sí solo puede mantener vivo el canal extra. El cambio se aplica a conexiones nuevas y no a las existentes, así que una sesión abierta lo sobrevive. Reinicie ambas máquinas, o al menos cierre todos los identificadores del recurso compartido, antes de medir nada.

Set-SmbClientConfiguration -EnableMultiChannel $false -Force
Set-SmbServerConfiguration -EnableMultiChannel $false -Force

Confirme el nuevo estado y luego mire qué anuncia ahora el servidor a los clientes.

Get-SmbClientConfiguration | Select-Object EnableMultiChannel
Get-SmbServerNetworkInterface | Format-List *

La interfaz del túnel debería desaparecer de esa lista anunciada. Si no lo hace, el ajuste cayó en el extremo equivocado o una sesión antigua sigue abierta. Si compartir archivos simplemente no debe usar el túnel, desvincule el componente de servidor de ese adaptador, lo que deja el túnel utilizable para cualquier otro servicio.

Get-NetAdapterBinding -Name "OpenVPN Data Channel Offload"
Disable-NetAdapterBinding -Name "OpenVPN Data Channel Offload" -ComponentID ms_server

Prefiera la ruta de la LAN sin fingir que elimina canales

La métrica de una interfaz le dice a Windows qué ruta preferir para las conexiones nuevas. No elimina un canal que el multicanal ya ha decidido abrir. Subir la métrica del túnel sigue valiendo la pena, porque mantiene el tráfico ajeno lejos de la ruta lenta y hace predecible la ruta preferida, pero es un empujón, no un filtro.

Get-NetIPInterface | Sort-Object InterfaceMetric | Select-Object InterfaceAlias, InterfaceMetric
Set-NetIPInterface -InterfaceAlias "OpenVPN Data Channel Offload" -AutomaticMetric Disabled -InterfaceMetric 1000

Copie el alias de esa salida en lugar de escribirlo, porque algunas instalaciones traducen el nombre del adaptador y la cadena en inglés no coincidirá.

Luego mida de nuevo ambos números: la copia del archivo y una prueba de rendimiento por el mismo par. Si la copia se recupera mientras la prueba de rendimiento nunca fue lenta, el multicanal era la causa y puede detenerse. Si ambas se desploman, el túnel es el cuello de botella y el multicanal solo lo amplificó. Si la copia sigue lenta mientras ambas rutas parecen correctas, el problema restante vive en el recurso compartido, el almacenamiento o un controlador de filtro, que es otra investigación.

Artículos relacionados