Frp的服务端部署与连接
前言-frp 是什么?
- frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
为什么使用frp?
通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括:- 客户端服务端通信支持 TCP、KCP 以及 Websocket 等多种协议。
- 采用 TCP 连接流式复用,在单个连接间承载更多请求,节省连接建立时间。
- 代理组间的负载均衡。
- 端口复用,多个服务通过同一个服务端端口暴露。
- 多个原生支持的客户端插件(静态文件查看,HTTP、SOCK5 代理等),
便于独立使用 - frp 客户端完成某些工作。
- 高度扩展性的服务端插件系统,方便结合自身需求进行功能扩展。
- 服务端和客户端 UI 页面。
安装
关于如何安装 frp 的说明。- frp 采用 Golang 编写,支持跨平台,仅需下载对应平台的二进制文件即可执行,没有额外依赖。
系统需求
- 由于采用 Golang 编写,所以系统需求和最新的 Golang 对系统和平台的要求一致,具体可以参考 Golang System requirements。
下载
- 目前可以在 Github 的 Release 页面中下载到最新版本的客户端和服务端二进制文件,所有文件被打包在一个压缩包中。(找到对应系统的对应处理器架构)
地址:https://github.com/fatedier/frp/releases - 安卓版:Releases · HaidyCao/frp (github.com)
- 目前可以在 Github 的 Release 页面中下载到最新版本的客户端和服务端二进制文件,所有文件被打包在一个压缩包中。(找到对应系统的对应处理器架构)
部署
- 解压缩下载的压缩包,将其中的 frpc 拷贝到内网服务所在的机器上,将 frps 拷贝到具有公网 IP 的机器上,放置在任意目录。
- frps为服务端、frpc为客户端
配置文件编写
服务端的配置文件的简单编写frps.ini
1
2
3
4[common]
bind_port = 7000
token = *****
#连接服务器的密码客户端的配置文件的简单编写
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24[common]
server_addr = x.x.x.x
#填写服务器的公网IP
server_port = 7000
#服务器监听的端口
token = *****
#连接服务器的密码
[Minecraft]
#连接名备注
type = tcp
#连接类型
local_ip = 127.0.0.1
#本地IP
local_port = 25565
#本地端口
remote_port = 25565
#frp 服务端监听的端口,访问此端口的流量将会被转发到本地服务对应的端口。
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000通过 SSH 访问内网机器,假设用户名为 test:
ssh -oPort=6000 test@x.x.x.x
frp 会将请求
x.x.x.x:6000
的流量转发到内网机器的 22 端口。
开始使用
编写配置文件,先通过
1
./frps -c ./frps.ini
启动服务端,再通过
1
./frpc -c ./frpc.ini
启动客户端。如果需要在后台长期运行,建议结合其他工具使用,例如 systemd 和 supervisor。
如果是 Windows 用户,需要在 cmd 终端中执行命令。
综上关于内网穿透的一些简单操作就完成了,更加详细的步骤可以移步到Frp 官方文档介绍 – Frps.cn 中文文档 博客文章内容节选自Frp 官方文档介绍 – Frps.cn 中文文档
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 曦辰Celestiawn!