VirtualBox 設定 Port 轉發功能教學-以 SSH 和 HTTP 為例

此篇文章為VirtualBox虛擬機器的延伸教學,在此篇文章中筆者將會示範如何在Windows或其他的系統環境,來使用VirtualBox軟體內建的連接埠轉送功能(Port forwarding;筆者下面教學會將其稱為『Port轉發』),以可以直接從電腦本機,或甚至是從外部網路來進行連線至虛擬機器中所安裝好的作業系統。

筆者在此篇教學所使用的本機主系統為Windows 10,VirtualBox中的作業系統為Ubuntu Server 16.04LTS。在此篇教學中筆者將會示範兩個不同的傳輸協定,一個是SSH傳輸協定,另一個是HTTP傳輸協定。在參考本篇教學之前,你電腦需要安裝好VirtualBox虛擬機器及虛擬機器中你也需要安裝好你所需要作業系統,如:本文教學所使用的Linux發行版-Ubuntu作業系統

1)在VirtualBox中使用指令來查看作業系統的IP位址及查看SSH服務是否有在啟用的狀態。

Step 1:直接『啟動』你VirtualBox上已安裝好的作業系統。

執行你VirtualBox上已安裝好的Linux系統-virtualboxnat001

 

**筆者此部分會以Ubuntu作業系統來做示範教學,所以會使用Linux指令來查看IP位址,假如你使用其他的作業系統的話,那你需要自己知道要怎麼去查看作業系統所獲得的IP位址。

Step 2:筆者此次教學是使用Ubuntu作業系統,所以這邊會輸入『ip a』或者『ifconfig』來查看系統的網卡資訊,如下圖所示可以看到Ubuntu所獲得IP位址為『10.0.2.15』,假如你跟筆者一樣使用預設的NAT,那基本上你看到的IP位址也會是跟筆者一樣的。知道IP之後,就將其IP位址記錄下來,因為等下在設定VirtualBox的Port轉發功能時會使用到。

**如下圖所示可以看到筆者的網卡代號為『enp0s3』,當然你也可能會看到網路卡名稱為『eth0』,這都沒關係,因為這不會影響到接下來的設定。

**在Unix-like系列的系統,查看網卡資訊的指令參考如下:

ifconfig

**現在比較新的Unix-like系統,已使用ip指令來替代ifconfig,所以你應該使用ip指令來查看網卡介面資訊,ip指令查看網卡資訊的指令參考如下:

ip a

**在Windows系統的電腦,查看網卡資訊的指令參考如下:

ipconfig

在Linux系統上,使用ifconfig指令來查看系統的網卡資訊-virtualboxnat021

 

Step 3:因為筆者想要使用SSH協定連線至VirtualBox中的Ubuntu作業系統,所以筆者在這邊還需要進一步使用指令『sudo service ssh status』來查詢SSH服務是否有在執行的狀態,如下圖所示可以看到回傳為檔案『not-found』的訊息,也就表示說此系統還未安裝好OpenSSH Server的套件,那接下來需要在系統上安裝會使用到的套件。

sudo service ssh status

**假如你的Linux系統SSH服務已經有在啟用的狀態,那就直接略過Step 4,直接到Step 5步驟。

輸入指令來查看SSH服務是否有在啟用的狀態-virtualboxnat022

 

Step 4:假如Linux或其他的Unix環境還未安裝好SSH服務,那可以輸入指令來安裝OpenSSH套件,如下圖所示為在Debian/Ubuntu的系統上安裝OpenSSH套件的指令:

**將Debian/Ubuntu系統的套件資訊與版本更新到最新的指令參考如下:

sudo apt-get update && sudo apt-get upgrade -y

**在Debian/Ubuntu的系統上安裝OpenSSH套件的指令參考如下:

sudo apt-get install openssh-server -y

假如Linux系統上還未安裝SSH服務,那需要輸入指令來安裝OpenSSH套件-virtualboxnat023

 

Step 5:知道VirtualBox中的作業系統IP位址及確定需要使用到的服務會在開機時自動執行之後,那接下來就可以將其作業系統關機。

確定Linux系統的IP位址以及SSH服務有在啟用之後,就可以將系統關機-virtualboxnat024

 

2)開始設定VirtualBox上的Port轉發功能(Port forwarding)。

Step 1:在VirtualBox虛擬機器上,選擇你要設定Port轉發的作業系統,然後點選『設定值』。

開始在VirtualBox上設定網卡-virtualboxnat041

 

Step 2:在『設定』視窗中,點選左側欄的『網路』,然後就點選『介面卡 1』頁籤,附加到的選項就選擇『NAT』,展開『進階』,點擊『連接埠轉送』,以可以來新增與設定Port轉發規則。

設定連接埠轉發-virtualboxnat042

 

Step 3:點選如下圖所示的『+』按鈕,來新增Port轉發規則。

新增連接埠轉發規則-virtualboxnat043

 

Step 4:如下圖所示按照各個欄位輸入相關的資料,『名稱』欄位可以填你日後能看得明白名稱;『協定』欄位,以SSH服務來說就選擇預設的『TCP』;『主機 IP』因為筆者想要從本機的主系統連上去,所以就填了『127.0.0.1』的IP位址;『主機連結埠』欄位就填寫你要使用到的Port號,以SSH服務來說,筆者會給他設『22』的Port號,當然假設你電腦的主系統的22 Port號已經被監聽(被其他服務使用著),那你可以改至其他的Port,比如說『2222』;『客體 IP』欄位就填寫剛剛在上面第一部分Step 2已經查好的作業系統IP位址,如:筆者剛剛查到的IP位址是『10.0.2.15』;『客體連接埠』以SSH服務來說,預設的Port號就是『22』。

**假如你要從區域網路或外部網路連上的話,那你的『主機 IP』欄位需要填寫你本機電腦所獲得的IP位址,這方面的設定可以參考本文教學最後一頁。

完成一筆連接埠轉發規則-virtualboxnat044

 

Step 5:Port轉發規則設定完成後,就可以點選『確定』來儲存你的設定。

儲存剛剛新增好的連接埠轉發規則-virtualboxnat045