使用 frp 内网穿透服务端搭建教程

  • 使用 frp 内网穿透服务端搭建教程已关闭评论
  • 282 views
  • A+
所属分类:其他教程

一、Frp 介绍

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

frp 是一个开源、简洁易用、高性能的内网穿透和反向代理软件,支持 tcp, udp, http, https 等协议。

frp 工作原理

  • 服务端运行,监听一个主端口,等待客户端的连接;
  • 客户端连接到服务端的主端口,同时告诉服务端要监听的端口和转发类型;
  • 服务端 fork 新的进程监听客户端指定的端口;
  • 外网用户连接到客户端指定的端口,服务端通过和客户端的连接将数据转发到客户端;
  • 客户端进程再将数据转发到本地服务,从而实现内网对外暴露服务的能力。

 

二、配置教程

想要配置 frp 穿透,首先必须先要有一台具有外网 ip(即:可以外网访问)的服务器。这里我使用的是阿里云的 ECS 搭建。

 

1、下载 frp 库

  1. wget https://github.com/fatedier/frp/releases/download/v0.39.0/frp_0.39.0_linux_amd64.tar.gz

 

2、解压 frp 压缩包

  1. tar -zxvf frp_0.39.0_linux_amd64.tar.gz

 

3、进入该解压目录:

  1. cd frp_0.39.0_linux_amd64/

打开配置文件:

  1. vi frps.ini

将文件内容修改为如下:

  1. [common]
  2. # frp 监听的端口,默认是 7000,可以改成其他的
  3. bind_port = 7000
  4. # 授权码,请改成更复杂的
  5. token = 52010  # 这个 token 之后在客户端会用到
  6. # frp 管理后台端口,请按自己需求更改
  7. dashboard_port = 7500
  8. # frp 管理后台用户名和密码,请改成自己的
  9. dashboard_user = admin
  10. dashboard_pwd = admin
  11. enable_prometheus = true
  12. # frp 日志配置
  13. log_file = /var/log/frps.log
  14. log_level = info
  15. log_max_days = 3

 

4、设置和启动 frp 服务

  1. sudo mkdir -p /etc/frp
  2. sudo cp frps.ini /etc/frp
  3. sudo cp frps /usr/bin
  4. sudo cp systemd/frps.service /usr/lib/systemd/system/
  5. sudo systemctl enable frps
  6. sudo systemctl start frps

 

5、防火墙开放端口

  1. # 添加监听端口
  2. sudo firewall-cmd --permanent --add-port=7000/tcp
  3. # 添加管理后台端口
  4. sudo firewall-cmd --permanent --add-port=7500/tcp
  5. sudo firewall-cmd --reload

 

6、验证服务端是否启动成功

访问:http://服务器 IP:后台管理端口” ,输入用户名和密码可以查看连接状态

如:http://62.244.114.4:7500/,用户名和密码分别对应 frps.ini 文件中的 dashboard_user 和 dashboard_pwd

上述步骤没有问题的话,那么 frp 的服务端就搭建好了。

 

历史上的今天:

唯心寒辞