使用 frp 搭建反向代理 01:简介及SSH启动

1.关于 frp

frp(fast reverse proxy)是一款开源的反向代理程式,它通过从B端(内网客户端)建立一个长连接到A端(具有公网IP的代理服务器)的方式,实现将B端运行的网络服务映射到公网。它支持TCP,UDP以及HTTP(S)协议,也支持P2P连接模式。

frp 项目的 Github 地址:https://github.com/fatedier/frp

frp 文档地址:https://gofrp.org/docs/

frp 发行版目录:https://github.com/fatedier/frp/releases

本文示例环境为:CentOS7_amd64(A端),CentOS7_arm64(B端)详细记录搭建 frp 服务的具体过程

2.A 端配置

2.1 下载 frp

运行如下指令:

1
wget https://github.com/fatedier/frp/releases/download/v0.44.0/frp_0.44.0_linux_amd64.tar.gz
1
tar -xf frp_0.44.0_linux_amd64
1
cd frp_0.44.0_linux_amd64/
1
ls

可以看到 frp 项目中的文件结构

1
2
3
4
5
6
7
8
.
|-- frpc
|-- frpc_full.ini
|-- frpc.ini
|-- frps
|-- frps_full.ini
|-- frps.ini
|-- LICENSE

2.2 配置 frp

运行如下指令,修改 frps.ini

1
vi frps.ini

vim 编辑器教程:https://www.runoob.com/linux/linux-vim.html

向文件中添加如下内容:

1
2
3
4
5
[common]
bind_port = 7000
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = yourpassword

保存并推出 vim 编辑器,运行如下指令启动 frp 服务

1
./frps -c ./frps.ini

成功启动后,通过浏览器访问 ip 地址+端口 7500,即可访问 frp 仪表盘。

注:若无法访问,请检查防火墙是否开放端口7000以及7500

端口扫描:https://tool.chinaz.com/port

3.B 端配置

3.1 下载 frp

同理 2.1 操作,根据系统环境下载相应的 frp 版本并解压(示例代码为 arm64 版本):

1
wget https://github.com/fatedier/frp/releases/download/v0.44.0/frp_0.44.0_linux_arm64.tar.gz
1
tar -xf frp_0.44.0_linux_amd64
1
cd frp_0.44.0_linux_amd64/
1
ls

3.2 配置 frp

1
vi frpc.ini

向文件中添加如下内容:

1
2
3
4
5
6
7
8
9
[common]
server_addr = 服务器IP地址
server_port = 7000

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

保存并推出 vim 编辑器,运行如下指令启动 frp 服务

1
./frpc -c ./frpc.ini

此时,反向代理便已成功建立,可通过SSH访问公网ip,端口号为6000(frpc中配置的remote_port)