[Linux/Mac] 利用 ssh tunnel 讓 vSphere Client 連上不同網段的 ESXi server

[Linux/Mac] 利用 ssh tunnel 讓 vSphere Client 連上不同網段的 ESXi server

這一篇文章是上一篇 利用 ssh tunnel 經由跳板連到別的網段的電腦 的變形~

 

故事的起源是這樣的,我有一台與 VMware ESXi 同網段的 Linux 機器,

而這台 ESXi 是由一台也在同網段的 VMware vCenter 所管理~

當我想操作這台 ESXi 時,很自然的想說 vCenter 是 web client,

用 Linux 電腦上的 Chrome/Firefox 去操作應該沒問題~

 

web client 的確可以連上,但是上傳檔案到 storage 的時候,

卻會要求裝一個 VMware Client Integration Plugin 的程式,才能啟用上傳功能。

問題是裝完之後,還是不能上傳… 

看了 Vsphere Integration Plug-In 5.5 in Chromium / Chrome on Linux 這篇之後,

很失望地發現 Linux 上的 Chrome/Firefox 是無法成功安裝的…

這下該怎麼辦呢?

 

整理一下我有的電腦資源:

  – Windows VM: 這是台位於 NAT 網路下的電腦,只能連到 10.211.55.2 那台 Mac

  – 位於 10.211.55.2 的 Mac: 可以連到跳板 10.1.2.3,但不能直接連到 ESXi

  – 位於 10.1.2.3 的 Linux: 這台跳板電腦可以連到 ESXi

  – 位於 172.22.4.5 的 ESXi

 

於是我想到了 ssh tunnel~

我在 Mac 與跳板 Linux 間建立了一個 ssh tunnel,

凡是連到 Mac port 443 的連線,全部經由跳板 Linux 轉連到 ESXi 的 port 443~

這邊因為我們要繫結 443 的 port,

凡是小於 1024 的 port 都得用 root 權限才能繫結,因此使用了 sudo:

sudo ssh -NfL *:443:172.22.4.5:443 10.1.2.3

 

於是,我在 Windows VM 裡,

用 vSphere client 連到 10.211.55.2 那台 Mac,

就可以成功連上 ESXi 了~

(這邊 vSphere client 是利用 https 連線,因此是利用了 port 443…

可以參考 用於 vSphere Client 的 TCP 和 UDP 連接埠)

Screen Shot 2014-12-31 at 下午2.04.14

 

可以成功看到 ESXi 上的資訊和虛擬機,也可以操作:

Screen Shot 2014-12-31 at 下午1.12.03

 

問題是想把檔案上傳至 storage 區時,跳出了錯誤訊息,

說 “Failed to log into NFC server”…

Screen Shot 2014-12-31 at 下午2.08.00  

 

原來 vSphere client 還會利用 port 902 來傳檔案

(參考 用於 vSphere Client 的 TCP 和 UDP 連接埠)~

這樣的話,就再幫忙把 port 902 也 forward 過來吧:

sudo ssh -NfL *:902:172.22.4.5:902 10.1.2.3 

 

果然,在加上 port 902 的 ssh tunnel 後,檔案上傳也順利的成功了~

ssh tunnel 真的是一個好東西呀~~^^

 

(本頁面已被瀏覽過 790 次)

2 thoughts on “[Linux/Mac] 利用 ssh tunnel 讓 vSphere Client 連上不同網段的 ESXi server

  1. 請教一下,ssh -NfL 是在MAC上執行還是Linux?

    謝謝

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料