搭建 Frp 來遠程內網 Windows 和 Linux 機子


魏劉宏 2019 年 5 月 19 日

一、使用一鍵腳本搭建服務端

 

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 端的兩個隧道都在線),比較簡單,不過挺方便的。

 

好了,祝大家使用愉快!

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM