Linux 호스트와 Windows 게스트 VM 간 폴더 공유

Linux 호스트와 Windows 게스트 VM 간 폴더 공유

기본 운영 체제(openSUSE 42.1)와 게스트 Windows 7 가상 머신 간에 폴더를 공유하려고 하는데 올바르게 설정할 수 없습니다.

저는 가상 머신에 액세스하고 virt-manager있는데 이를 달성하는 가장 좋은 방법은 Samba를 사용하는 것임을 배웠습니다.

내 섹션에 이 섹션을 추가했습니다./etc/samba/smb.conf

[shared]
    comment = my shared folder
    guest ok = Yes
    inherit acls = Yes
    path = /home/user/shared
    read only = No
    browseable = Yes

/home/user/sharedto에 대한 권한을 설정 하고 그것이 실행되고 있는지 drwxrwxrwx확인했습니다 .smb.service

그런데 Windows VM을 실행하여 공유폴더에 연결하려고 하면 접근이 되지도 않고 보이지도 않습니다.

이 문제를 어떻게 해결할 수 있나요?

답변1

문제는 방화벽이 Samba가 사용하는 포트의 연결을 차단한다는 것입니다.

필요한 예외를 추가해야 했고 이제 예상대로 작동합니다.

답변2

이전 Windows 7 가상 머신(PopOS 19.04부터, Ubuntu에서도 작동할 것이라는 데는 의심의 여지가 없음)에 액세스해야 하는데 동일한 문제가 발생했습니다. 이 웹사이트를 포함하여 수십 개의 웹사이트를 확인했습니다. 공유 리소스를 사용하여 smb.conf를 설정했는데 문제 없습니다. 그런 다음 Windows 측에서 이 사이트의 지침을 사용하여 드라이브를 매핑하기 위해 반복적으로 시도했습니다.모두내 Linux 계정 이름(올바른), KVM 관리자의 virbr0 IP 주소(또한 정확함, 예: 192.168.122.1. 물론 Linux 시스템 자체의 일반 IP 주소는 아님) 및 "다른 자격 증명을 사용하여 연결" " 상자가 선택되어 있습니다 - 실수입니다. 여러 번 시도한 끝에 이 상자를 선택하지 않은 채로 두면 어떤 일이 일어날지 알아보기로 결정했습니다. 드라이브가 올바르게 매핑되어 드라이브를 읽고 쓸 수 있게 되었을 때 얼마나 놀랐는지 상상해 보십시오!

OP의 경우 Samba가 활성화되어 있는지 확인하고 다음을 사용하십시오.

systemctl은 smb.service를 활성화합니다.

다음에 컴퓨터를 다시 시작할 때 다시 시작됩니다.

또한 참고하시기 바랍니다아니요많은 웹사이트에서 제안하는 것과는 반대로 방화벽 변경이 필요합니다. 이 경우 Linux 호스트에서 Windows VM으로의 virbr0 연결을 사용하면 기본 실내 네트워크로부터 격리를 제공할 수 있습니다.

Windows 측에서 Samba 연결을 생성할 때 "로그온 시 다시 연결"을 선택할 필요도 없습니다. 이를 테스트하기 위해 VM을 종료했다가 다시 시작한 다음 Z: 드라이브를 가리키는 드라이브를 클릭했습니다. Samba 공유 위치를 매핑) 자격 증명을 다시 추가할 필요 없이 즉시 다시 연결됩니다.

이제 Linux 측과 Windows 측 간에 파일을 쉽게 공유할 수 있습니다. 참고: 이는 PopOS 및 Ubuntu 리포지토리 버전인 Samba 4.10.0입니다. 이전 버전에는 추가 조정이 필요할 수 있습니다.

관련 정보