Acceda a \\wsl$\Ubuntu desde una máquina Windows diferente en la red

Acceda a \\wsl$\Ubuntu desde una máquina Windows diferente en la red

Tengo un servidor Windows 2022, compilación 23H2/22631 y ejecuta una distribución Ubuntu 22.04 en WSL2.

Si estoy en el servidor, puedo acceder a los archivos de esta distribución usando la \\wsl$\Ubunturuta en el Explorador.

¿Hay alguna forma de acceder a estos mismos archivos desde Explorer en una máquina diferente que tenga conectividad de red con el servidor?

Puedo acceder, por ejemplo, \\server\c$perfectamente desde esta máquina de red. Desearía poder ir \\server\wsl$\Ubuntu, por ejemplo, a los archivos WSL del servidor, pero parece que no existe nada parecido.

Pensé en instalar Samba en la distribución Ubuntu. Pero la distribución tiene el mismo nombre de host que el servidor Host 2022, por lo que no sé cómo redirigir el tráfico SMB a WSL sin eliminar de alguna manera el tráfico SMB del host.

Si es posible, me gustaría evitar hacks como copiar archivos/sincronizar/scp. Soy consciente de estos, aunque son menos convenientes. Lo ideal sería el acceso directo a los archivos a través del Explorador.

Respuesta1

No lo he probado, pero aquí hay información que podría hacerlo posible.

WSL2 ahora tiene Redes en modo espejo lo que hace que funcione igual que en WSL1, sin NAT, utilizando los adaptadores de red del host y asumiendo la IP del host.

El modo reflejado está habilitado por:

  • Crea el archivo %UserProfile%\.wslconfig(si no existe)

  • Agregue al archivo estas líneas:

    [wsl2]
    networkingMode=mirrored
    
  • Apagar WSL conwsl --shutdown

  • Inicie la distribución de WSL.

Aún necesita habilitar los puertos SAMBA entrantes en el firewall de Windows. Según la documentación, los comandos elevados de PowerShell para habilitar todos los puertos entrantes o solo uno:

Ejecute el siguiente comando en la ventana de PowerShell con privilegios de administrador para configurar los ajustes del firewall de Hyper-V para permitir conexiones entrantes: Set-NetFirewallHyperVVMSetting -Name '{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}' -DefaultInboundAction Allowo New-NetFirewallHyperVRule -Name MyWebServer -DisplayName "My Web Server" -Direction Inbound -VMCreatorId "{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}" -Protocol TCP -LocalPorts 80.

Es posible que se requiera algo de experimentación, pero esto podría ser suficiente para que se pueda acceder al servidor samba en WSL2 a través de la LAN.

Respuesta2

La ubicación para compartir c$ está habilitada de forma predeterminada. Si tiene otro directorio que desea compartir, deberá compartir esa ubicación por separado. Hay algunas formas de hacerlo, pero la más fácil: usar la GUI es tan simple como encontrar el directorio de la carpeta que tiene los archivos de Ubuntu y: hacer clic derecho, propiedades, pestaña para compartir.

La dificultad que estás describiendo puede ser que la "ubicación" de esos archivos no esté ubicada intuitivamente donde crees que están. La contenedorización puede estar visualizando esos directorios.

información relacionada