国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關(guān)注微信公眾號

如何在SSH通道中隱藏OpenVPN流量?
2016-06-09   

  傳統(tǒng)防火墻會根據(jù)目標 IP 地址和端口號來屏蔽連接,但更高級的防火墻會使用深度包檢測(DPI)技術(shù)或者狀態(tài)包檢測(SPI)技術(shù)來識別不同類型的加密算法和VPN協(xié)議。這就意味著它們能夠檢測出OpenVPN流量并將其標識出來,以方便管理員決定是否屏蔽目標服務(wù)器。

  有三種方法可以繞過這種檢測:使用混淆(obfuscation)代理,使用 SSL 通道或者使用 SSH 通道。在本教程中,我們將討論最后一種方法。SSH 通道會將你已經(jīng)加密的鏈接封裝在另一層加密中,這樣防火墻就無法進行識別。這種方法可以用在繞過部署有完備 DPI 和 SPI 防火墻的公司或像天朝這種具有重度審查機制的國家。

  但基于 SSH 通道的 OpenVPN 也有幾個缺點。第一個就是雙重加密必然會導致效率的降低。其次是雖然 OpenVPN 的指紋不在會被防火墻檢出,但有些防火墻同樣也會屏蔽 SSH 流量。就像 Netflix(美國一家在線影片租賃提供商) 會禁止使用任何類型加密代理的連接,無論是 OpenVPN、SSH 還是其他方式。在這種情況下,我們建議你使用混淆代理,其會使加密流量呈現(xiàn)出正常和未加密流量的樣子。混淆代理非常強大,但為此付出的代價是,混淆代理難以的配置和運行。

  不幸的是,據(jù)我所知,具有混淆功能的OpenVPN 只能工作在桌面端,而使用 SSH 通道則還可以用在安卓或 IOS 等移動端。

  本文假設(shè)你已經(jīng)擁有一臺配置好 OpenVPN 的服務(wù)器,并且能夠通過 OpenVPN GUI 或者 APP 連接上服務(wù)器。同樣的你也能夠通過 SSH 連接上服務(wù)器,無論是使用 Mac 的終端還是在 PC 上使用 PuTTy。本文會以 PuTTy 進行演示。

通過 SSH 配置 OpenVPN

  打開 PuTTy 加載你的 VPN 服務(wù)器配置。在側(cè)欄中選擇 “Connection > SSH > Tunnels”,確保 D8080 包含在列表中。如果沒有,那么如下圖所示在 “Source port” 中輸入8080,并選擇 “Auto” 和 “Dynamic”,然后點擊添加(Add)按鈕。這樣你就有了一個運行在 8080 端口的 SSH 代理了。如果你想保存設(shè)置,可以返回 “Session” 選項卡進行保存。

 

1.png

 

點擊 “Open” 按鈕登錄到你的服務(wù)器,定位到 openvpn.conf 文件并使用如下命令檢查配置:

cd /etc/openvpn

cat openvpn.conf

這會顯示你 OpenVPN 服務(wù)器的配置文件,像如下內(nèi)容:

port 1194

proto tcp-server

dev tun1

ifconfig 10.4.0.1 10.4.0.2

status server-tcp.log

verb 3

secret ovpn.keyxxxxxxxxxx

 

2.png

 

最重要的事是,第二行設(shè)置為 TCP 而不是 UDP。如果你需要修改它,你可以使用以下命令:

sudo nano openvpn.conf

然后使用 CTRL+O (字母”o”不是數(shù)字零)保存文件,CTRL+X 退出編輯。

客戶端配置

在你的本地機器上,定位到 OpenVPN 客戶端的配置文件。如果你使用默認的安裝目錄,那么應(yīng)該在 “C:/Program Files/OpenVPN/config”。

復制一份原先的配置文件當備份,或者直接新建一個配置文件。使用記事本或者其他編輯器以管理員身份運行,打開或創(chuàng)建一個新的配置文件,如下所示:

proto tcp-client

remote localhost 1194

port 1194

dev tun1

secret ovpn.key

redirect-gateway def1

ifconfig 10.4.0.2 10.4.0.1

socks-proxy-retry

socks-proxy 127.0.0.1 8080

注意第二行的 “remote” 使用 localhost 而不是遠程 OpenVPN 服務(wù)器的 IP 地址,然后在末尾增加兩行配置 OpenVPN 使用代理。其余的配置跟以前一樣。

