当前位置:首页 > 系统教程 > 正文

FRP内网穿透全流程部署指南

FRP内网穿透全流程部署指南

从零开始实现远程访问(Windows/Linux双平台)

FRP内网穿透全流程部署指南 内网穿透 FRP部署 远程访问 端口转发 第1张

内网穿透是解决无公网IP环境下远程访问内部服务的关键技术。FRP部署以其轻量、高效的特点成为开发者和运维人员的首选。本文将完整演示在Windows和Linux平台上从服务端到客户端的全配置流程,助你快速搭建稳定的远程访问通道。

1. 部署前准备

· 一台具有公网IP的服务器(VPS/云主机),系统建议Linux(本文以Ubuntu 20.04为例)· 内网中待穿透的设备(Windows或Linux),已开启SSH、Web服务或远程桌面等· 从frp官方GitHub下载对应系统架构的最新版压缩包(服务端与客户端程序相同,仅配置文件差异)

2. Linux服务端配置(公网服务器)

# 解压并进入目录tar -xzf frplinux_amd64.tar.gzcd frp_linux_amd64# 编辑服务端配置文件 frps.toml(新版使用toml格式)cat > frps.toml <

若需后台运行,可结合nohup或编写systemd服务。端口转发的核心即在此完成——服务端监听特定端口,并将流量转发至客户端内网服务。

3. Windows客户端配置

将下载的frp压缩包解压至C:�rp,修改frpc.toml文件:

serverAddr = "your-server-ip"   # 公网服务器IPserverPort = 7000auth.method = "token"auth.token = "your-strong-token"[[proxies]]name = "ssh"type = "tcp"localIP = "127.0.0.1"localPort = 22remotePort = 6000            # 公网访问端口,例如通过 ssh -p 6000 user@server-ip

在PowerShell中进入目录执行./frpc.exe -c frpc.toml即可建立连接。

4. Linux客户端配置(以内网Ubuntu为例)

# 同样解压,编辑 frpc.tomlserverAddr = "your-server-ip"serverPort = 7000auth.token = "your-strong-token"[[proxies]]name = "web"type = "http"localPort = 80customDomains = "www.your-domain.com"  # 需将域名解析至服务器IP# 启动客户端./frpc -c frpc.toml

若使用HTTP类型,服务端需额外配置vhostHTTPPort(如80端口)来接收域名请求。

5. 验证与自启动

客户端启动后,访问服务器IP:remotePort或指定域名即可穿透到内网服务。生产环境建议将frp注册为系统服务:Linux可使用systemd,Windows可创建计划任务或使用nssm封装。

6. 常见问题与优化

  • 内网穿透不稳定:检查防火墙是否放行对应端口(服务端7000、remotePort,客户端无需入站)
  • token认证失败:确保服务端与客户端FRP部署使用完全相同的token字符串
  • 域名无法访问:确认域名已解析至服务器,且服务端vhostHTTPPort设置正确
  • 多服务复用:通过添加多个[[proxies]]配置不同本地端口与远程端口即可

至此,你已经完成了完整的远程访问通道搭建。FRP还支持stcp、xtcp等点对点穿透模式,可进一步降低延迟。掌握端口转发与隧道配置,能极大提升开发调试和日常运维效率。