frp 部署及使用(内网穿透)
frp 部署及使用(内网穿透)
2025-02-25 0 评论 0 阅读 0 点赞

frp 部署及使用(内网穿透)

daimafengzi
2025-02-25 / 0 评论 / 0 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2025年02月25日,已超过494天没有更新,若内容或图片失效,请留言反馈。

前言

FRP(Fast Reverse Proxy) 是一个开源的反向代理工具,主要用于内网穿透和远程访问。它可以通过映射网络服务(如 HTTP、TCP、UDP 等)到公网,实现内网服务的外网访问,特别适合在无公网 IP 或有防火墙限制的场景下使用。
下载地址:https://github.com/fatedier/frp/releases

详细使用文档:https://gofrp.org/zh-cn/docs/overview/

核心功能

  • 内网穿透
  • 反向代理
  • 自定义域名
  • 跨网络访问
  • 安全性
  • 多种高级功能

一、环境准备

说明一下frp 分为: 1、frps 服务端(外网使用);2、frpc 客户端(内网使用)

模拟环境:家用服务器没有公网 ip
     云服务器有公网 ip
     两服务器系统环境均为:Ubuntu 24.04
     frp服务包: (两个环境版本一致)

图片

二、安装包准备

三、外网服务器部署 frps

  1. 上传压缩包到任意目录然后解压,示例 /usr/local/ 目录

    # 解压到当前目录
    unzip frps.zip
     
    # 移动并改名
    mv frps /usr/local/frps
     
    # 创建 frp 用户
    useradd -r -s /usr/sbin/nologin -M frp
     
    # 授权文件夹
    chown -R frp:frp /usr/local/frp

    图片

  2. 备份并修改 frps 配置文件 frps.toml (直接执行命令,不用手动编辑)

    # 备份配置文件
    cp /usr/local/frp/frps.toml /usr/local/frp/frps.tomlbak
    # 直接执行覆盖原来的配置
    /usr/local/frp/frps.toml >
    [common]
    # 服务端绑定的端口,用于客户端与服务端通信的核心端口。需要确保该端口对外网开放。
    bind_port = 7000
     
    # HTTP 代理的虚拟主机端口。用于通过域名访问客户端的 HTTP 服务,需配置 DNS。
    vhost_http_port = 80
     
    # HTTPS 代理的虚拟主机端口。用于通过域名访问客户端的 HTTPS 服务,需配置 DNS。
    vhost_https_port = 443
     
    # 密钥,是自定义的,想怎么填写就怎么填写,但客户端和服务端必须保持一致,确保安全通信。
    token = "Frp20241129"
     
    # 仪表板端口,用于查看 frps 服务端的运行状态和管理客户端连接。访问地址:服务器IP:7500
    dashboard_port = 7500
  3. 加入系统服务并开机自启动

    
    # 加入系统服务
    /etc/systemd/system/frps.service
    [Unit]
    Description = frp server
    After = network.target syslog.target
    Wants = network.target
    
    [Service]
    Type = simple
    ExecStart = /etc/frpc/frps -c /etc/frpc/frps.toml
    
    [Install]
    WantedBy = multi-user.target
     
     
    # 重载配置使其生效
    systemctl daemon-reload
     
    # 启动 frps 服务
    systemctl start frps.service
     
    # 设置开机自启
    systemctl enable frps.service

四、内网服务器部署 frpc

  1. 上传压缩包到任意目录然后解压,示例 /usr/local/ 目录

    # 解压到当前目录
    unzip frpc.gz
     
    # 移动并改名
    mv frpc /usr/local/frpc
     
    # 创建 frp 用户
    useradd -r -s /usr/sbin/nologin -M frp
     
    # 授权文件夹
    chown -R frp:frp /usr/local/frp

    图片

  2. 备份并修改 frpc 配置文件 frpc.toml (直接执行命令,不用手动编辑)

    cp /usr/local/frp/frpc.toml /usr/local/frp/frpc.tomlbak
    # 直接执行覆盖原来的配置
    /usr/local/frp/frpc.toml >
    [common]
    server_addr = "此处引号内填写外网服务器的公网IP"
    # 服务端口
    server_port = 7000
    # 密钥,需要和 frps 配置一致
    token = "Frp20241129"
     
    # 配置每个内网服务
     
    # 服务名称,随便写,自己能看懂就行
    [ssh_test]
    type = "tcp"
    local_ip = "127.0.0.1"
    # 家用服务器上暴露的端口
    local_port = 22
    # 外网服务器上暴露的端口,ssh时候,使用外网 IP 和这个端口可以远程访问家里的服务器
    remote_port = 2299
     
    # 服务名称,随便写,自己能看懂就行
    [web_server]
    type = "http"
    local_ip = "127.0.0.1"
    # 家用服务器上暴露的端口
    local_port = 80
    # 外网服务器上暴露的端口,使用外网 IP 和这个端口可以远程访问家里web服务,这个配置和域名
    #remote_port = 6001
    # 用于 HTTP 和 HTTPS 域名的代理。填写自己的域名,没有就注释这个配置,启用 remote_port 配置
    custom_domains = "www.adbc.cn"
     
     
    #remote_port 和 custom_domains 配置冲突,只能使用一个
     
  3. 加入系统服务并开机自启动

    
    # 加入系统服务
    /etc/systemd/system/frpc.service
    [Unit]
    Description = frp server
    After = network.target syslog.target
    Wants = network.target
    
    [Service]
    Type = simple
    ExecStart = /etc/frpc/frps -c /etc/frpc/frps.toml
    
    [Install]
    WantedBy = multi-user.target
     
     
    # 重载配置使其生效
    systemctl daemon-reload
     
    # 启动 frps 服务
    systemctl start frpc.service
     
    # 设置开机自启
    systemctl enable frpc.service

五,查看 frpc 是否在 frps 内注册,并测试网页访问

图片
使用外网手机或者电脑访问域名,测试通过。域名记得配置 公网DNS解析 。

0

评论 (0)

取消