close

 

其實這個技巧在工作上比較不會用到,因為真的是很特殊的情況才會用到這類的技巧;下圖是筆者遇到過的特殊環境:

Untitled (1).png

在測試環境裡,有二台(或以上)的機器,而其中一台是給使用者登入的SSO(Single Sign On,管理使用者帳號的機器),如果要連到機器A時,機器A發現使用者未登入的話,會將使用者導到SSO;在這個環境下,上方教過的跳板設定是無效的,因為要使用跳板,網址必須為localhost,但機器A幫我們導向SSO時,絕對不可能帶localhost的網址。

這個時候的解決方式有二個,一個是利用上一篇所談到的,利用XMing之類的程式,開啟跳板機上的瀏灠器,因為跳板機到這幾台環境並沒有什麼障礙,所以可以達我們的目的;另一個就是我們本篇章所要談到的,讓本機的灠瀏器透過跳板機連線出去。

或許還有讀者還不太懂「讓本機的灠瀏器透過跳板機出去」的意思,所以我簡單的解釋一下我們的目的:

我希望在本機上的瀏灠器(例如:Chrome)可以直接連線到機器A,或是它幫我導到SSO時,也可以正常運作。

為了達到這個目的,我們希望能夠把跳板機當代理伺服器(Proxy),讓跳板機去連線,之後再將資料回傳給我們的瀏灠器;為了達到這個目的,我們要來設定另一種跳板方式。

下列步驟適用Windows系統:

準備工具

  1. Putty

步驟:

  1. 開啟Putty。

  2. 左方Menu切換到Connection→SSH→Tunnels,並輸入資料(參考下方圖示)

*注意選擇Dyamic

  1. 按「Add」,完成後如下圖。

  1. 按「Open」後,輸入帳號密碼,完成連線。

就這樣,我們很快就把跳板機設定成Proxy了,這時候回去開瀏灠器:

咦,怎麼這樣,不是按照步驟,一步一步設定完了嗎?為什麼不能開啟網站呢?

這裡解釋一下,如果讀者有按著上方的步驟來做,的確是把Proxy設定好了,只不過剛剛的設定只是把跳板機當成Proxy而已,瀏灠器還不知道要去跟Proxy要資料,所以瀏灠器這邊也要跟著設定,讓瀏灠器去跟Proxy要資料。

下方以Chrome為例,找出Windows系統怎麼設定瀏灠器的Proxy。

  1. 開啟Chrome瀏灠器。

  2. 進入設定頁。

 

  1. 直接利用上方的搜尋,找到Proxy。

  1. 點擊「變更Proxy」後,跳出下列視窗,再點擊「LAN設定」。

  1. 設定如下圖後,點選「進階」。

  1. 設定如下圖後,點擊「確定」

全部設定完回,再回到Chrome後連線。

原本不能連線的,經過Proxy後,可以連線了。

 

下列步驟適用Linux base系統:

  1. 開啟終端機程式。

  2. 輸入指令:ssh root@172.16.1.1 -D 3128(粗體字請自行變更為目的地的帳號與IP)

  3. 輸入密碼後,登入成功即完成Proxy設定。

同Windows系統一樣,登入完成後只是把跳板機設成Proxy而已,瀏灠器要另外設定,下圖是在MAC系統中的設定步驟:

  1. 開啟Chrome瀏灠器。

  2. 進入設定頁(參考上方Windows系統的設定方式)。

  3. 直接利用上方的搜尋,找到Proxy(參考上方Windows系統的設定方式)。

  4. 跳出視窗後,選擇「SOCKS代理伺服器」後,輸入localhost:3128,如下圖。

  1. 不要忘了按「套用」喔,不然不會生效。

 

結論

本章談到的這種環境,其實在工作上很常會遇到,只不過正常是用不同的方法處理而已,那個方法叫做VPN。

回想一下為什麼要使用VPN,原因就是從外部的網路,無法連到公司內部網路的相關網站,所以才需要透過VPN,讓VPN來代替跳板,達成跟我們一樣的目的;雖然「VPN」跟「跳板」比較起來,VPN聽起來比較光明磊落,但是所做的事情是完全一模一樣的。

不過VPN的架設,又是另外一種環境的建置,會需要有人來設定與維護,所以不一定每間公司都會有;不過本書所描述的跳板機,卻幾乎每間公司都會有,透過本書的描述,除了讓各位讀者精進自己的技巧外,也同時讓各位知道,光是把跳板機的帳號密碼洩漏出去的話,就會有這麼多的問題。

最後,當讀者按照上方的步驟來設定Proxy後,最常遇到的問題,是忘了把Proxy設回來。因為已經要求瀏灠器要去跟Proxy要求資料了,但卻把本機與跳板機的連線切斷,此時的瀏灠器因為要不到資料,所以就會出錯,如下圖。

看到這個圖,表示我們忘了把Proxy取消,導至瀏灠器還在跟Proxy要資料,所以要記得回去設定裡,將Proxy取消掉,就能正常運行了。

arrow
arrow

    JAVA Programmer 發表在 痞客邦 留言(0) 人氣()