私は Virtualbox VM で Debian を使用していますが、デフォルトのネットワーク モードは NAT です。Virtualbox のドキュメントによると、これは「仮想マシンから外部ネットワークにアクセスする最も簡単な方法です。通常、ホスト ネットワークとゲスト システムでの構成は必要ありません。このため、これは Oracle VM VirtualBox のデフォルトのネットワーク モードです。」となっています。しかし、何らかの理由で、ポート転送を追加せずにホスト マシンから VM に直接 FTP で接続することはできません。
これが VM との間の最も簡単なネットワーク方法であるのに、SFTP にアクセスできるようにポート転送が必要な理由がわかりません。なぜでしょうか?
答え1
引用文には「最も簡単な方法は外部ネットワークへのアクセスつまり、VM から発信接続を行うということです。これは必ずしも着信接続には適用されません。
「NAT」モードでは、VirtualBox 自体がルーター機能を実装し、ホスト OS は仮想ネットワークの発生をまったく認識しません。つまり、VBoxVM プロセス自体が通常のアプリと同様に多数の TCP 接続を行っていると認識します。
しかし同じ理由デフォルトでは着信接続ができないのは、VM サブネットに対応するネットワーク インターフェイスがなく、ルートも何もないため、ホスト OS は接続をどこに送信すればよいか分からないためです。
(実際、これは 2 台目のルーターを物理的なホーム LAN に接続する場合とまったく同じ状況です。送信接続だけを気にするのであれば、2 台目のルーターを NAT モードにしておくのが最も簡単な方法です。しかし、「外部」ネットワークから「内部」ホストへの受信接続が必要になると、すべてが機能しなくなり、ポート転送を使用するか、標準のルーティング/ブリッジングに切り替える必要があります。)