frp部署教程

以debian13为例

frp官网

概述

  • frp是一个高性能的内网穿透工具

  • 支持多种常见的网络协议,例如:tcp、http等

下载

frp的github地址:https://github.com/fatedier/frp

frp下载地址:https://github.com/fatedier/frp/releases/download/v0.71.1/frp_0.71.1_linux_amd64.tar.gz

mkdir -p /opt/frp
cd /opt/frp
#下载
wget https://github.com/fatedier/frp/releases/download/v0.71.1/frp_0.71.1_linux_amd64.tar.gz
#解压
tar -zxvf frp_0.71.1_linux_amd64.tar.gz

配置

配置文件支持多种格式

这里采用yaml格式

服务端配置

frp官方配置文件参考

#服务端监听的端口
bindPort: 7000
#认证方式,默认使用token方式
auth:
  method: token
  token: frpToken
#web监控
webServer:
  #默认127.0.0.1,需要公网访问时使用0.0.0.0,也可以配合nginx使用
  addr: 0.0.0.0
  #web监控使用的端口
  port: 7500
  user: username
  password: password
#限制可以使用的端口,默认是全部可用
allowPorts:
	#区间[10000,20000]可用
	- start: 10000
      end: 20000
    #单个端口可用
    - single: 65535

ststemd开机自启动配置

  1. 编辑frp.service配置文件vim frps.service
  2. 写入下面的内容
[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /opt/frp/frps -c /opt/frp/frps.yaml

[Install]
WantedBy = multi-user.target

  1. 然后拷贝到/usr/lib/systemd/system/目录中

    • cp ./frps.service /usr/lib/systemd/system/
  2. 开启frp自启动

systemd enable frps.service
systemd start frps.service

客户端配置

#配置服务端的IP和监听的端口
serverAddr: 127.0.0.1
serverPort: 7000
#配置鉴权
auth:
  method: token
  #注意token内容要与服务端配置的保持一致
  token: frpToken
#frpc的webServer
webServer: 
  addr: 127.0.0.1
  port: 7400
  user: username
  password: password
#配置内网需要穿透的服务
proxies:
  #TCP协议的内网穿透服务
  - name: tcpServer
    type: tcp
    localIp: 127.0.0.1
    localPort: 80
    remotePort: 10002
  #UDP协议的内网穿透服务
  - name: udpServer
    type: udp
    localIP: 127.0.0.1
    localPort: 80
    remotePort: 10002

使用

  • 服务端启动
#验证配置是否正确
frps verify -c frps.yaml
#前台启动
frps -c frps.yaml
#前台启动的默认会在当前terminal运行,使用 CTRL + C 发送中断信号即可停止运行
#systemd自启动
systemctl enable frps.service
systcmctl start frps.service
#systemd关闭frps
systcmctl stop frps.service
  • 客户端启动
#验证配置是否正确
frpc verify -c frpc.yaml
#前台启动
frpc -c frpc.yaml

案例