通过frp实现内网穿透,完成windows远程桌面连接并添加开机自启动

529#lww7qfmmf3sy8cuuvqs

前置条件,需要有带公网IP的服务器一台,穿透通过frp完成,通过windows的任务计划程序设置开机自启

前置条件

  1. 带公网 IP 的服务器
  2. windows 电脑
  3. 其他设备(用于测试远程效果,手机也可以)

安装 frps

在服务器上安装 frp,这里我们采用 docker 安装方式(未安装 docker 前往搜索)。

也许有伙伴担心小水管承受不了,但是作者的实际使用来看


在同时运行系统和这些容器的情况下,总的内存消耗也只有 1GB,完全不用太担心。

运行容器

直接使用现有的镜像,它会在运行容器时,自动安装最新版本的 frps

bash 复制代码
docker pull snowdreamtech/frps

镜像文档仍然使用.ini作为配置文件,新版本的 frp 使用.toml作为配置文件后缀了。

创建配置文件

bash 复制代码
mkdir -p /opt/frp && vim /opt/frp/frps.toml

接着输入下面的内容,按需修改

toml 复制代码
[common]
# 监听端口
bind_port=211
# web端口
dashboard_port=212
# web登录账号
dashboard_user=imzbf
dashboard_pwd=123456
# http及https的代理端口
vhost_http_port=213
vhost_https_port=214
# 客户端身份验证,尽量复杂
token=S4CQ0Psz4mcZy1Lk

运行容器

bash 复制代码
docker run --restart=always --network host -d -v /opt/frp:/etc/frp --name frps snowdreamtech/frps

安装 frpc

客户端的 frp 就不运行 docker 容器了,后面需要创建启动任务。

直接下载压缩包:frp_0.58.1_windows_amd64.zip,或者前往发布页下载最新版本:https://github.com/fatedier/frp/releases

下载完成后解压到合适的目录,比如D:\frpc,只需要保留frpc.exefrpc.toml文件,其他的不需要。

内容杀毒软件可能会报错,记得添加到信任区。

打开frpc.toml文件,输入下面的内容

toml 复制代码
[common]
# 服务器IP地址或者域名
server_addr=server.com
# 服务端监听端口,与上面的bind_port要一致
server_port=211
# 与上面的token一致
token=S4CQ0Psz4mcZy1Lk

[RemoteDesktop]
# 连接的类型
type=tcp
# 本地IP,我们这里是需要远程桌面的windows IP
local_ip=127.0.0.1
# 目标端口,远程桌面端口是3389
local_port=3389
# 绑定到服务器的端口
remote_port=310

至此可以启动,测试是否连接正常了

bash 复制代码
frpc -c frpc.toml

打开 Microsoft Remote Desktop,PC name 为公网IP或域名:绑定的服务器端口,示例:server.com:310。目前这个软件要求 windows 系统用户必须设置密码。

新建启动脚本

D:\frpc下新建start_frpc.bat文件,以文本的方式打开,输入下面的内容

bat 复制代码
@echo off
cd /d D:\frpc
setlocal enabledelayedexpansion

:: 获取当前日期和时间
set "datetime=%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%"
set "datetime=%datetime: =0%" :: 将空格替换为0

:: 日志文件路径
set "logfile=D:\frpc\logs\frpc_%datetime%.log"

:: 确保日志目录存在
if not exist D:\frpc\logs mkdir D:\frpc\logs

:: 切换到frp目录并运行frpc,输出重定向到日志文件
frpc -c frpc.toml > "!logfile!" 2>&1
pause

由于后面设置自启动后,不会显示弹窗和日志,所以我们需要将每次启动的日志写道 logs 文件夹下面,验证启动状态。

现在只需要双击脚本即可立刻运行客户端,并且生成日志文件。

设置开机启动

在 Windows 中打开搜索,输入"任务计划程序",并打开

创建任务

常规设置

设置名称:开机启动 FRP 客户端;勾选不管用户是否登录都要运行;勾选使用最高权限运行;配置选择 Windows 10

添加触发器

切换到触发器 tab,点击左下角 新增 按钮

开始任务选择“启动时”;延迟任务时间选择“30 秒”或者更长(使用到网络,如果需要连接 wifi 等,要等待网络连接后运行);勾选已启用。

新增操作

切换到操作 tab,点击左下角 新增 按钮

操作选择“启动程序”;程序或脚本点击浏览选择刚刚创建的 bat 脚本;参数不填;起始于填脚本所在位置。

条件设置

只需要勾选“唤醒计算机运行此任务”

设置

勾选“允许按需运行任务”;勾选“如果任务失败,按照以下频率重新启动”,并选择合适的时间。


保存这个配置,重新启动电脑即可,再次使用远程桌面软件测试,如果失败,打开 logs 文件查询日志。

参与本文讨论

请先登录 GitHub 后留言

0/500

本文留言

0

这篇文章还没有留言,来写第一条吧。

1 / 1