目錄
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 #心跳逾時時間