内网穿透工具frp的简单使用

1.FRP是什么

frp 是一款高性能的反向代理应用,专注于内网穿透。它支持多种协议,包括 TCP、UDP、HTTP、HTTPS 等,并且具备 P2P 通信功能。使用 frp,您可以安全、便捷地将内网服务暴露到公网,通过拥有公网 IP 的节点进行中转

 

FRP的官网地址:https://github.com/fatedier

FRP的中文地址:概览 | frp (gofrp.org)

 

 

2. 原理

frp是个代理应用,假如自己家的电脑无公网ip,   但是出差时或者在外办公时又想访问家庭电脑怎么办; 直接访问家庭电脑是访问不通的,那只有通过具有公网ip的云服务器来实现转发,来实现远程访问家庭电脑,如下是简单的流程图

 

3. 安装FRP服务端

在云服务器上安装frp的服务,在家庭电脑上安装frp的客户端。 比如云服务器是linux服务器,家庭电脑是windows服务器,则安装步骤如下;

1. 在linux服务器上安装frp的安装包

下载

wget https://github.com/fatedier/frp/releases/download/v0.61.1/frp_0.61.1_linux_amd64.tar.gz

解压

tar -zxvf frp_0.61.1_linux_amd64.tar.gz

 

解压完后,如图

 

 2.编辑frps.toml文件

# 基础配置
bindPort = 7000

# 可选:如果需要dashboard
webServer.port = 7500
webServer.user = "admin" 
webServer.password = "admin123"

# 可选:设置认证token
auth.method = "token"
auth.token = "12345678"

 编辑完后,保存

 

3. 启动frps服务

./frps -c ./frps.toml

 

此时页面输入:云服务器ip:7500   然后输入配置的用户名和密码,会显示如下图所示的页面(frps服务端安装完成)

 

 

服务端的启动进阶版,可以利用 systemd 开机自启动

创建 systemd 服务配置文件:

sudo vim /etc/systemd/system/frps.service
配置如下
[Unit]
Description = frp server
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
ExecStart = ~/frps -c ~/frps.toml    # frps和frps.toml请设置成具体的文件地址

[Install]
WantedBy = multi-user.target

重新加载 systemd 配置

sudo systemctl daemon-reload

启动 frps 服务

sudo systemctl start frps

设置开机自启动

sudo systemctl enable frps
  • 查看服务状态 sudo systemctl start frps
  • 停止服务 sudo systemctl stop frps
  • 重启服务 sudo systemctl restart frps
  • 查看日志 sudo journalctl -u frps

如果修改 frps 的配置文件, 需要在修改后重启服务

sudo systemctl restart frps

 

4. 安装FRP的客户端

https://github.com/fatedier/frp/releases  上下载对应的windows版本,比如0.61.1版本,下载完后,解压;

 

 

解压完后找到对应的frpc.toml文件

配置如下

serverAddr = "云服务器ip"
serverPort = 7000
# 认证方式
auth.method = "token"
# 认证 token
auth.token = "服务端对应的token"

[[proxies]]
name = "test-tcp"
type = "tcp"
localIP = "127.0.0.1"
#远程桌面访问的端口
localPort = 3389
#云服务器对应的映射端口
remotePort = 6000

 

启动服务:

./frpc -c ./frpc.toml

启动成功图示

 

此时frp管理页面会有一条test-tcp的代理

 

windows设置frpc客户端自启动

脚本

Set WshShell = CreateObject("Wscript.Shell")
WshShell.Run "cmd /c C:\Users\Administrator\frp\frpc\frp_0.61.1_windows_amd64\frpc -c C:\Users\Administrator\frp\frpc\frp_0.61.1_windows_amd64\frpc.toml", 0

保存为start_frpc.vbs文件

 

WIN+R后输入gpedit.msc后,会弹出页面:计算设置--->WINDOWS设置--->脚本(启动/关机)--->启动(双击)

 

 

 

添加完成即可,重启电脑后,frpc客户自动启动,无需手动再次启动

 

5. 在办公电脑上此时就可以访问家庭电脑了

 

打开远程桌面,输入: 云服务器ip:6000   即可访问家庭电脑了

 

若访问不了,要看看云服务器安全组6000端口是否放开,若6000端口没问题; 再看看家庭电脑是否打开了,启用远程桌面

 

 

posted @ 2025-07-20 16:28  纵码万水千山  阅读(289)  评论(0)    收藏  举报