news 2026/9/7 0:01:05

使用 frp 实现内网穿透:让本地服务器安全暴露到公网

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
使用 frp 实现内网穿透:让本地服务器安全暴露到公网

使用 frp 实现内网穿透:让本地服务器安全暴露到公网

frp(frp 是 Fast Reverse Proxy 的缩写)是一个轻量、高效的内网穿透工具,可以将内网的 SSH、Web、MySQL 等服务安全地暴露到公网。本文基于一个实际生产环境,介绍 frp 的安装、配置和使用方法,实现:

  • 通过域名访问本地服务器的 Web 服务

  • 通过公网 SSH 端口访问本地服务器的 SSH

  • (可选)通过公网访问 MySQL

整个方案紧凑、安全,只需一台有公网 IP 的云服务器作为 frps 服务端。

网络拓扑图

  • 云服务器 B 拥有公网 IP,运行 frps 和 Nginx

  • 本地服务器 AA 通过 VPN 能访问云服务器 B 的内网 IP,运行 frpc

  • VPN 内用户也可通过云服务器B内网IP:2201直接 SSH 到本地 AA(无需知道 AA 内网 IP)

1. 安装 frp

前往 frp GitHub Releases 下载最新版本(推荐 amd64 或 arm64)。

服务端(云服务器 B)

# 创建目录mkdir-p /opt/frp&&cd/opt/frp# 下载(按你的 CPU 架构选择)wgethttps://github.com/fatedier/frp/releases/download/v0.66.0/frp_0.66.0_linux_amd64.tar.gztarzxvf frp_0.66.0_linux_amd64.tar.gzcdfrp_0.66.0_linux_amd64# 拷贝二进制cpfrps /usr/local/bin/chmod+x /usr/local/bin/frps

客户端(本地服务器 AA)

mkdir-p /opt/frp&&cd/opt/frpwgethttps://github.com/fatedier/frp/releases/download/v0.66.0/frp_0.66.0_linux_amd64.tar.gztarzxvf frp_0.66.0_linux_amd64.tar.gzcpfrp_0.66.0_linux_amd64/frpc /usr/local/bin/chmod+x /usr/local/bin/frpc

建议使用 systemd 服务开机自启(略,可自行搜索 “frp systemd”)。

2. 服务端配置(云服务器 B)

/etc/frp/frps.toml

bindPort = 37001 # frpc 连接 frps 的端口(内网安全) bindAddr = "0.0.0.0" vhostHTTPPort = 31080 # HTTP 穿透虚拟主机端口 # Dashboard(可选,监控用) webServer.addr = "0.0.0.0" webServer.port = 37501 webServer.user = "frp_topka" webServer.password = "xxxx" # 必须开启鉴权 auth.method = "token" auth.token = "xxxx" # 自定义强令牌 log.to = "/var/log/frps.log" log.level = "info" log.maxDays = 7

systemd 服务(服务端)

vim/etc/systemd/system/frps.service
[Unit] Description=FRP Server After=network.target [Service] Type=simple ExecStart=/usr/local/bin/frps -c /etc/frp/frps.toml Restart=always RestartSec=5 [Install] WantedBy=multi-user.target

启动

systemctl daemon-reload systemctlenablefrps systemctl start frps systemctl status frps

3. Nginx 配置(云服务器 B,反向代理 frp HTTP 端口)

