内网穿透FRP搭建(宝塔面板/Windows)

frp是我最喜欢的开源项目之一

frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS
等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。

GitHub:https://github.com/fatedier/frp
完整文档:https://gofrp.org

1.下载frpc和frps

访问https://github.com/fatedier/frp/releases
下载最新版本(截止写文章时为v0.42.0)
FRP

下载对应系统的客户端和服务端二进制文件
由于采用 Golang 编写,所以系统需求和最新的 Golang 对系统和平台的要求一致
如果一个是Win,一个是Linux,就要下载两个,下载下来,解压分别找到其中的对应系统,对应C端与S端的文件

至少需要4个文件
frps & frps.ini (服务器端*有公网ip的)
frpc & frpc.ini (客户端 *内网)

2.部署

解压缩下载的压缩包,将其中的 frpc 拷贝到内网服务所在的机器上,将 frps 拷贝到具有公网 IP 的机器上,放置在任意目录。

3.运行

编写配置文件,先通过 ./frps -c ./frps.ini 启动服务端,再通过 ./frpc -c ./frpc.ini 启动客户端。

配置文件的编写 举例:frp 会将请求 x.x.x.x:6000 的流量转发到内网机器的 22 端口

frps.ini

[common]
bind_port = 7000//服务器接收客户端连接的端口

frpc.ini

[common]
server_addr = x.x.x.x //服务器ip地址
server_port = 7000 //服务器接收客户端连接的端口

[ssh]
type = tcp
local_ip = 127.0.0.1 //本地需要暴露到公网的服务地址
local_port = 22      //本地需要暴露到公网的端口
remote_port = 6000   //在 frp 服务端监听的端口,访问此端口的流量将会被转发到本地服务对应的端口

后台长期运行

Windows端我的方法是 用 WinSW
Linux端 我的方法是 用宝塔面板+supervisord管理器

winsw配置frp为Windows服务

下载对应系统的winsw
https://github.com/winsw/winsw/releases
改名为winsw.exe,放到frp相同的目录里,在同一个目录里创建一个文本文件,文件名是 winsw.xml,内容是:

<id>frp</id>
<name>frp这里是服务的名称</name>
<description>这里是服务的介绍,随便写</description>
<executable>frpc</executable>
<arguments>-c frpc.ini</arguments>
<onfailure action="restart" delay="60 sec"/>
<onfailure action="restart" delay="120 sec"/>
<logmode>reset</logmode>


以管理员权限打开一个命令窗口,cd到frp所在目录,执行:

winsw install
winsw start

宝塔面板后台长期运行:

软件商店 > 系统工具 > Supervisor管理器 > 添加守护进程

名称随意填写,目录选择到存放frps压缩包解压后完整文件目录。

然后分别填写下面的启动命令

服务端启动命令:

/bin/bash -c './frps -c ./frps.ini'

客户端启动命令:

/bin/bash -c './frpc -c ./frpc.ini'

填写完命令之后点击确定即可启动,

《内网穿透FRP搭建(宝塔面板/Windows)》上有2条评论

发表回复

您的电子邮箱地址不会被公开。