Computer >> 컴퓨터 >  >> 소프트웨어 >> 가상 기기

VirtualBox:공유 폴더 없이 NAT에서 파일 공유

다소 흥미로운 문제가 있습니다. 또한 상당히 복잡합니다. 선호하는 가상화 도구로 VirtualBox를 사용하고 있다고 가정해 보겠습니다. 검은 화면과 같은 3D 가속에 문제가 있다고 가정해 보겠습니다. 내 튜토리얼에서 본 것처럼 해결 방법은 repo 제공 게스트 추가를 사용하는 것입니다. 그러나 공식 ISO에서 제공하는 추가 사항과 달리 배포판에서 제공하는 이 저장소 세트에는 공유 폴더 드라이버가 포함되어 있지 않습니다. 즉, 이 기능을 사용할 수 없습니다.

일을 더 복잡하게 하려면 물건을 공유하고 싶다고 합시다. 네트워크 및 공유라는 적절한 이름의 다른 자습서에서 이에 대해 이야기했지만 브리지된 네트워킹 대신 NAT를 사용하고 있으므로 일반적인 방법으로 호스트에서 게스트 시스템에 액세스할 수 없습니다. 그리고 Samba 등을 사용하고 싶지 않기 때문에 전체 상황이 더욱 복잡해집니다. 좋습니다. NAT를 사용하는 동안 공유 폴더 없이 호스트에서 게스트로 파일을 전송하는 방법을 보여드리겠습니다. 인터넷 장난이 없습니다. 모두 현지에서 진행하고 있습니다. 내 뒤에.

VirtualBox:공유 폴더 없이 NAT에서 파일 공유

문제 설명

보시다시피, 네트워크 어댑터를 연결하여 시스템을 더 잘 보이게 해야 하는 것처럼 보이는 문제가 있습니다. 특히 '노이즈가 많은' 가상 머신이 있는 경우에는 원하는 것이 아닐 수 있으며 추가로 설정해야 할 수도 있습니다. 파일 공유 서버 및 기타 등등, 이 모든 작업에는 사소한 작업 이상이 필요합니다. 다른 옵션은 VirtualBox ISO를 사용하고 이 특별한 경우에 3D 가속을 비활성화하는 것입니다. 블랙 스크린 문제가 사라질 때까지 모든 종류의 속담 문제라고 생각하면 공유 폴더 기능을 사용할 수 있습니다.

해당 주제에 대해 repo 패키지를 사용하는 경우 그래픽 가속, 마우스 통합, 화면 크기 조정, 클립보드 공유 등 대부분의 기능을 사용할 수 있지만 폴더는 사용할 수 없습니다. 공유 폴더를 수동으로 마운트하려고 하면 다음과 같은 결과가 나타납니다.

mount -t vboxsf <공유> <마운트 지점>
마운트:알 수 없는 파일 시스템 유형 'vboxsf'

솔루션:포트 포워딩

VirtualBox를 사용하면 NAT를 사용하는 컴퓨터에 대한 고급 네트워크 규칙을 구성할 수 있습니다. 본질적으로 이것은 로컬 IP 주소를 공용 주소로 변환하거나 그 반대로 변환할 때 라우터가 작동하는 방식과 다르지 않습니다. 실제로 VirtualBox는 여기서 라우터입니다. 호스트 포트를 컨테이너 포트에 매핑하여 로컬 시스템에 효과적으로 액세스할 수 있지만 실제로는 컨테이너(이 경우에는 가상 머신)에 연결하는 Docker를 통해 이를 확인할 수 있습니다.