將新的配置文件保存到 OpenVPN 的目錄下面。

配置應(yīng)用程序

最后一步就是配置你的應(yīng)用程序使用 8080 端口的代理了。這跟配置基本的 SSH 代理步驟一樣。許多應(yīng)用又可以設(shè)置代理,有些甚至能夠自動檢測代理。如果你需要手動進行設(shè)置,下面三部分信息是你需要的:

Host: 127.0.0.1 Port: 8080 Proxy type: SOCKS5 (或者 SOCKS v5)

下面以 Firefox 和 Chrome 為例來說:

Firefox 中:

選擇 “選項 > 高級 > 網(wǎng)絡(luò) > 連接 > 設(shè)置 > 手動設(shè)置代理” 設(shè)置 SOCKS 主機為 127.0.01 ,端口號設(shè)置為 8080 (或者你 PuTTy 里設(shè)置的端口號) 點擊確定保存

Chrome Proxy Switchy 中:

點擊圖標進入配置界面 隨便命名一個新的模式,然后在人工配置下面,設(shè)置SOCKS 主機為 127.0.01 ,端口號設(shè)置為 8080 (或者你 PuTTy 里設(shè)置的端口號) 點擊報錯,然后切換使用新建的模式

譯者注:Proxy Switchy已經(jīng)停止更新了,Chrome 下面可以使用 SwitchyOmega,還是跟上面一樣的配置。

 

3.png

 

現(xiàn)在使用 PuTTy 連接到你的服務(wù)器,然后使用新的配置文件運行 VPN。這樣你就可以使用基于 SSH 通道的 OpenVPN 上網(wǎng)了。

移動端

下面我們開始講解如何在安卓上使用 OpenVPN+SSH,對于 IOS 端我們就不說了大同小異。

在開始前有幾個注意事項。首先,此方法僅適用于瀏覽 Web。這是因為不像桌面端,在安卓或 IOS 設(shè)備上你無法隨心所欲的打開端口,這意味著其他 Apps 無法直接使用 SSH 代理。為了解決這個問題,你可以選擇進行 root 或越獄手機,然后使用像 ProxyDroid 或 Cydia’s Unix apps 來配置代理。

本教程以在安卓上面運行火狐瀏覽器為例,你需要安裝如下應(yīng)用:

OpenVPN for Android (注意不是OpenVPN Connect) ConnectBot 或者同樣的 SSH 終端應(yīng)用(JuiceSSH 挺不錯的,但在轉(zhuǎn)發(fā)端口上需要額外的開銷) 一個文件管理器,例如:File Commander Firefox 或者其他能夠配置代理的瀏覽器

你還需要一些可以將文件從電腦傳輸?shù)绞謾C上的方法,一根 USB 傳輸線是必須的,我會選擇使用 IBackup 的同步文件夾。

找到電腦上的 ovpn.key 和 .ovpn 配置文件,將它們上傳到手機上。同樣的還有服務(wù)器主機的 .pem 密鑰文件,這個文件應(yīng)該位于與 .ppk 文件相同的文件夾下,用于 PuTTy 認證使用的。如果丟失了這個文件,你必須重新創(chuàng)建一個。

(可選)你也可以使用標準的 .ovpn 配置文件而不使用 SSH。這樣你所有的 Apps 都就可以使用 VPN 連接上網(wǎng),而不僅僅只限于瀏覽器,另外這樣也可以用來進行排錯。

配置ConnectBot

在手機上運行 ConnectBot,點擊右上角的三個點進行管理公鑰。再次點擊第二頁上面的點,然后點擊導入,這樣應(yīng)該會啟動你安裝的文件管理器。找到上傳的 .pem 文件并選擇它,這樣它應(yīng)該會在公鑰列表中出現(xiàn)并帶有一個紅色鎖的標識。點擊讓其圖標變綠,然后返回到 ConnectBot 主界面。

 

4.jpg

 

在底部的 ssh 終端中輸入你的 ssh 信息,像如下所示:

user@:22

將上面替換為為你的 OpenVPN 服務(wù)器地址和用戶名,然后點擊登錄按鈕使用 SSH 登錄到服務(wù)器。這一切步驟都會被保存,所以之后就無需在重復進行,但以后你可能會需要再次更換公鑰。

