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

内网穿透利器:FRP安装与配置详解(从零开始实现外网访问内网服务)

内网穿透利器:FRP安装与配置详解(从零开始实现外网访问内网服务)

内网穿透利器:FRP安装与配置详解(从零开始实现外网访问内网服务) 内网穿透 FRP安装 FRP配置 外网访问内网 第1张

在家庭或公司内网搭建的Web服务、远程桌面、SSH等应用,往往无法直接被外网访问。内网穿透技术解决了这一痛点,而FRP(Fast Reverse Proxy)是目前最流行的高性能反向代理工具,支持多种协议,配置简单,非常适合个人开发者或运维人员使用。本文将详细讲解FRP安装FRP配置的全过程,帮助您轻松实现外网访问内网服务。

1. FRP是什么?工作原理速览

FRP采用C/S模式,由部署在公网服务器上的服务端(frps)和部署在内网机器上的客户端(frpc)组成。客户端主动连接到服务端,并通过服务端暴露端口,使得外网用户可通过公网服务器的IP和端口访问内网服务。整个过程加密且支持负载均衡、健康检查等高级功能。

2. 准备工作

  • ✅ 一台具有公网IP的Linux服务器(如腾讯云/阿里云VPS,系统建议Ubuntu 20.04+或CentOS 7+)
  • ✅ 一台内网主机(Linux/Windows/Mac,本文以Linux为例)
  • ✅ 从FRP官方GitHub下载对应系统架构的最新版FRP(服务端和客户端是同一压缩包,包含两个二进制文件)

3. 服务端安装与配置(公网服务器)

以Linux x86_64为例,登录公网服务器,执行以下命令:

    # 下载最新版(以0.51.3为例,请替换为最新版本号)wget https://github.com/fatedier/frp/releases/download/v0.51.3/frp_0.51.3_linux_amd64.tar.gztar -zxvf frp_0.51.3_linux_amd64.tar.gzcd frp_0.51.3_linux_amd64  

使用vim或nano创建frps.toml,内容如下:

    bindPort = 7000         # 与服务端通信端口vhostHTTPPort = 8080    # HTTP代理端口(可选)auth.method = "token"auth.token = "your-strong-token"  # 客户端连接密码,务必修改webServer.addr = "0.0.0.0"webServer.port = 7500webServer.user = "admin"webServer.password = "admin"  

保存后,启动服务端:

    ./frps -c frps.toml  

如需后台运行,可使用nohup或配置systemd服务(后续介绍)。

4. 客户端安装与配置(内网机器)

在内网机器上下载相同版本的FRP,解压后编辑frpc.toml

    serverAddr = "你的公网服务器IP"serverPort = 7000auth.method = "token"auth.token = "your-strong-token"   # 与服务端token一致[[proxies]]name = "ssh"type = "tcp"localIP = "127.0.0.1"localPort = 22remotePort = 6000      # 公网服务器上暴露的端口,外网通过该端口访问内网SSH[[proxies]]name = "web"type = "http"localPort = 80customDomains = ["www.your-domain.com"]  # 如果绑定域名,需将域名解析到公网服务器  

启动客户端:

    ./frpc -c frpc.toml  

5. 测试验证

  • 🔹 SSH测试:在外网机器执行 ssh -p 6000 用户名@你的公网服务器IP,若能登录内网机器,则成功。
  • 🔹 Web测试:浏览器访问 http://你的公网服务器IP:8080(若配置了HTTP代理且没绑定域名),应显示内网Web服务页面。

6. 进阶:设置systemd开机自启

在生产环境中,建议将frp注册为系统服务。以服务端为例,创建/etc/systemd/system/frps.service

    [Unit]Description=FRP ServerAfter=network.target[Service]Type=simpleUser=nobodyRestart=on-failureRestartSec=5sExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.tomlWorkingDirectory=/usr/local/frp[Install]WantedBy=multi-user.target  

将frp二进制和配置文件放到/usr/local/frp目录,然后执行:

    systemctl daemon-reloadsystemctl enable frpssystemctl start frps  

客户端类似配置。

7. 注意事项与安全建议

  • ⚠️ 公网服务器防火墙需开放相应端口(如7000, 6000, 8080, 7500)。
  • ⚠️ 务必使用强token,避免未授权访问。
  • ⚠️ 如果暴露Web服务,建议配合Nginx反向代理并启用HTTPS。
  • ⚠️ 定期更新frp版本以修复安全漏洞。

8. 总结

通过以上步骤,我们完成了FRP安装FRP配置,成功将内网服务映射到外网。无论是远程办公、个人网站搭建还是调试微信小程序,内网穿透都是一项必备技能。掌握FRP后,您可以轻松应对各种外网访问内网的需求。希望本文能帮助您快速上手,如有疑问欢迎在评论区交流!