title, type, aliases, tags
| title |
type |
aliases |
tags |
| 内网穿透 |
concept |
|
| network |
| tunneling |
| infrastructure |
|
内网穿透
Definition
内网穿透(NAT Traversal / Reverse Proxy Tunneling)是一种使位于私有网络(内网)中的设备能够被公网访问的技术。家用网络设备通常位于 NAT(网络地址转换)后面,无法直接接收公网连接,内网穿透通过在公网服务器建立反向隧道来解决这一问题。
Core Principle
传统正向代理:客户端 → 公网代理服务器 → 目标服务器
内网穿透(反向隧道):公网服务器 → 反向隧道 → 内网客户端
Common Tools
| 工具 |
协议 |
特点 |
适用场景 |
| frp |
TCP/UDP/HTTP |
高性能、支持 Dashboard |
多服务穿透 |
| ngrok |
TCP/HTTP |
简单易用、托管服务 |
临时测试 |
| natapp |
TCP/HTTP |
国内服务 |
国内访问 |
| 花生壳 |
TCP/HTTP |
老牌、商业化 |
企业用户 |
| ZeroTier |
VPN |
虚拟局域网 |
远程办公 |
frp 实现方案
架构组件
- frps (Server):部署在公网 VPS,监听端口(默认 7000)
- frpc (Client):部署在内网机器,主动连接 frps
典型配置流程
- VPS 安装 frps,配置 systemd 服务
- 内网机器安装 frpc,配置连接参数
- frpc 配置端口映射(local_port → remote_port)
- Caddy/Nginx 在 VPS 做反向代理
映射示例
完整访问链路
Security Considerations
认证保护
- frps 配置
token 与 frpc 匹配
- Caddy 可添加 HTTP Basic Auth
- 使用非标准端口避免扫描
访问控制
SSH 安全
Trade-offs
| 优势 |
劣势 |
| 无需公网 IP |
依赖 VPS 稳定性 |
| 支持任意 TCP/UDP 服务 |
增加延迟 |
| 可绑定独立域名 |
需要维护 frps/frpc |
| 成本低(月付几美元 VPS) |
安全配置复杂 |
Related Concepts
References