低延遲網穿透工具FRP


沒有公網IP的用戶如何訪問內網,比如你在公司有台電腦,這時你在家里想要訪問公司電腦文件。那么這時候有什么辦法?有人說我用公司VPN,或者公司自有公網IP端口映射,當然辦法有很多種,前提條件都是要有公網IP。

今天給大家介紹一款好用內網穿透工具FRP,FRP全名:Fast Reverse Proxy。FRP是一個使用Go語言開發的高級的反向代理應用,可以幫助您輕松地進行內網穿透,對外網提供服務,FRP支持TCP,UDP,HTTP,HTTPS等協議類型,支持並且Web服務根據域名進行路由轉發。

開源FRP項目地址:https : //github.com/fatedier/frp

FRP的作用

  • 利用位於內網或防火牆后的機器,對外網環境提供HTTP、HTTPS或者遠程服務。
  • 對於HTTP,HTTPS服務支持基於域名的虛擬主機,支持自定義域名綁定,使多個域名可以共享一個80端口。
  • 利用位於內網或防火牆后的機器,對外網環境提供TCP和UDP服務,例如在家里通過SSH訪問位於公司內網環境內的主機。

FRP架構

FRP安裝

FRP采用Go語言開發,支持Windows,Linux,MacOS,ARM等多平台部署。FRP安裝非常容易,只需下載對應系統平台的軟件包,並解壓就可用了。

這里以Linux為例:

wget https://github.com/fatedier/frp/releases/download/v0.36.2/frp_0.36.2_linux_amd64.tar.gz
tar xzvf  frp_0.36.2_linux_amd64.tar.gz

最新版本下載地址:https://github.com/fatedier/frp/releases

FRP配置

服務端配置

以Linux為例,替換為FRP兩個服務端配置文件,一個是簡版的frps.ini,另一個是完整版本frps_full.ini。

先來看下簡版的frps.ini,通過這個配置可以快速的建造起一個FRP服務端。

vi  frps.ini

[common] 
bind_port = 7000
token = asdfgh #為了安全這里也可以加上一個token驗證


  • 默認配置中監聽的是7000端口,可根據自己實際情況修改。
  • 防火牆要放行該端口

啟動FRP服務端

chmod 700 frps frps.ini
./frps -c ./frps.ini 

服務端簡單配置完成

PC客戶端配置

類似,或者FRP也可以稱為兩個客戶端配置文件,一個是簡版的frpc.ini,另一個是完整版本frpc_full.ini。

同樣以簡版的frpc.ini文件為例。

[common]
server_addr = 公網IP
server_port = 7000
token = asdfgh  #token和服務端一樣

[ssh]
type = tcp
local_ip = 192.168.2.21 #內網電腦地址或者填寫本機環回地址127.0.0.1
local_port = 3389  #內網遠程端口
remote_port = 7000

打開cmd,運行frpc.exe

cd C:frp_0.36.2_windows_amd64
frpc.exe

客戶端運行如下圖

至此客戶端已配置完成,為了方便客戶端重啟失效,這里加個運行腳本,以便無論何時都可以遠程(只要客戶端PC是開啟狀態)

一、使用bat腳本后台運行

1、新建bat批處理文件,內容如下

cd C:\frp_0.37.0_windows_amd64
frpc.exe -c frpc.ini

 

如圖:

 

打開剛新建的bat文件,運行圖和cmd一樣

2、新建vbs開機自動啟動腳本文件,命名frpc.vbs

Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c C:\frp_0.36.2_windows_amd64\Telnet.bat",vbhide

如圖:

將改frpc.vbs文件放進windows啟動程序中。或者您按下 "Win + R" 鍵,打開 "運行" 對話框。輸入“shell:startup”並按下回車鍵,打開用戶的啟動文件夾。在啟動文件夾中,將之前創建的frpc.vbs腳本文件復制進來。現在,每次 Windows 10 開機啟動時,該frpc.vbs腳本都會被自動執行。

如圖:

到此已全部配置完成。

二、使用nssm服務助手放到后台運行(開機可自動啟動或手動禁用)

詳細安裝見 https://mefj.com.cn/lur3664.html

管理員運行cmd,nssm install frpc

安裝完 nssm start frpc 啟動即可,重啟pc遠程連接,檢查服務是否自動啟動。

  • 啟動服務:nssm start <servicename>
  • 停止服務: nssm stop <servicename>
  • 重啟服務: nssm restart <servicename>
  • 編輯服務參數: nssm edit <servicename>
  • 刪除服務:nssm remove <servicename>

 

可選項

給FRP服務端增加一個儀表板

通過Dashboard可以方便的查看FRP的狀態以及代理統計信息展示,要使用這個功能首先需要在FRP服務端配置文件中指定Dashboard服務使用的端口:

$ vim frps.ini

[common]

#指定Dashboard的監聽的IP地址
dashboard_addr = 公網IP地址

#指定Dashboard的監聽的端口
dashboard_port = 7500

#指定訪問Dashboard的用戶名
dashboard_user = admin

#指定訪問Dashboard的端口
dashboard_pwd = admin

#打開普羅米修斯
enable_prometheus = true 

普羅米修斯
首先啟用儀表板,然后enable_prometheus = true在中進行配置frps.ini。

http://{dashboard_addr}/metrics 將提供普羅米修斯監測器數據。

防火牆放行7500

firewall-cmd --zone=public --add-port=7500/tcp --permanent

查看所有已打開的端口

firewall-cmd --zone=public --list-ports

通過公網IP地址:7500訪問Dashboard界面,用戶名 admin 密碼admin

登錄如圖

 


免責聲明!

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



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