搭建环境

frp 服务分客户端(frpc)和服务器(frps)
frps:

云服务器(有公网 IP)

frpc:

需要被公网访问的设备

根据系统版本从 github 上下载源文件 fatedier-frp
1712587133817.png

得到如下文件:
1712587147916.png

Frps

  1. 将上一步整个文件夹上传到云服务器/root 目录下
  2. 编辑 frps. ini
    1
    2
    3
    4
    5
    6
    7
    8
    [common]
    bind_port = **** /* 服务端口,默认7000 */
    token = **** /* 密钥,需要和客户端对应 */

    dashboard_port = **** /* 管理后台端口,默认7500 */
    # dashboard 管理后台用户名密码
    dashboard_user = ****
    dashboard_pwd = ****
  3. 启动 frps
    1
    2
    /* 在frp目录下执行 */
    ./frps -c ./frps.ini
    若打印如下则启动成功
    1712587096581.png

此时访问 7500 端口进入管理后台界面如下:
1712587121569.png

若拒绝访问,打开云服务器 7500 和 7000 的防火墙

  1. 开机自启
    CentOS:在/usr/lib/systemd/system 目录下新建 frps. service 服务并编辑
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    vim /lib/systemd/system/frps.service

    /* 编辑如下内容 */
    [Unit]
    Description=frps service
    After=network.target syslog.target
    Wants=network.target

    [Service]
    Type=simple
    #启动服务的命令(此处写你的frps的实际安装目录)
    ExecStart=/root/frp/frps -c /root/frp/frps.ini

    [Install]
    WantedBy=multi-user.target
    打开开机自启:
    1
    2
    3
    systemctl enable frps

    reboot /* 重启测试 */

Frpc

客户端也可以用 docker 实现

  1. 将第一步整个文件夹上传到客户端自建目录下

  2. 编辑 frpc. ini

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    [common]
    server_addr = ******** /* 云服务器公网IP */
    server_port = **** /* 云服务器frp服务端口,默认7000*/
    token = ******** /* 密钥,需和服务器对应 */

    /* 添加端口映射 */
    [xxx]
    type = tcp
    local_ip = 127.0.0.1 /* 本机地址或局域网地址 */
    local_port = ** /* 本地端口 */
    remote_port = ** /* 远端端口 */
  3. 启动 frpc

    1
    2
    /* 在frp目录下执行 */
    ./frpc -c ./frpc.ini

    若打印如下则启动成功
    1712587166767.png

  4. 开机自启
    群晖:在 /etc/systemd/system 目录下新建 frpc. service 服务并编辑

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    [Unit]
    Description=frpc service
    After=multi-user.target /* 系统启动后打开服务 */

    [Service]
    Type=simple
    #启动服务的命令(此处写你的frps的实际安装目录)
    ExecStart=/root/frp/frpc -c /root/frp/frpc.ini

    [Install]
    WantedBy=multi-user.target

    打开开机自启:

    1
    2
    3
    systemctl enable frpc

    reboot /* 重启测试 */

注意:

  1. 开机自动流程需要用 root 权限操作
  2. 如出现其他权限问题可赋予 frp 文件夹最高权限
    1
    chmod 777 frp
  3. 若重启仍然无法自启动,可尝试修改该. service 文件,修改服务启动时间
  4. 添加自启动服务后可先刷新
    1
    sudo systemctl daemon-reload
  5. 后期新增端口映射只需要修改 frpc. ini,具体规则参考 [[frp新增端口]]

常用命令

1
2
3
4
5
6
7
# 启动frp systemctl start frpc 
# 停止frp systemctl stop frpc
# 重启frp systemctl restart frpc
# 查看frp状态 systemctl status frpc
# 配置frps服务开机自启动 systemctl enable frpc
# 配置frpc服务开机自启动 systemctl enable frpc
# 重新加载 systemctl daemon-reload