使用Frp实现内网穿透
前言
项目地址: https://gitee.com/mirrors/frp
项目文档: https://gofrp.org/docs/
具体使用参见文档,如下只配置实现远程桌面
根据文档说明下载压缩包,解压到一个目录,比如 M:\GreenSoft\frp\
作为客户端
在具有公网IP地址的服务器上上传一份,同样进行解压作为服务器端
配置
在服务器端的frps.ini中配置
[common]
bind_port = 7000
在客户端的frpc.ini中配置
[common]
server_addr = 服务器公网IP地址
server_port = 7000
; [ssh]
; type = tcp
; local_ip = 127.0.0.1
; local_port = 22
; remote_port = 6000
[rdp]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 6000
安装为服务自启动
-
下载最新版的 Windows Service Wrapper 程序winsw
然后,把它命名成你想要的名字(比如: "winsw.exe",当然,你也可以不改名)
-
将重命名后的 winsw.exe 复制到 frp 的安装目录(我这里是 "M:\GreenSoft\frp")
-
在同一个目录下创建一个
Windows Service Wrapper
的XML配置文件,名称必须与第一步重命名时使用的名称一致(比如我这里是 "winsw.xml")文件内容如下:
<service> <!-- 该服务的唯一标识 --> <id>frpc</id> <!-- 该服务的名称 --> <name>frp0.32.0-windows-amd64</name> <!-- 该服务的描述 --> <description>frpc客户端 这个服务用 frp 实现内网穿透</description> <!-- 要运行的程序路径 --> <executable>frpc.exe</executable> <!-- 携带的参数 --> <arguments>-c frpc.ini</arguments> <!-- 第一次启动失败 60秒重启 --> <onfailure action="restart" delay="60 sec"/> <!-- 第二次启动失败 120秒后重启 --> <onfailure action="restart" delay="120 sec"/> <!-- 日志模式 --> <logmode>append</logmode> <!-- 指定日志文件目录(相对于executable配置的路径) --> <logpath>logs</logpath> </service>
-
命令行下执行以下命令,以便将其安装成Windows服务。
M:\GreenSoft\frp> winsw.exe install
OK,至此,完工,确认一下:我的电脑 右键 -> 管理 -> 服务 -> 是否有了个 frp 服务呢?
-
补充:
Windows Servcie Wrapper的命令格式如下:
# 安装服务 CMD:\> winsw.exe install # 卸载服务 CMD:\> winsw.exe uninstall