- A+
所属分类:其他教程
一、Frp 介绍
项目地址:https://github.com/fatedier/frp
frp 是一个开源、简洁易用、高性能的内网穿透和反向代理软件,支持 tcp, udp, http, https 等协议。
frp 工作原理
- 服务端运行,监听一个主端口,等待客户端的连接;
- 客户端连接到服务端的主端口,同时告诉服务端要监听的端口和转发类型;
- 服务端 fork 新的进程监听客户端指定的端口;
- 外网用户连接到客户端指定的端口,服务端通过和客户端的连接将数据转发到客户端;
- 客户端进程再将数据转发到本地服务,从而实现内网对外暴露服务的能力。
二、配置教程
想要配置 frp 穿透,首先必须先要有一台具有外网 ip(即:可以外网访问)的服务器。这里我使用的是阿里云的 ECS 搭建。
1、下载 frp 库
- wget https://github.com/fatedier/frp/releases/download/v0.39.0/frp_0.39.0_linux_amd64.tar.gz
2、解压 frp 压缩包
- tar -zxvf frp_0.39.0_linux_amd64.tar.gz
3、进入该解压目录:
- cd frp_0.39.0_linux_amd64/
打开配置文件:
- vi frps.ini
将文件内容修改为如下:
- [common]
- # frp 监听的端口,默认是 7000,可以改成其他的
- bind_port = 7000
- # 授权码,请改成更复杂的
- token = 52010 # 这个 token 之后在客户端会用到
- # frp 管理后台端口,请按自己需求更改
- dashboard_port = 7500
- # frp 管理后台用户名和密码,请改成自己的
- dashboard_user = admin
- dashboard_pwd = admin
- enable_prometheus = true
- # frp 日志配置
- log_file = /var/log/frps.log
- log_level = info
- log_max_days = 3
4、设置和启动 frp 服务
- sudo mkdir -p /etc/frp
- sudo cp frps.ini /etc/frp
- sudo cp frps /usr/bin
- sudo cp systemd/frps.service /usr/lib/systemd/system/
- sudo systemctl enable frps
- sudo systemctl start frps
5、防火墙开放端口
- # 添加监听端口
- sudo firewall-cmd --permanent --add-port=7000/tcp
- # 添加管理后台端口
- sudo firewall-cmd --permanent --add-port=7500/tcp
- sudo firewall-cmd --reload
6、验证服务端是否启动成功
访问:http://服务器 IP:后台管理端口” ,输入用户名和密码可以查看连接状态
如:http://62.244.114.4:7500/,用户名和密码分别对应 frps.ini 文件中的 dashboard_user 和 dashboard_pwd
上述步骤没有问题的话,那么 frp 的服务端就搭建好了。