어쨌든 가상 머신> 설정을 선택합니다. 네트워킹에서 네트워크 유형 NAT에 대해 고급 섹션을 아래쪽으로 확장합니다. 그런 다음 포트 포워딩을 클릭합니다. 그러면 필요한 세부 정보를 입력할 수 있는 테이블이 열립니다. 호스트 IP - 사용하려는 인터페이스의 IP 주소입니다. 둘 이상이 있을 수 있지만 가장 쉬운 솔루션은 localhost(127.0.0.1)를 사용하는 것입니다. 다른 인터페이스가 다운되거나 호스트 외부에 연결되지 않은 경우에도 작동하기 때문입니다. 호스트 포트 - 연결할 '가상' 주소입니다. 예를 들어 SSH, 힌트 힌트의 경우 포트 2222를 호스트 포트로 매핑할 수 있습니다. 즉, 이 포트에 연결하면 표에 지정된 관련 게스트 포트에서 게스트 IP에 효과적으로 연결됩니다. 실제로 다른 두 필드는 호스트와 마찬가지로 가상 머신 정보를 위한 것입니다.

VirtualBox:공유 폴더 없이 NAT에서 파일 공유

VirtualBox:공유 폴더 없이 NAT에서 파일 공유

SSH로 연결

이제 실제 연결이 이루어졌습니다. SSH는 Linux용입니다! 예, Linux에 문제가 있기 때문입니다. Windows에는 검은색 화면 문제가 없으므로 3D 가속 기능과 ISO의 게스트 추가 기능이 제대로 작동합니다. 따라서 Linux입니다.

이제 SSH(포트 2222)를 사용하여 호스트에서 게스트로 연결할 수 있습니다. 물론 첫 번째 단계는 openssh-server가 게스트 운영 체제에 설치되어 실행 중인지 확인하는 것입니다. 또한 게스트가 들어오는 연결을 차단하는 방화벽을 사용하고 있지 않은지 확인해야 합니다. 이제 무엇을 제공하는지 테스트할 수 있습니다.

ssh -p 2222 [email protected]
호스트 '[127.0.0.1]:2222([127.0.0.1]:2222)'의 신뢰성을 확인할 수 없습니다. ECDSA 키 지문은 SHA256:Eq0ow03sffLb7G49e3KNMgMrpVV/8wFfN6uicdxPnEL입니다.
연결을 계속하시겠습니까(예/아니오)?

VirtualBox:공유 폴더 없이 NAT에서 파일 공유

그러나 이것은 단지 연결을 테스트하기 위한 것입니다. 실제로 호스트에서 게스트로 파일을 복사하려면 SCP가 필요합니다. 이제 여기서 사용자 지정 포트도 지정해야 합니다. 그러나 참고:SSH는 소문자 -p를 사용하여 포트를 지정하는 반면 SCP는 포트 번호에 대문자 -P 플래그를 사용합니다. 그림을 이동. 따라서 전체 내용은 다음과 같습니다.

scp -P 2222 "파일" [email protected]:/home/roger/"위치"/
"파일" 100% 8244KB 135.0MB/s 00:00

VirtualBox:공유 폴더 없이 NAT에서 파일 공유

결론

KVM 및 브리지 네트워크 트릭과 같이 혁신적이고 재미있을 수 있기 때문에 이러한 종류의 연습을 좋아합니다. 얼핏 보면 지루할 수 있는 브리지 네트워킹, 설정 Samba 또는 NFS 또는 이메일 파일을 사용해야 한다고 생각할 수 있습니다. 대신 포트 포워딩과 SSH를 사용하여 문제를 해결합니다. 두 가지 모두 간단하고 방해가 되지 않으며 필요하지 않은 경우 설정하거나 비활성화하기가 매우 쉽습니다.

그렇다면 오늘 우리는 repo 게스트 추가 기능의 누락된 기능, 고급 네트워킹 규칙 및 포트 포워딩 사용, SSH 및 SCP, 포트 번호 사용 방식의 미묘한 차이점 및 기타 몇 가지 개념에 대해 많은 것을 배웠습니다. 그게 전부입니다. 인내심을 갖고 체계적으로 대처하려는 의지가 있다면 항상 문제를 해결하는 깔끔한 방법이 있다는 것을 기억하십시오. 조심하세요.

건배.