frp实现内网穿透(超详细!)

本文介绍了开源、高性能、跨平台的内网穿透工具FRP。先说明了基本环境,包括有公网IP的实体机和目标设备。接着详细阐述服务端和客户端的部署步骤,如下载安装包、修改配置文件等。最后展示部署后成功代理端口的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、 frp简介

FRP是Fast Reverse Proxy的缩写,它是一款开源、高性能、跨平台的内网穿透工具。FRP允许您通过安全地穿透NAT和防火墙来访问您的本地服务器,以便您可以从任何地方访问您的应用程序和服务。它的工作方式是将来自互联网的请求转发给本地网络中的应用程序,从而使应用程序看起来好像直接在互联网上运行。

二、基本环境

1 可以有公网IP的实体机(比如vps等)

2 目标设备(就是你内网中的机器)

三、服务端部署

1 下载frp安装包 登录公网服务(vps) 查看相应的架构型号,按照不同型号下载不同版本
https://github.com/fatedier/frp/releases/tag/v0.51.2
2 修改配置 将解压后的文件目录frp_0.22.0_linux_amd64 改名为 frp cd 进入frp, ls 查看会出现下图中的文件
在这里插入图片描述
关注下面几个文件

frps
frps.ini
frpc
frpc.ini
前两文件,s结尾代表server,分别是服务端程序和服务端配置文件
后两个文件,c结尾代表client。分别是客户端程序和客户端配置文件。
我们当前操作的是服务端(也就说,公网服务作为部署frp的服务端)

编辑 服务端配置文件frps.ini,(按照下面配置修改)

[common]
bind_port = 7000 #客户端和服务端连接的端口
authentication_timeout = 0 
dashboard_port = 7500 #服务端web页面的端口,如7500端口,在配置完成服务启动后可以通过浏览器访问 x.x.x.x:7500 (其中x.x.x.x为公网服务的IP)查看frp服务运行信息
token = 12121212 # 服务端加了 客户端必须添加,也可以都不设置
dashboard_user = admin 
dashboard_pwd = admin_1122
vhost_http_port = 10080 #代理HTTP主机
vhost_https_port = 10443 #代理HTTPs主机
#subdomain_host = frp.com # 子域名
#custom_404_page = /frp/404.html # 自定义404 页面,绝对路径

保存退出 ,启动服务端命令
./frps -c frps.ini
在这里插入图片描述

登录服务web页面(ip:7500 用户名dashboard_user, 密码dashboard_pwd)
在这里插入图片描述

四、客户端部署

客户端是目标设备 (也就是你本地内网的机器)
1下载frp安装包

与服务操作是相同,就是修改frp客户端文件(frpc.ini文件),下载安装版上传到本地服务,解压等步骤不再过多描述

2 修改配置 我们当前操作的是客户端(也就说,内网服务作为部署frp的客户端)

编辑服务端配置文件frpc.ini

下列配置是代理http/https 协议的配置demo

 #一、没有域名情况下
[common]
server_addr = #公网ip地址,vps
server_port = 7000 服务的bind_port
token = 12121212 
[httpname]
type = tcp # 没有域名情况下使用 tcp
local_ip = 127.0.0.1 
local_port = 8000 #本地服务端口
remote_port = 8080 # 远程访问端口,x.x.x.x:8080 x.x.x.x(vps等公网ip)

 #2、有域名配置
[httpname]
type = http
local_port = 80
local_ip = 127.0.0.1
custom_domains = www.demo1.com
[httpsname]
type = https
local_port = 443
local_ip = 127.0.0.1
custom_domains = www.demo2.com

配置完成启动
./frpc -c frpc.ini
在这里插入图片描述

五、效果

在客户端可以检测代理端口的情况可以看到已经成功代理一个 访问端口为8080
在这里插入图片描述

### Windows 上使用 FRP 实现内网穿透 #### 安装与下载 为了在 Windows 平台上部署 FRP 进行内网穿透,首先需要获取适用于 Windows 的 FRP 版本。可以从官方 GitHub 页面下载最新版本的 FRP 压缩包[^1]。 ```powershell Invoke-WebRequest -Uri "https://github.com/fatedier/frp/releases/latest/download/frp_0.58.1_windows_amd64.zip" -OutFile "$env:USERPROFILE\Downloads\frp.zip" Expand-Archive -Path "$env:USERPROFILE\Downloads\frp.zip" -DestinationPath "$env:USERPROFILE\Downloads\frp" ``` #### 服务端配置 (VPS) 对于服务端而言,在远程 VPS 中安装并运行 `frps` 是必要的。创建或编辑位于 `/path/to/frp/frps.ini` 文件来设置基本参数: ```ini [common] bind_port = 7000 token = your_token_here dashboard_port = 7500 allow_ports = 2000-3000,3001,3003,4000-50000 subdomain_host = example.com ``` 此部分涉及的服务端配置应放置于拥有公网 IP 地址的服务器上执行[^2]。 #### 客户端配置 (Windows PC) 接着转向本地机器即作为客户端的部分。同样地修改或者新建名为 `frpc.ini` 的文档用于指定连接细节以及转发规则: ```ini [common] server_addr = x.x.x.x ; 替换成实际VPS地址 server_port = 7000 ; 对应上面绑定端口 token = your_token_here [ssh] type = tcp local_ip = 127.0.0.1 ; 默认即可 local_port = 22 ; 要映射的服务端口号 remote_port = 6000 ; 外部访问时使用的端口号 ``` 上述配置实现了通过外部网络访问内部 SSH 服务的功能示例[^3]。 启动客户端可以通过命令提示符下输入如下指令完成: ```batchfile start "" "C:\path\to\frp\frpc.exe" -c "C:\path\to\frp\frpc.ini" ``` 这会开启一个新的窗口保持后台进程持续工作直到手动关闭为止。 #### 测试验证 最后一步就是确认一切正常运作了。尝试利用新开放出来的端口去建立到目标主机上的连接,比如这里是以测试SSH为例,则可以这样做: ```bash ssh user@your_vps_public_ip -p 6000 ``` 如果成功登录则说明整个流程已经正确无误地完成了。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丢了少年失了心1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值