一、使用一鍵腳本搭建服務端
Frp 這個內網穿透項目的官方地址為 https://github.com/fatedier/frp ,不過我們今天搭建服務端時不直接使用這個,而是使用了網友做的一鍵安裝腳本,地址為 https://github.com/clangcn/onekey-install-shell/tree/master/frps 。
那么我們就開始吧,emmmm,對了,你應該有自己的服務器或 VPS 吧?沒有的話,您就看個樂呵吧 O(∩_∩)O
首先使用 SSH(推薦 MobaXterm)登錄服務器,然后貼入以下代碼進行安裝(CentOS7 64 位親測可行):
1
2
3
4
|
wget --no-check-certificate https://
raw.githubusercontent.com/clangcn/onekey-install-shell/master/frps/install-frps.sh -O ./install-frps.sh
chmod 700 ./install-frps.sh
./install-frps.sh install
|
三行分別是下載腳本、改變權限、執行安裝,安裝過程一般按照默認值(直接回車)就行了,就是有些常用的端口肯定被占用了,所以要改一下,具體過程可參考網上的文章《centos 一鍵搭建內網穿透工具 frp 服務端》。一切順利的話,在最后會列出所有重要信息,包括客戶端綁定的端口(bind_port),服務端的管理(查看客戶端在線情況)端口(dashboard_port)以及用戶名和密碼,還有服務端和客戶端的 token 值。
最重要的一點,以上出現的所有端口,都需要在服務器上放行,可查找具體系統的放行方法,我是用寶塔面板操作的:
不然的話,客戶端啟動的時候會在短暫延遲后關閉,沒有什么提示。
安裝完成后,frps 已經成為一個服務了,系統重啟后會自動運行(自己手動搭建的話,這方面要自己處理)。這時我們輸入 frps 命令,就可以看到用法了:
功能都顯而易見,就不多說了,比如,輸入 frps config 可進行配置,打開的是一個文本編輯頁面,按 I 鍵進入編輯狀態,按 ESC 退出編輯狀態,輸入 :wq 回車保存並退出,輸入 :q 回車退出……
再比如,輸入 frps version 可查看當前 frps 版本,我這個目前是 0.20.0,不是最新(0.27.0)的:
好了,服務端就說這么多了。
二、Windows 客戶端
客戶端沒聽說有什么一鍵腳本,而且也確實不需要,因為比較簡單。
我們只需要在 https://github.com/fatedier/frp/releases 下載一個最新版:
我們只需要其中的 frpc.exe 和 frpc.ini 這兩個文件就行了:
將這兩個文件拷貝到某個目錄,然后我們再在其中建一個 start-frpc.bat 文件,內容為:
1
2
3
|
frpc -c ./frpc-win-home.ini
pause
|
意思是,啟動 frpc 程序,並使用當前目錄的配置文件(我改了個名字) frpc-win-home.ini。
文字版為:
1
2
3
4
5
6
7
8
9
10
11
|
[common]
server_addr = #<服務器 IP>
server_port = #<服務端綁定 IP>
token = #<服務端約定 token>
[mstsc-home] #<隧道名稱,須唯一>
type = tcp
local_ip = 127.0.0.1
local_port = 3389 #<本地需要連接的端口,此處為遠程桌面>
remote_port = #<服務端對應的端口>
|
這樣的話,我們運行 start-frpc.bat 這個批處理文件,就會啟動 frpc 程序了,並且配置了一個適用於遠程桌面程序的隧道。效果就是,我們在公司的遠程桌面程序中,填入你的服務器 IP(server_addr)+ 對應端口(remote_port),實際會訪問到你家里(啟動了這個 frpc 客戶端)電腦的指定端口(local_port),這樣就達到了遠程內網機器的目的。其中 remote_port 無需在服務端配置,不過要在服務器防火牆中放行。
運行效果如圖:
該窗口不能關閉,關閉就結束了。開機運行可將該批處理文件的快捷方式添加到系統的啟動目錄里(C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp),隱藏窗口方法請自行百度(可使用 PS Tray Factory)。
三、Linux 客戶端
首先當然還是下載客戶端程序啦,這個也是根據系統來的,我下的是 frp_0.27.0_linux_arm.tar.gz ,可以在 Windows 電腦中先將需要的文件取出來:
也是只需一個 frpc 程序和一個配置文件,當然,配置文件我們還要修改。
將所需文件傳到 Linux 電腦(我是使用香蕉派 Bpi-M2B)中,推薦使用 Swish 軟件:
最后我們 Linux 電腦中有 3 個文件:
多出來的那個文件也就是啟動腳本文件 start-frpc.sh :
1
2
3
|
cd /usr/dlgcy/frp
./frpc -c ./frpc-bpi.ini
|
與 Windows 中不同的是,這里先要轉到這個目錄,才能執行程序;還有,這個文件需要可執行權限(chmod 755 start-frpc.sh)。
再來看看配置文件:
基本上和 Windows 上的是一樣的;不過可以看到我配置了兩個隧道,分別用於 SSH 和 VNC 程序;而服務端無需配置和重啟,還是很方便的;不過要記得在服務器上將相關端口放行。
開機啟動的話,以我用的 CentOS7 為例,就是在 /etc/rc.d/rc.local 文件(也需要可執行權限)中添加指令:
1
2
|
nohup /usr/dlgcy/frp/start-frpc.sh &
|
nohup & 組合表示在后台運行。
四、監控頁面
還記得安裝的時候配置的 dashboard_port 嗎?這個就是你在瀏覽器訪問你服務器 IP 加上這個端口,然后輸入用戶名和密碼登錄,會打開一個監控頁面:
主要就是一個信息概覽頁面和一個客戶端連接狀態頁面(可以看到 Windows 端的一個隧道和 Linux 端的兩個隧道都在線),比較簡單,不過挺方便的。
好了,祝大家使用愉快!