저는 Virtualbox VM에서 Debian을 사용하고 있습니다. 기본 네트워크 모드는 NAT입니다. Virtualbox 문서에 따르면 이는 "가상 머신에서 외부 네트워크에 액세스하는 가장 간단한 방법입니다. 일반적으로 호스트 네트워크에 대한 구성이 필요하지 않으며 게스트 시스템입니다. 이러한 이유로 이는 Oracle VM VirtualBox의 기본 네트워킹 모드입니다.", 어떤 이유로 포트 전달을 추가하지 않고 호스트 시스템에서 내 VM에 직접 FTP로 연결할 수 없습니다.
이것이 VM과의 가장 간단한 네트워킹 방법인 경우 SFTP에 액세스할 수 있도록 포트 전달이 필요한 이유를 이해할 수 없습니다. 왜 이런거야?
답변1
인용문은 "가장 간단한 방법외부 네트워크에 접속하는 것", 즉 VM에서 나가는 연결을 만드는 것입니다. 이는 들어오는 연결에 반드시 적용되는 것은 아닙니다.
"NAT" 모드에서 VirtualBox 자체는 라우터 기능을 구현하고 호스트 OS는 가상 네트워크 발생을 전혀 인식하지 못합니다. 즉, VBoxVM 프로세스 자체가 일반 앱처럼 다수의 TCP 연결을 만들고 있다고 생각합니다.
하지만같은 이유이것이 기본적으로 들어오는 연결을 만들 수 없는 이유입니다. 호스트 OS는 VM 서브넷에 해당하는 네트워크 인터페이스가 없고 경로도 없고 아무것도 없기 때문에 이를 어디로 보낼지 모릅니다.
(실제로 이는 두 번째 라우터를 실제 홈 LAN에 연결하는 것과 정확히 같은 상황입니다. 아웃바운드 연결에만 관심이 있는 경우 두 번째 라우터를 NAT 모드로 유지하는 것이 확실히 가장 간단한 접근 방식입니다. '외부' 네트워크에서 '내부' 호스트로의 인바운드 연결이 모두 끊어지면 포트 전달을 사용하거나 표준 라우팅/브리징으로 전환해야 합니다.)