我在 Virtualbox 虛擬機上使用 Debian,預設網路模式是 NAT,根據 Virtualbox 文檔,這是「從虛擬機器存取外部網路的最簡單方法。通常,它不需要在主機網路上進行任何配置,並且因此,它是Oracle VM VirtualBox 中的預設網路模式。
我不明白為什麼我需要連接埠轉送才能存取 SFTP,如果這是進出虛擬機器的最簡單的網路方法。為什麼是這樣?
答案1
引用說「最簡單的方法存取外部網路的”,即從虛擬機器建立傳出連線。這不一定適用於傳入連線。
在「NAT」模式下,VirtualBox 本身實作路由器功能,主機作業系統完全不知道虛擬網路的發生:它認為 VBoxVM 程序本身正在像常規應用程式一樣建立一堆 TCP 連線。
但同樣的原因這就是為什麼預設無法建立傳入連接的原因:主機作業系統不知道將它們發送到哪裡,因為沒有與虛擬機子網路相對應的網路接口,沒有路由,什麼都沒有。
(實際上,這與將第二個路由器連接到您的實體家庭LAN 的情況完全相同。當您只關心出站連接時,將第二個路由器保持在NAT 模式絕對是最簡單的方法- 但一旦您需要從「外部」網路到「內部」主機的入站連接,一切都會崩潰,您必須使用連接埠轉送或切換到標準路由/橋接。