答案1
這是您目前的網路:
╔══════════════╗ ╔════════════════════╗
║VM @ 10.0.2.15║───║Host @ 192.168.1.122║───[Internet]
╚══════════════╝ ╚════════════════════╝
這就是您想要執行的操作(將路由器上的連接埠 80 轉送到 10.0.2.15):
╔══════════════╗ ╔════════════════════╗
║VM @ 10.0.2.15║───║Host @ 192.168.1.122║───[Internet]
╚══════════════╝ ╚════════════════════╝ │
└─────────────────────────(Port 80)──────┘
這是行不通的,因為路由器不知道 10.0.2.15 位於 192.168.1.122 之後。
相反,您需要執行此操作(將路由器上的連接埠 80 轉送到 192.168.1.122,它知道 10.0.2.15):
╔══════════════╗ ╔════════════════════╗
║VM @ 10.0.2.15║───║Host @ 192.168.1.122║───[Internet]
╚══════════════╝ ╚════════════════════╝ │
└───(Port 80)────┘
然後執行此操作(現在 192.168.1.122 正在獲取流量,請將其發送到 10.0.2.15):
╔══════════════╗ ╔════════════════════╗
║VM @ 10.0.2.15║───║Host @ 192.168.1.122║───[Internet]
╚══════════════╝ ╚════════════════════╝ │
└───(Port 80)────┘ └───(Port 80)────┘
答案2
正如使用者所說,您需要將流量從路由器轉送到 VM 主機 (192.168.1.122),我會推薦以下兩個選項之一:
1:將虛擬機器設定為使用網路橋接,網路橋接將使用 DHCP 從路由器取得 IP 位址,並且可以像本機網路上的任何其他裝置一樣進行存取。 (然後,您可以將流量轉送至 DHCP 為虛擬機器指派的位址 192.168.1.0/16)
2:在虛擬機器管理程式上設定到 VM 的連接埠轉送。
設定範例: https://www.howtogeek.com/122641/how-to-forward-ports-to-a-virtual-machine-and-use-it-as-a-server/
根據您用於虛擬化的內容,它會略有不同,但相同的概念適用於所有虛擬機器管理程式。