2016年7月9日 星期六

使用NoVNC透過瀏覽器連接VMware虛擬機

使用NoVNC透過瀏覽器連接VMware虛擬機

這次會介紹如何使用NoVNC來連接VMware建立的虛擬機器
第一部分:VMware 虛擬機的設定
第二部分:安裝NoVNC於Ubuntu虛擬機
第三部分:連接虛擬機器(VM)


簡單介紹NoVNC原理
NoVNC採用 HTML 5 WebSockets, Canvas 和 JavaScript 實現,讓使用者透過瀏覽器即可連接遠端主機,NoVNC被普遍用在各個雲端運算服務上的虛擬機器控制台,比如 OpenStack Dashboard 用的就是 NoVNC
 NoVNC 採用 WebSockets 實現,但是目前大多數 VNC 伺服器都不支援 WebSockets,所以 NoVNC 是不能直接連接 VNC 伺服器的,怎麼辦呢?需要一個代理來做 WebSockets 和 TCP sockets 之間的轉換。這個代理也已經有了,在 NoVNC 的目錄裡,叫做 websockify。
 

說明一下實驗環境:
一台主機(Host)上裝VMware Workstation Pro並建立兩台虛擬機器(VM)分別為Windwos7、Ubuntu作業系統,我們將NoVNC套件裝在Ubuntu的虛擬機器上,透過NoVNC上的WebSockets導向到Host IP。這時我們就可以在主機上開啟瀏覽器連接到兩台虛擬機器。
第一部分:VMware 虛擬機的設定
建立好兩台虛擬機後,開啟VMware虛擬機的設定,勾選Enable VNC connections
Ubuntu的port設定5900、Windows7的port設定5901。
第二部分:安裝NoVNC於Ubuntu虛擬機
進入Ubuntu虛擬機, 打開終端機(Ctrl+Alt+t)
1.先安裝git
$sudo apt-get install git
2.再下載NoVNC
$git clone https://github.com/kanaka/noVNC

3.啟動NoVNC
進入NoVNC目錄底下
$cd noVNC/
啟動NoVNC
$./utils/launch.sh --listen 8787 --vnc 192.168.1.106:5900
#在第一次啟動時,會自動安裝websockify。
#這裡的8787是指novnc webserver和WebSockets proxy的port,預設是6080
#192.168.1.106:5900是主機(Host)的IP並非虛擬機的,5900是VMware為這台Ubuntu虛擬機所提供的VNC連接port。
#在第一部分VMware設定時就提供了VNC的連接,所以虛擬機本身是不用裝VNC Server的。
第三部分:連接虛擬機器(VM)
1.在主機(Host)上開啟瀏覽器連接虛擬機
網址列輸入:http://192.168.44.131:8787/vnc.html
#192.168.44.131為Ubuntu虛擬機的IP
2.按下Connect,即可看到虛擬機畫面。
3. 連接Widows 7虛擬機器
按下Ctrl+c 終止目前的終端機
重新輸入指令
$./utils/launch.sh --listen 8787 --vnc 192.168.1.106:5901
#5901是VMware為Windows 7虛擬機所提供的VNC連接port。
4.一樣開啟瀏覽器
網址列輸入:http://192.168.44.131:8787/vnc.html
按下Connect,即可看到Win7虛擬機畫面。

沒有留言:

張貼留言