
讓我們假設這個狀態(imageshack 影像)的網路。我想要在 VNC 用戶端和 VNC 伺服器之間建立 SSH 隧道連線。
PC1 和 PC2 都運行 TightVNC 伺服器和 SSH 伺服器,並允許連接埠 22。TightVNC Java 檢視器。需要在 TightVNC Java 檢視器中輸入哪些位址(遠端主機?連接埠?SSH 伺服器?)需要對路由器進行哪些設定才能轉送到正確的 PC?感謝您的回答。
答案1
首先,您必須在路由器上設定連接埠轉送。讓我們以 ssh 為例(所有其他協定都可以同樣運作)。
如果您只有一台機器,您可以簡單地轉發連接埠22
。由於您只能將連接埠轉送到一台計算機,因此在您的情況下這不是一個選項。為您的機器組成兩個連接埠號碼。在這種情況下,我將使用10022
和20022
。現在您必須在路由器上設定兩個轉送:
- 一、從外部端口
10022
到內部ip&端口10.0.0.12:22
- 一、從外部端口
20022
到內部ip&端口10.0.0.14:22
這表示連接埠上的每個外部請求都會傳送到PC1 的10022
連接埠(ssh)。22
現在,您需要從外部 PC 到 IP 的兩個 ssh 連線88.65.41.128
。請注意,這些連接不能在預設連接埠上工作22
,只能在10022
和上工作20033
。
對於所有其他協定/服務也可以進行相同的操作。只需將連接埠替換22
為該服務的連接埠即可。
或者,您可以透過 ssh 隧道傳輸每個服務。我不知道tighVNC 端口,但我們假設它是9000
.您可以使用以下命令設定到 PC1 的隧道:
ssh -L 9001:localhost:9000 [email protected]:10022
這透過 ssh 連接到 PC1 並將位址localhost:9000
(從 PC1 的視圖)轉發到您執行此操作的電腦的連接埠 9001。我選擇9001,這樣你就可以同時從PC2轉送tightVNC:
ssh -L 9002:localhost:9000 [email protected]:20022
現在,您可以使用位址localhost:9001
和來從遠端電腦連接ightVNC localhost:9002
。