[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 連接埠)
可以成功看到 ESXi 上的資訊和虛擬機,也可以操作:
問題是想把檔案上傳至 storage 區時,跳出了錯誤訊息,
說 “Failed to log into NFC server”…
原來 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 真的是一個好東西呀~~^^
2 thoughts on “[Linux/Mac] 利用 ssh tunnel 讓 vSphere Client 連上不同網段的 ESXi server”
請教一下,ssh -NfL 是在MAC上執行還是Linux?
謝謝
我是在 Mac 上執行喔~