2011-12-09

VirtualBox 4 指令設定 Port Forwarding

阿舍今天要在 VirtualBox 4.x 版用 Port Forwarding 的功能時,才發現,下指令的方式和之前不一樣了哩 ! 所以,阿舍就去翻了一下 VirtualBox 的說明文件,才知道 VirtualBox 4.x 的 Port Forwarding 指令變簡單了,以前要三行,現在只要一行就可以搞定哩 ! 不過,還是一樣要先把 Guest 關掉才能下指令,不能夠在 Guest 開著的時候執行指令,阿舍試過,會有錯誤訊息的...

圖片引用自 savvyadmin.com

以阿舍想要把 Host 的 80 埠轉到虛擬機器名稱為「UBUNTU-DT」的 Guest 的 80 埠來連到 Guest 的 HTTP Server 為例,要先切換到 VirtualBox 的安裝資料夾 (預設是 c:\Program Files\Oracle\VirtualBox 資料夾),然後,執行下面這一行指令,完成之後,再重新啟動 Guest,應該就可以連的到了。

VBoxManage modifyvm "UBUNTU-DT" --natpf1 “guesthttp,tcp,,80,,80”

上面指令中的「guesthttp」是這一個 Port Forwarding 規則的名稱,可以隨便取,用途是當你要停止這個轉址的動作時,就可以用這個名稱來刪除,以上面指令的例子來說,要刪除這組規則,可用下面的指令。

VBoxManage modifyvm "UBUNTU-DT" --natpf1 delete "guesthttp"

另外,要說明的是,當你要連到 Guest 轉址的埠號時,要指定的是 Host 的 IP 址,而不是 Guest 的 IP 位址,所以,如果阿舍是在 Host 上要連到 Guest 的話,就可以在瀏覽器用 losthost 或 127.0.0.1 就可以連的到了,另外,如果你有需要指定 Host 或是 Guest 的轉址 IP 位址的話,可以用下面這行指令的方式 (不需加入中括號)。

VBoxManage modifyvm "UBUNTU-DT" --natpf1 "guesthttp,tcp,[Host IP],80,[Guest IP],80"

例如,要指定連到 Host 的 192.168.1.88 這個 IP 位址的話,指令如下:

VBoxManage modifyvm "UBUNTU-DT" --natpf1 "guesthttp,tcp,192.168.1.88,80,,80"

推薦閱讀


有疑問? 問題還是沒解決嗎? 歡迎下方留言提問和討論 😁

1 則留言 :

tomexou 提到...

VirtualBox 4.3.10版本已發現有gui介面可設定nat port forwarding的值了,感謝你的教學。

張貼留言

歡迎留言提問和討論 .... 😁