天天看點

FRP的使用

目錄

​​1、FRP介紹​​

​2、FRP的使用​

​2.1 通過SSH通路内網機器​

​​2.1.1 服務端​​

​​2.1.2 用戶端​​

​​2.1.3 使用​​

​2.2 通過HTTP協定通路内網WEB服務​

​​2.2.1 服務端配置​​

​​2.2.2 用戶端配置​​

​​2.2.3 使用​​

​2.3 通過socks5搭建隧道​

​​2.3.1 服務端配置​​

​​2.3.2 用戶端配置​​

​​2.3.3 使用​​

​3、sockets5+ssh 配置​

​​3.1 服務端frps.ini​​

​​3.2 用戶端frpc.ini​​

1、FRP介紹

frp 是一個專注于内網穿透的高性能的反向代理應用,支援 TCP、UDP、HTTP、HTTPS 等多種協定。可以将内網服務以安全、便捷的方式通過具有公網 IP 節點的中轉暴露到公網。

官網:​​https://gofrp.org​​

Github:​​https://github.com/fatedier/frp/releases​​

中文文檔:​​https://gofrp.org/docs/overview/​​

解壓縮下載下傳的壓縮包,将其中的 frpc 拷貝到内網服務所在的機器上,将 frps 拷貝到具有公網 IP 的機器上,放置在任意目錄。然後修改配置檔案即可使用

2、FRP的使用

配置

啟動

<code>local_ip</code> 配置為本地需要暴露到公網的服務位址。 <code>local_port</code> 配置為本地需要暴露到公網的服務端口。 <code>remote_port</code> 表示在 frp 服務端監聽的端口,通路此端口的流量将會被轉發到本地服務對應的端口。

frp 會将請求 x.x.x.x:6000 的流量轉發到内網機器的 22 端口

HTTP 類型的代理相比于 TCP 類型,不僅在服務端隻需要監聽一個額外的端口 ​<code>​vhost_http_port​</code>​ 用于接收 HTTP 請求,還額外提供了基于 HTTP 協定的諸多功能。

修改 frps.ini 檔案,設定監聽 HTTP 請求端口為 8080:

修改 frpc.ini 檔案,假設 frps 所在的伺服器的 IP 為 x.x.x.x,​<code>​local_port​</code>​ 為本地機器上 Web 服務監聽的端口, 綁定自定義域名為 ​<code>​custom_domains​</code>​。

分别啟動 frps 和 frpc。

将 ​<code>​www.yourdomain.com​</code>​ 和 ​<code>​www.yourdomain2.com​</code>​ 的域名 A 記錄解析到 IP ​<code>​x.x.x.x​</code>​,如果伺服器已經有對應的域名,也可以将 CNAME 記錄解析到伺服器原先的域名。或者可以通過修改 HTTP 請求的 Host 字段來實作同樣的效果。

通過浏覽器通路 ​<code>​http://www.yourdomain.com:8080​</code>​ 即可通路到處于内網機器上 80 端口的服務,通路 ​<code>​http://www.yourdomain2.com:8080​</code>​ 則通路到内網機器上 8080 端口的服務。

修改frps.ini配置檔案

bind_port:綁定的端口

修改frpc.ini配置檔案

remote_port: 代理的端口 plugin: 使用的協定 use_encryption: 是否加密 plugin_user= admin #socks5使用者名 plugin_passwd= admin #socks5密碼

然後可以本機設定代理: socks5 xxx.xxx.xxx.xxx(VPS) 10000,即可通路内網系統

可以利用指令如下指令來測試sockets代理搭建的是否成功

另外可以在SwitchyOmega中配置sockets5代理可以實作2.2的功能

3、sockets5+ssh 配置

bind_addr = 0.0.0.0 #綁定的ip bind_port = 17000 #綁定的端口 dashboard_addr = 0.0.0.0 #管理位址 dashboard_port = 27500 #管理端口 dashboard_user = root #管理的使用者名 dashboard_pwd = 123456 #管理使用者的密碼 token = 1q2w3e #用戶端服務端連接配接的密碼 heartbeat_timeout = 90 #心跳逾時時間

繼續閱讀