一旦你成功連接,再次點擊右上角的三個點并斷開連接。此時你的配置文件應(yīng)該已經(jīng)得以保存并顯示在 ConnectBot 的主頁上。長按配置文件打開菜單,在點擊”編輯端口轉(zhuǎn)發(fā)(Edit port forwards)”,然后在點擊那三個點選擇”增加端口轉(zhuǎn)發(fā)(Add port forward)”。按你的喜好隨意取個名字,隨后選擇類型為動態(tài)(SOCKS)端口為 8080,在點擊”創(chuàng)建端口轉(zhuǎn)發(fā)(create port forward)”。

這樣 ConnectBot 就配置好了,但我們還沒有創(chuàng)建連接,讓我們來先配置好 OpenVPN 吧。

配置OpenVPN for Android

運行 OpenVPN for Android。點擊右上角帶有向下箭頭的方形按鈕進行導入配置。找到你的 .ovpn 配置文件并選中它。

 

5.jpg

 

這時,在找到你的 ovpn.key 文件并選中,再點擊右下角黃色的保存按鈕。

這樣你的新配置文件就應(yīng)該出現(xiàn)在 App 的首頁上了。

在連接前,讓我們在檢查下服務(wù)器的防火墻,在用戶配置中贈加自定義的 TCP 規(guī)則,允許端口 22,1194和8080。

現(xiàn)在是時候開始連接了。首先打開 ConnectBot,選擇我們剛才創(chuàng)建的 SSH 連接上服務(wù)器,確保公鑰已經(jīng)加載,不然會提示密碼錯誤。在成功連接上后,切換到 OpenVPN App 選擇你的配置文件進行連接。

 

6.jpg

 

當你連接上后,OpenVPN 日志末尾應(yīng)該會顯示為“CONNECTED,SUCCESS”。

請注意,因為我們使用了同電腦相同的 .pem 和 .key 文件,在同一時刻內(nèi)你只能使用一臺設(shè)備進行登錄。當你想在移動端進行連接時,請確保電腦沒有進行連接。如果你想同時連接多臺設(shè)備,你需要為每一臺設(shè)備生成新的憑證(.key 和 .pem)。

配置 Firefox 使用代理

最后,我們需要配置 Firefox 使用代理。移動端的 Chrome 和 Safari 瀏覽器沒有配置代理選項,這也是為什么我們推薦使用 Firefox。你可以在 wi-fi 環(huán)境下設(shè)置代理,但當你不再需要使用代理的時候要來回進行切換。

 

7.png

 

在 Firefox 的地址欄中,輸入 “about:config”,然后在搜索欄中輸入 “network.proxy”,這樣我們就可以進行設(shè)置代理了,在相應(yīng)的位置輸入以下配置:

network.proxy.socks: 127.0.0.1 network.proxy.socks_port: 8080 (或者你 PuTTy 里設(shè)置的端口號) network.proxy.type: 1

這樣你的 Firefox 流量就會通過 OpenVPN 和 SSH 了,你也可以隨心所欲的使用 VPN 進行上網(wǎng)而不用在擔心深度包檢測了。

如果你只想通過 SSH 代理而不使用 OpenVPN 進行上網(wǎng),只需要使用 ConnectBot SSH 登錄服務(wù)器,同時不連接 OpenVPN 即可。同樣的,如果你只想使用 OpenVPN 而不使用 SSH,則可以只導入基本的 .ovpn 配置文件使用 OpenVPN 進行連接,而不使用 SSH 通道。

熱詞搜索:SSH 流量 VPN

上一篇:看監(jiān)控易如何化解IT服務(wù)外包人力危機
下一篇:RHEL7系統(tǒng)修復rm -rf /boot /etc/fstab

分享到: 收藏
主站蜘蛛池模板: 原平市| 盐城市| 盐亭县| 翼城县| 饶河县| 长岭县| 哈巴河县| 临夏市| 汕尾市| 陆河县| 左权县| 三明市| 治多县| 玛沁县| 灵山县| 景东| 黄龙县| 贵港市| 延吉市| 留坝县| 通山县| 正安县| 吴桥县| 阳东县| 南阳市| 东乡县| 来安县| 顺义区| 临邑县| 饶平县| 峨眉山市| 和林格尔县| 会理县| 大悟县| 准格尔旗| 紫金县| 阿城市| 旺苍县| 九龙城区| 秦安县| 肃南|