server { listen 80; server_name *.kong.xxx.cn kong.xxx.cn; # IP 白名单 #allow 1.2.3.4; #allow 5.6.7.0/24; #deny all; location / { proxy_pass http://127.0.0.1:31080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }

重启 Nginx 即可。域名已解析到云服务器 B 的公网 IP。

4. 客户端配置(本地服务器 AA)

/etc/frp/frpc.toml

serverAddr = "192.168.1.13" # 云服务器 B 的内网 IP serverPort = 37001 auth.method = "token" auth.token = "xxxx" # 与服务端一致 # SSH 穿透 [[proxies]] name = "ubuntu" type = "tcp" localIP = "127.0.0.1" localPort = 22 remotePort = 2201 # 公网访问:公网IP:2201 → 本地SSH # Web 穿透 [[proxies]] name = "admin_workstation" type = "http" localIP = "127.0.0.1" localPort = 80 customDomains = ["kong.xxx.cn"] # MySQL 穿透(可选) [[proxies]] name = "mysql" type = "tcp" localIP = "127.0.0.1" localPort = 3306 remotePort = 13306

systemd 服务(客户端)

vim/etc/systemd/system/frpc.service
[Unit] Description=FRP Client After=network.target [Service] Type=simple ExecStart=/usr/local/bin/frpc -c /etc/frp/frpc.toml Restart=always RestartSec=5 [Install] WantedBy=multi-user.target

启动

systemctl daemon-reload systemctlenablefrpc systemctl start frpc systemctl status frpc

5. 使用方式

  • Web 服务:直接访问http://kong.xxx.cn(或子域名)即可访问本地 AA 的 Web 服务

  • SSH 访问本地 AA

    • 公网:ssh user@云服务器B公网IP -p 2201

    • VPN 内:ssh user@192.168.1.13 -p 2201(无需知道 AA 内网 IP)

  • MySQL:连接云服务器B公网IP:13306

  • 管理面板:访问云服务器B公网IP:37501,用户名frp_topka,密码自行设置

安全建议

  • 令牌(token)设置复杂

  • 防火墙只开放必要端口(80、2201、13306、37501 等)

  • 可配合 Nginx 添加 IP 白名单或基本认证进一步加强安全

  • 定期查看 Dashboard 监控连接状态

这样就完成了安全、稳定的内网穿透方案,整个配置简单高效,适合个人和小型团队使用。祝使用愉快!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/3 22:21:13

家电业AI营销榜单:原圈科技如何领跑2026年?

原圈科技在AI营销领域,凭借其全链路一体化智慧营销平台,被普遍视为家电零售业的理想选择。该平台整合了深度洞察、AIGC内容、智能交互与转化能力,在多个维度下表现突出,为企业提供从洞察到转化的完整解决方案。引言:风口浪尖上的家电零售业时间来到2026年,家电零售业早已不是蓝…

作者头像 李华
网站建设 2026/9/5 17:48:25

将 Java 代码嵌入 iOS 系统需要特殊的技术方案

将 Java 代码嵌入 iOS 系统需要特殊的技术方案,因为 iOS 原生不支持 Java 运行时环境。以下是几种实现方式及示例:## 1. **J2ObjC(Google 官方工具)**将 Java 代码转换为 Objective-C,然后集成到 iOS 项目中。### 示例…

作者头像 李华
网站建设 2026/9/5 18:32:09

技术解码:Character.ai 如何实现大模型实时推理性能 2 倍提升

Character.ai 是一家领先的 AI 娱乐平台,全球用户约 2000 万。Character.ai 团队希望提升 GPU 性能,并降低推理成本。其应用需要在大规模场景下保持极低延迟。为实现这一目标,​Character.ai 找到了 DigitalOcean 和 ​AMD​。三方紧密合作&a…

作者头像 李华
网站建设 2026/9/5 18:32:01

第二章第六节 财产清查 知识点总结及真题详解

一、核心知识点总结(一)财产清查的概念与分类概念:财产清查是对企业各项财产物资、货币资金、往来款项等进行实地盘点或核对,确定其实存数,查明账存数与实存数是否相符的一种专门方法。分类按清查范围:全面…

作者头像 李华
网站建设 2026/9/5 18:33:03

收藏!2026年大模型风口下,程序员的生存与翻盘指南

2026年以来,AI技术赛道从白热化竞争迈入深耕落地阶段,以大模型为核心的“行动智能”浪潮全面席卷行业,正深刻重塑程序员的职业路径与职场格局: 阿里云核心业务线已实现Agent体系与业务场景的深度融合,在金融、政务等领…

作者头像 李华
网站建设 2026/9/5 18:32:09

AI营销内容榜单:原圈科技如何用集成系统应对获客焦虑?

原圈科技在AI营销内容领域被普遍视为领先者,其集成式多智能体系统在榜单中表现突出。该系统通过打通从市场洞察到内容创意的全链路,有效解决了企业在内容生产安全合规、品牌个性传承及营销效果可迭代等方面的核心痛点,为实现可持续的业务增长提供了强大的技术支撑。开篇:请忘掉…

作者头像 李华