FRP安装配置详解

FRP 安装与配置详解

FRP(Fast Reverse Proxy)是一款内网穿透工具,它帮助内网设备通过公网服务器将服务暴露到外网。以下是详细的安装与配置步骤,帮助你快速部署 FRP。


一、安装 FRP

1. 下载 FRP

FRP 支持多种系统平台(Windows、Linux、MacOS)。从 GitHub 仓库下载最新版本的 FRP:

选择对应系统的压缩包,如:

  • Linux (64位): frp_x.x.x_linux_amd64.tar.gz
  • Windows (64位): frp_x.x.x_windows_amd64.zip
2. 解压文件

下载完成后,解压缩文件:

# Linux 示例
tar -zxvf frp_x.x.x_linux_amd64.tar.gz

# Windows 示例
解压缩到某个目录

解压后,目录下包含如下文件:

  • frps:服务端可执行文件
  • frpc:客户端可执行文件
  • frps.ini:服务端配置文件
  • frpc.ini:客户端配置文件
  • LICENSE:许可文件
  • README.md:说明文档

二、配置 FRP

1. 配置服务端 (frps)

服务端负责接收客户端的请求,并将其转发到内网服务。服务端通常部署在公网服务器上。

编辑 frps.ini 文件,常见配置如下:

[common]
bind_port = 7000                  # 服务端监听的端口,客户端通过这个端口连接
vhost_http_port = 8080            # HTTP 请求的端口(外网访问 HTTP 服务时使用)
vhost_https_port = 8443           # HTTPS 请求的端口
dashboard_port = 7500             # FRP 仪表盘访问端口
dashboard_user = admin            # 仪表盘登录用户名
dashboard_pwd = password          # 仪表盘登录密码
log_file = ./frps.log             # 日志文件路径
log_level = info                  # 日志级别
token = your_secure_token         # 用于客户端和服务端验证的密钥
2. 启动 FRP 服务端

启动命令:

./frps -c ./frps.ini

成功启动后,frps 服务端将监听配置文件中定义的端口。


3. 配置客户端 (frpc)

客户端运行在内网机器上,负责将内网服务代理到外网。

编辑 frpc.ini 文件,典型的配置示例如下:

[common]
server_addr = x.x.x.x               # 公网服务器(frps)的 IP 地址
server_port = 7000                  # frps 监听的端口
token = your_secure_token           # 与服务端一致的密钥

[web]
type = http                         # 使用 HTTP 代理
local_port = 80                     # 本地 HTTP 服务的端口
custom_domains = www.example.com     # 外网访问时的域名

[ssh]
type = tcp                          # 使用 TCP 代理
local_port = 22                     # 本地 SSH 服务的端口
remote_port = 6000                  # 外网访问的远程端口

上面的配置表示:

  • web 配置:将本地的 HTTP 服务(80 端口)通过自定义域名 www.example.com 暴露到外网。
  • ssh 配置:将本地的 SSH 服务(22 端口)通过公网 6000 端口进行访问。
4. 启动 FRP 客户端

启动命令:

./frpc -c ./frpc.ini

三、验证与使用

1. 访问 HTTP 服务

在客户端运行后,外网用户可以通过 http://www.example.com 访问客户端的 HTTP 服务。

2. SSH 远程登录

外网用户可以通过以下命令登录客户端的 SSH:

ssh -p 6000 user@x.x.x.x # x.x.x.x 为公网服务器的 IP

四、仪表盘配置与监控

FRP 提供了 Web 仪表盘用于监控代理服务的状态。

  1. 启用仪表盘:确保在 frps.ini 中配置了 dashboard_port 和登录凭据:

    dashboard_port = 7500
    dashboard_user = admin
    dashboard_pwd = password
    

  2. 访问仪表盘:通过浏览器访问 http://x.x.x.x:7500,并使用配置文件中的用户名和密码登录。


五、高级配置

1. 自定义域名与 DNS

如果需要通过域名访问,确保正确配置 DNS 解析。将域名解析到 FRP 公网服务器的 IP 地址。

2. TLS/SSL 安全传输

对于生产环境,建议使用 HTTPS 代理,开启安全传输。可以使用 Let’s Encrypt 等工具生成 SSL 证书,将其配置在 frps 中。

示例:

[common]
vhost_https_port = 443
tls_cert_file = /path/to/cert.pem
tls_key_file = /path/to/key.pem
3. 负载均衡

FRP 支持将同一个服务的多台内网设备配置为负载均衡。可以在多个客户端使用同样的 custom_domainsremote_port

4. 流量控制与限速

你可以通过 bandwidth_limit 限制流量。配置文件中加入以下内容:

bandwidth_limit = 1MB # 限制带宽为 1MB/s

六、常见问题与排查

1. 连接失败
  • 检查防火墙配置,确保 frps 监听的端口已开放。
  • 检查 frpcfrps 是否使用相同的 token
2. 域名无法访问
  • 确认域名解析正确,且 custom_domains 配置无误。
  • 检查服务端配置中的 vhost_http_portvhost_https_port 是否正确。
3. 高并发性能问题
  • 调整服务端和客户端的 max_pool_count 来支持更多连接。
  • 使用较强性能的服务器来运行 frps

总结

FRP 是一种非常强大的内网穿透工具,通过简单的配置即可将内网服务发布到公网。它的多协议支持、自定义域名、加密传输等功能让它适合多种场景,包括远程办公、内网服务外网访问等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值