Windows 連線至 VirtualBox 內的虛擬機器(Virtual Machine)
Posted on Dec 6, 2016 in VirtualBox by Amo Chen ‐ 2 min read
因為 Windows 是用虛擬網卡的方式來實現 VirtualBox 的網路功能,所以在 Windows 環境內要連線至 VirtualBox 內的虛擬機器,需要做一些簡單的設定,這個設定被稱為「 連接埠轉送(Port forwarding) 」。
首先,我們必須知道 VirtualBox 的虛擬網卡IP位址。
可以在命令列輸入:
ipconfig
就可以獲取所有網路介面的目前設定,接下來,我們要找的是 乙太網路卡 VirtualBox Host-Only Network
。
如下圖:
這張虛擬網卡的 IP 位址就是我們要找的 VirtualBox 的虛擬網卡 IP 位址,在這張圖上可以看到IP是 192.168.56.1 ,先記下來,我們待會兒會用到這個 IP 。
接著,我們選取要連線的虛擬機器後,點選「 設定值 」進行網路的設定。
然後選左邊「 網路 」,可以看到下面有個「 連接埠轉送 」,它就是我們的目標!
點選進去之後,會看到如下的畫面。
上圖中的說明如下:
- 「名稱」 可以自行設定。
- 「協定」 的部份,就看要連線的虛擬機器提供的服務是使用甚麼協定,像 SSH、Web 都是用 TCP 協定。
- 「主機IP」 就是 VirtualBox 的虛擬網卡 IP,也就是剛剛查出來的 192.168.56.1 。
- 「主機連接埠」 指的是要開放哪一個 VirtualBox 虛擬網卡的連接埠,這邊也可以自行設定,須注意不能有相同的出現。
- 「客體IP」 也就是虛擬機器的 IP,可以開啟虛擬機器後查詢,以這張圖為例,就是 10.0.2.15。
- 「客體連接埠」 也就是虛擬機器有開放連線連接埠,必須注意的是,這個連接埠指的是虛擬機器內的連接埠,並非 VirtualBox 虛擬網卡的連接埠。
以規則名稱 CentOS-6.3 SSH 為例說明的話:
代表所有連線至 192.168.56.1 的連接埠 2222 的 TCP 網路封包,都會被轉送到 10.0.2.15 的連接埠 22 。
假如你的虛擬機器有安裝 SSH Server ,我們可以在 pietty 內輸入 192.168.56.1:2222
,就能順利連線至 10.0.2.15 這台虛擬機器的連接埠 22 囉!
再以規則名稱 CentOS-6.3 Web 為例說明的話:
代表所有連線至 192.168.56.1 的連接埠 8080 的 TCP 網路封包,都會被轉送到 10.0.2.15 的連接埠 80。
假如你的虛擬機器有安裝 Web Server,我們可以在 瀏覽器內輸入網址 http://192.168.56.1:8080 ,就能順利連線至 10.0.2.15 這台虛擬機器的連接埠 80 囉!!