1、环境配置

frp是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务, 支持tcp, udp, http, https等协议类型,并且web服务支持根据域名进行路由转发。

image-20220126141140473

image-20220126142547456

  1. frp服务端和客户端通过8000建立连接;frps启动处于监听状态。
  2. frpc启动后和frps建立连接,并告诉frps映射关系。
  3. frps开始监听frpc需要映射的8080端口,如果有数据就发给frpc的3389端口。(frps和frpc建立一个管道,8080和3389为两端管道口)

frps简单配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[common]
bind_port=0.0.0.0
bind_port=8000
bind_udp_port=8001

# 信息展示面板
dashboard_port=
dashboard_user=
dashboard_pwd=

# 认证
token=

# 日志
log_file=frps.log
log_level=info
log_max_days=7

frpc简单配置

1
2
3
4
5
6
7
8
9
10
11
[common]
server_addr =
server_port = 8000

token =

[3389]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 8080

详情配置信息请参考官方模板

https://www.wlphp.com/?post=170

2、运行优化

服务器和客户端分别运行

frpc -c frpc.ini

frps -c frps.ini

注意:防火墙策略需要放行所需端口

开机启动(只针对Windows)

编辑vbs脚本

1
createobject("wscript.shell").run "frpc.exe -c frpc.ini",1

win+r 运行

shell:startup

把vbs脚本快捷方式加入可实现

此方法只有登录用户之后才会运行

1、加入定时任务

2、新建服务实现开机后不需要登录即可运行程序

所需instsrv+srvany软件来实现注册服务,通过实验发现sc无法完成

下载链接

链接:https://pan.baidu.com/s/16Mg1OF8kaZ38dPmI3hcncQ
提取码:1lf2

把两个文件放入C:\Windows\System32中执行

instsrv ServiceName C:\Windows\System32\srvany.exe

ServiceName自定义服务名

注意:如果此命令无法执行,请将srvany.exe放入C:\Windows\SysWOW64中

执行成功之后打开注册表

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

在Services下找到自己定义的服务名ServiceName

如果该服务名下没有Parameters项目,则对服务名称项目右击新建项,名称为Parameters,然后定位到Parameters项,新建以下几个字符串值。

  • 名称 Application 值为你要作为服务运行的程序地址。
  • 名称 AppDirectory 值为你要作为服务运行的程序所在文件夹路径。
  • 名称 AppParameters 值为你要作为服务运行的程序启动所需要的参数。

如图所示

image-20220126155723375

启动此服务便可实现内网穿透。