
저는 Windows 2022 Server, 빌드 23H2/22631을 가지고 있으며 WSL2에서 Ubuntu 22.04 배포판을 실행합니다.
서버 자체에 있는 경우 \\wsl$\Ubuntu
Explorer의 경로를 사용하여 이 배포의 파일에 액세스할 수 있습니다.
서버에 네트워크로 연결된 다른 컴퓨터의 Explorer에서 동일한 파일에 액세스할 수 있는 방법이 있습니까?
\\server\c$
예를 들어 이 네트워크 시스템에서는 제대로 액세스할 수 있습니다 . 예를 들어 \\server\wsl$\Ubuntu
서버의 WSL 파일에 접근 할 수 있으면 좋겠지만 이와 같은 것은 존재하지 않는 것 같습니다.
Ubuntu 배포판에 Samba를 설치하려고 생각했습니다. 그러나 배포에는 호스트 2022 서버와 동일한 호스트 이름이 있으므로 호스트의 SMB 트래픽을 어떻게든 죽이지 않고 SMB 트래픽을 WSL로 리디렉션하는 방법을 모르겠습니다.
가능하다면 파일 복사/동기화/scp 같은 해킹은 피하고 싶습니다. 나는 이것들을 알고 있지만 덜 편리합니다. 탐색기를 통해 파일에 직접 액세스하는 것이 이상적입니다.
답변1
나는 그것을 시도하지 않았지만, 여기 그것을 가능하게 할 수 있는 몇 가지 정보가 있습니다.
WSL2는 이제 미러링 모드 네트워킹 이는 호스트의 네트워크 어댑터를 사용하고 호스트의 IP를 가정하여 NAT 없이 WSL1에서처럼 작동하게 합니다.
미러링 모드는 다음을 통해 활성화됩니다.
파일 만들기
%UserProfile%\.wslconfig
(없는 경우)파일에 다음 줄을 추가합니다.
[wsl2] networkingMode=mirrored
다음을 사용하여 WSL 종료
wsl --shutdown
WSL 배포를 시작합니다.
Windows 방화벽에서 인바운드 SAMBA 포트를 활성화해야 합니다. 설명서에서 들어오는 모든 포트 또는 하나만 활성화하기 위한 관리자 권한 PowerShell 명령은 다음과 같습니다.
인바운드 연결을 허용하도록 Hyper-V 방화벽 설정을 구성하려면 관리자 권한으로 PowerShell 창에서 다음 명령을 실행합니다.
Set-NetFirewallHyperVVMSetting -Name '{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}' -DefaultInboundAction Allow
또는New-NetFirewallHyperVRule -Name MyWebServer -DisplayName "My Web Server" -Direction Inbound -VMCreatorId "{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}" -Protocol TCP -LocalPorts 80
.
몇 가지 실험이 필요할 수 있지만 이는 LAN을 통해 WSL2의 삼바 서버에 액세스할 수 있게 만드는 데 충분할 수 있습니다.
답변2
c$ 공유 위치는 기본적으로 활성화되어 있습니다. 공유하고 싶은 다른 디렉터리가 있는 경우 해당 위치를 별도로 공유해야 합니다. 이를 수행하는 방법은 몇 가지가 있지만 가장 쉬운 방법은 GUI를 사용하는 것입니다. Ubuntu 파일이 있는 폴더 디렉터리를 찾고 마우스 오른쪽 버튼을 클릭하고 속성, 공유 탭을 찾는 것만큼 간단합니다.
당신이 설명하는 어려움은 해당 파일의 "위치"가 당신이 생각하는 곳에 직관적으로 위치하지 않는다는 것일 수 있습니다. 컨테이너화는 해당 디렉터리를 시각화할 수 있습니다.