frp配置内网穿透教程
来源:     阅读:2
易浩激活码
发布于 2025-11-05 12:59
查看主页

简介

FRP(Fast Reverse Proxy) 是一个高性能的内网穿透工具,支持 TCP、UDP、HTTP、HTTPS 等多种协议,可将内网服务(如 Web 服务器、SSH、远程桌面)映射到公网,方便远程访问。本教程将指导你完成 FRP 的安装、配置和使用,协助你快速实现内网服务的外网访问。

本教程适用于:


准备工作

在开始之前,请确保你具备以下条件:


安装 FRP

1. 下载 FRP

  1. 访问 FRP GitHub 下载页面。

  2. 根据服务器和客户端的操作系统选择合适的压缩包(如 frp_x.y.z_linux_amd64.tar.gz)。

  3. 下载并解压:

    // 下载文件到当前文件夹
    wget https://github.com/fatedier/frp/releases/download/v0.63.0/frp_0.63.0_linux_amd64.tar.gz
    // 解压文件
    tar -zxvf frp_0.63.0_linux_amd64.tar.gz
    cd frp_0.63.0_linux_amd64
    
    

2. 安装到服务器

  1. 将解压后的文件传输到公网服务器(如通过 scp 或 FTP)。

  2. 确保服务器开放必要的端口(如默认的 7000 用于 FRP 控制,80、443 用于 HTTP/HTTPS)。

    # 示例:开放 7000 端口(Ubuntu)
    sudo ufw allow 7000
    # 如果是云服务器,需要在控制台进行端口添加,添加后才可以访问
    
    

3. 安装到客户端

  1. 将解压后的文件传输到内网客户端。
  2. 无需额外安装,直接使用解压后的 frpc(客户端)和 frps(服务器端)二进制文件。

配置 FRP

FRP 的配置主要分为服务器端(frps.toml)和客户端(frpc.toml)。以下是基本配置示例。

1. 服务器端配置(frps.toml)

在公网服务器上编辑 frps.toml

# 客户端与服务连接端口
bindPort = 7000
# 客户端连接服务端时认证的密码
auth.token = "xxxxxxxx"
# http协议监听端口
vhostHTTPPort = 80
vhostHTTPSPort = 443
# web界面配置
webServer.addr = "0.0.0.0"
webServer.port = 7500
webServer.user = "admin"
webServer.password = "admin"



保存后,启动服务器端:

./frps -c frps.toml

2. 客户端配置(frpc.toml)

在本地客户端上编辑 frpc.toml

serverAddr = "公网服务器 IP" # 公网服务器 IP
serverPort = 7000  # 与frps.toml 的bindPort 一致
auth.token = "xxxxxx"   # 与frps.toml 的token 一致

[[proxies]]
name = "name" # 
type = "https"
localIP = "127.0.0.1"
localPort = 9001
#remotePort = 6000  # 远程访问端口
#自定义域名
customDomains = ["www.yanjy.top"]


保存后,启动客户端:

./frpc -c frpc.toml


使用 FRP

1. 验证连接

2. 常见使用场景

场景 配置示例
Web 服务 [web] type=http localIP=127.0.0.1 localPort=8080 customDomains=example.com
SSH 远程访问 [ssh] type=tcp localIP=127.0.0.1 localPort=22 remotePort=6000
远程桌面 (RDP) [rdp] type=tcp localIP=192.168.1.100 localPort=3389 remotePort=3389

3. 设置开机自启


进阶配置

1. 启用 HTTPS

  1. 在服务器端配置 SSL 证书:

    • 将证书文件(.crt.key)放置在服务器目录。

    • 修改 frps.toml

      [common]
      bindPort = 7000
      vhostHTTPSPort = 443
      tlsOnly = true
      
      

  2. 客户端配置保持不变,访问时使用 https://yourdomain.com

2. 多客户端支持

frpc.ini 中添加多个代理:

[[proxies]]
name = "lhw-api"
type = "https"
localIP = "127.0.0.1"
localPort = 9001
#自定义域名
customDomains = ["你的域名"]



[[proxies]]
name = "mimisite"
type = "http"
localIP = "127.0.0.1"
localPort = 8099
#自定义域名
customDomains = ["你的域名"]

3. 性能优化


故障排查

问题 可能缘由及解决方案
客户端无法连接服务器 检查 serverAddrserverPortauth.token 是否正确;确保服务器防火墙开放端口。
无法访问服务 确认本地服务(如 Web 服务器)正在运行;检查 DNS 解析是否正确。
HTTPS 访问失败 确保证书有效且路径正确;检查服务器端是否启用 tls_only

安全提议


参考资料


附录

常用命令

# 查看 FRP 版本
./frps --version
./frpc --version

# 后台运行
sudo systemctl start frps # 启动frp
sudo systemctl stop frps # 停止frp
sudo systemctl restart frps # 重启frp
sudo systemctl status frps # 查看frp状态

配置文件结构

免责声明:本文为用户发表,不代表网站立场,仅供参考,不构成引导等用途。 系统环境
相关推荐
【FFmepg】Clang编译ffmpeg android库
前台需求(以鼠标事件为核心)完成后的回顾反省
Spring Boot之Docker Compose+Spring Boot+Nginx+Mysql 实践
让你见识一下什么叫做全套、最新、系统的web前台开发教程!限免
SpringBoot基础架构篇3(Redis)
首页
搜索
订单
购物车
我的