banner
keney

keney

remain optimistic
twitter

frp-0.59-使用教程

背景#

目前需要使用自建的內網穿透工具,就選擇了 frp,frp 也分很多版本,我之前使用的是 frp_0.51.2_windows_386 版本,現在升級版本為 frp_0.59.0_windows_amd64,主要使用這個 frp 功能有,點對點內網穿透(p2p)、安全地暴露內網服務 和 服務端作為代理進行穿透的三種方式。準備使用點對點或安全的暴露服務方式,之前使用的一直是伺服器代理的方式進行內網穿透,這樣直接將自己的機器暴露在公網上,非常不安全,有一次我檢查伺服器日誌,發現很多請求我伺服器暴露的這個端口,意識到可能被盯上了,就改換了其他端口。現在加強安全意識,就換用點對點或者安全的暴露方式,攻擊者的掃描和入侵。建議不使用服務提供的默認端口,自行進行修改。

目前使用的用途有:遠程連接 window 電腦、web 服務暴露在公網上。

一、準備工作#

官方下載地址:https://github.com/fatedier/frp/releases/tag/v0.59.0

這裡我提供兩個下載地址:

123 網盤:https://www.123pan.com/s/tB5A-psnYd.html? 提取碼: TA7T

藍奏網盤:https://nxg.lanzoul.com/b03ivhzl1i 密碼:7ijd

frp_0.59.0_linux_amd64.tar.gz ====》用於上傳到 linux 伺服器上

frp_0.59.0_windows_amd64.zip ====》 用於在 window 本地啟動的

注意:下載 linux 版的會 window 系統會報毒,自行在設置中放行 (排除) 下載目錄即可下載,並上傳到伺服器上。
在官網下載同樣是會報毒的,可以自行驗證。

二、配置服務端#

2.1 上傳 frp 和配置 frp#

先上傳 frp_0.59.0_linux_amd64.tar.gz 壓縮包到自定義目錄下,這裡我以 /root/frp 目錄為例:

tar -zxvf frp_0.59.0_linux_amd64.tar.gz

位置:/root/frp/frp_0.59.0_linux_amd64

frps.toml 修改配置端口:

bindPort = 7002

至此服務配置就配置好了

2.2 安裝 systemd#

yum install systemd

2.3 創建並編輯 frps.service 文件(使用 vim 編輯器)#

vim /etc/systemd/system/frps-59.service

2.4 寫入內容#

[Unit]
# 服務名稱,可自定義
Description = frp_0.59.0_linux_amd64 server
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
# 啟動frps的命令,需修改為您的frps的安裝路徑
ExecStart =/root/frp/frp_0.59.0_linux_amd64/frps -c /root/frp/frp_0.59.0_linux_amd64/frps.toml

[Install]
WantedBy = multi-user.target

注意:/root/frp/frp_0.59.0_linux_amd64/frps 對應的 frps 文件,也就是你上傳到伺服器後,並解壓後的一個文件。

上面三步可以參考:https://gofrp.org/docs/setup/systemd/

然後刷新一下:

systemctl daemon-reload
# 如果上面的命令沒有生效,就使用下面的命令試一試
systemctl daemon-reexec

2.5 啟動和關閉命令#

不是 root 管理員權限時,需要使用到 sudo,如你是管理員權限,就可以不是 sudo 命令,直接 systemctl start frps-59


# 啟動frp
sudo systemctl start frps-59
# 停止frp
sudo systemctl stop frps-59
# 重啟frp
sudo systemctl restart frps-59
# 查看frp狀態
sudo systemctl status frps-59

設置開機自啟:

sudo systemctl enable frps-59

三、配置客戶端#

安全暴露服務#

1、被訪問者機器(目標機器)

解壓 frp_0.59.0_windows_amd64.zip 文件:

位置:D:\programTool\frp\frp_0.59.0_windows_amd64

frpc.toml 修改配置:

serverAddr = "伺服器公網ip地址"
serverPort = 7002

[[proxies]]
name = "rdp_stcp_test"
type = "stcp"
# 只有與此處設置的 secretKey 一致的用戶才能訪問此服務
secretKey = "7G5Y2QW9X312PYWQWE67"
localIP = "127.0.0.1"
localPort = 3389

這是要被訪問的機器,即 目標機器

cmd 啟動命令:

.\frpc.exe -c .\frpc.toml

2、訪問者機器

解壓 frp_0.59.0_windows_amd64.zip 文件:

位置:D:\tool\technology\frp\frp_0.59.0_windows_amd64

修改 frpc.toml 配置:

serverAddr = "101.133.238.75"
serverPort = 7002

[[visitors]]
name = "rdp_stcp_visitor"
type = "stcp"
# 要訪問的 stcp 代理的名字
serverName = "rdp_stcp_test"
# 只有與此處設置的 secretKey 一致的用戶才能訪問此服務
secretKey = "7G5Y2QW9X312PYWQWE67"
bindAddr = "127.0.0.1"
bindPort = 7003

這是訪問者的機器,即,從這台機器去訪問上一台配置好的機器。

cmd 啟動命令:

.\frpc.exe -c .\frpc.toml

訪問者機器 連接 被訪問者

使用 window 自帶的遠程連接工具:127.0.0.1:7003 輸入電腦用戶名和密碼,即可訪問目標機器

點對點訪問服務#

1、被訪問者機器(目標機器)
位置:D:\programTool\frp\frp_0.59.0_windows_amd64

frpc.toml 修改配置:

serverAddr = "伺服器公網ip地址"
serverPort = 7002

[[proxies]]
name = "p2p_rdp_test"
type = "xtcp"
# 只有共享密鑰 (secretKey) 與伺服器端一致的用戶才能訪問該服務
secretKey = "AAAA5Y2QW9X312PYWQWE67"
localIP = "127.0.0.1"
localPort = 3389

2、訪問者機器:

位置:D:\tool\technology\frp\frp_0.59.0_windows_amd64

修改 frpc.toml 配置:

serverAddr = "101.133.238.75"
serverPort = 7002

[[visitors]]
name = "p2p_rdp_visitor"
type = "xtcp"
# 要訪問的 P2P 代理的名稱
serverName = "p2p_rdp_test"
secretKey = "AAAA5Y2QW9X312PYWQWE67"
# 綁定本地端口以訪問 SSH 服務
bindAddr = "127.0.0.1"
bindPort = 7004
# 如果需要自動保持隧道打開,將其設置為 true
keepTunnelOpen = true

這是訪問者的機器,即,從這台機器去訪問上一台配置好的機器。

cmd 啟動命令:

.\frpc.exe -c .\frpc.toml

訪問者機器 連接 被訪問者

使用 window 自帶的遠程連接工具:127.0.0.1:7004 輸入電腦用戶名和密碼,即可訪問目標機器

window 自啟配置#

在 D:\programTool\frp\frp_0.59.0_windows_amd64 和 D:\tool\technology\frp\frp_0.59.0_windows_amd64 目錄下創建

方式一:#

frpc-start.bat

@echo off
:home
frpc -c frpc.toml
goto home

然後將這個 frp-start.bat 快捷鍵放入到 window 開機自啟的目錄下。

這個腳本可以看到控制台窗口,不那麼優雅

方式二:#

frpc-start.bat

@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
REM
cd D:\programTool\frp\frp_0.59.0_windows_amd64
frpc -c frpc.ini
exit

frp 客戶端相對穩定,使用方式二就足夠了,如不穩定也可以選擇方式一

方式三#

frpc-start.bat

可以一直嘗試連接

@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
REM
:home
frpc -c frpc.toml
goto home

這個 frpc-start.bat 腳本,放在 D:\programTool\frp\frp_0.59.0_windows_amd64 目錄下

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。