当前位置: 首页 > news >正文

深入解析:frp实现内网穿透,公网服务器或云服务器配置frps,本地内网配置frpc

深入解析:frp实现内网穿透,公网服务器或云服务器配置frps,本地内网配置frpc

FRP (Fast Reverse Proxy) 是一个高性能的反向代理工具,可用于内网穿透,将内网服务暴露到公网。以下是一个完整的 FRP 内网穿透配置指南,包括服务端(frps)和客户端(frpc)的配置方法。

1. 服务端配置(frps)

服务端需要运行在具有公网 IP 的服务器上(如云服务器)。

(1) 下载并安装 frps

wget https://github.com/fatedier/frp/releases/download/v0.51.3/frp_0.51.3_linux_amd64.tar.gz
tar -zxvf frp_0.51.3_linux_amd64.tar.gz
cd frp_0.51.3_linux_amd64

(2) 配置 frps.toml

bindPort = 7000 # frp 服务端监听端口
auth.method = "token"
auth.token = "your_password" # 设置一个密码用于客户端连接
webServer.addr = "0.0.0.0"
webServer.port = 7500 # frp 控制面板端口
webServer.user = "admin"
webServer.password = "admin" # 控制面板登录密码

保存到 /etc/frp/frps.toml

(3) 启动 frps

./frps -c /etc/frp/frps.toml

或使用 systemd 管理(推荐):

使用文本编辑器 (如 vim) 在 /etc/systemd/system 目录下创建一个 frps.service 文件,用于配置 frps 服务。

[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /path/to/frps -c /path/to/frps.toml
[Install]
WantedBy = multi-user.target

相关命令:

# 设置 frps 开机自启动
sudo systemctl enable frps
# 启动frp
sudo systemctl start frps
# 停止frp
sudo systemctl stop frps
# 重启frp
sudo systemctl restart frps
# 查看frp状态
sudo systemctl status frps

(4) 防火墙开放端口

sudo ufw allow 7000 # frp 服务端端口
sudo ufw allow 7500 # frp 控制面板端口

2. 客户端配置(frpc)

客户端运行在内网机器上,用于将本地服务映射到公网。

(1) 下载并安装 frpc

wget https://github.com/fatedier/frp/releases/download/v0.51.3/frp_0.51.3_linux_amd64.tar.gz
tar -zxvf frp_0.51.3_linux_amd64.tar.gz
cd frp_0.51.3_linux_amd64

(2) 配置 frpc.toml

serverAddr = "your_server_ip" # 替换为你的服务器 IP
serverPort = 7000 # 与服务端 bindPort 一致
auth.method = "token"
auth.token = "your_password" # 与服务端 auth.token 一致
[[proxies]]
name = "ssh" # 代理名称
type = "tcp" # 代理类型(tcp/http/udp)
localIP = "127.0.0.1"
localPort = 22 # 本地 SSH 端口
remotePort = 6000 # 远程访问端口(通过 server_ip:6000 访问 SSH)

保存到 /etc/frp/frpc.toml

(3) 启动 frpc

./frpc -c /etc/frp/frpc.toml
或使用 systemd 管理:
sudo systemctl enable frpc
sudo systemctl start frpc
‌3. 测试连接‌
  • SSH 内网穿透测试
  • 在本地机器运行:
ssh -p 6000 username@your_server_ip
  • 即可连接到内网机器。
  • HTTP 服务穿透
  • 如果想暴露 Web 服务(如 80 端口),修改 frpc.toml
[[proxies]]
name = "web"
type = "http"
localIP = "127.0.0.1"
localPort = 80
customDomains = ["your_domain.com"] # 需要域名解析到服务器 IP
  • 然后访问 http://your_domain.com 即可访问内网 Web 服务。

4. 常见问题

(1) 连接失败

  • 检查 serverAddr 是否正确(服务器 IP)。
  • 检查 serverPort 是否开放(ufw allow 7000)。
  • 检查 auth.token 是否一致。

(2) 权限问题

  • 确保 frps 和 frpc 有可执行权限:
chmod +x frps frpc

(3) 查看日志

journalctl -u frps -n 50 # 服务端日志
journalctl -u frpc -n 50 # 客户端日志

5. 进阶配置

  • 多端口映射‌:在 frpc.toml 添加多个 [[proxies]]
  • HTTPS 支持‌:使用 type = "https" 并配置 TLS。
  • 负载均衡‌:多个客户端绑定同一个 remotePort

这样,你的内网服务就可以通过 FRP 安全地暴露到公网了!

http://www.hskmm.com/?act=detail&tid=14609

相关文章:

  • 【五行】根据天干、地支、生肖起姓名(9月出生的宝宝可参考)
  • 全差分放大器(FDA)电路设计计算问题及电压范围估算[原创www.cnblogs.com/helesheng]
  • 使用WTAPI开发智能微信机器人文档
  • [Android]自定义view - 详解
  • 不定高元素动画实现方案(下)
  • 详细介绍:C 语言:第 20 天笔记:typedef(类型重命名规则、应用场景与实战案例)
  • Screaming Architecture:让架构自己说话
  • BOE(京东方)携手UNESCO联合主办WCBR“科学十年”分会 彰显中国科技企业可持续发展实力
  • 使用Cyclops.PdfKit根据pdf模板生成pdf文件
  • 一款文本编辑器的介绍
  • 随笔-决战保研篇
  • 科研人必知:293F与HEK293细胞在蛋白表达中的不同“超能力”
  • Redis Cluster
  • 如何使用C语言实现Vigenre密码加解密
  • 【F#学习】列表 List
  • Trae与Gitee MCP深度集成:AI编程工具链迎来重大升级
  • 【2025-09-22】加班感悟
  • OpenAI Codex 使用 智谱 API
  • 嵌入式ARM架构学习9——IIC - 教程
  • Day04---数据类型及面试题详解
  • 记-一次H3C交换机版本升级
  • 客服系统中的定时任务设计与实现
  • 使用Go语言实现高效定时任务功能
  • JavaScript获取NHK的附件文件
  • 承兑 背书 贴现区别
  • 洛谷题单指南-进阶数论-P3811 【模板】模意义下的乘法逆元
  • Interlocked.Increment学习
  • 基于解析法的四轴SCARA机器人正逆运动学代码
  • .Net-IIS 文件上传安全漏洞问题
  • 【F#学习】记录 Record