乐趣区

关于内网穿透:如何随时远程开机并控制电脑

最近不是快过年了嘛,然而因为疫情的起因,大家回家的时候预计都要带好电脑,笔记本还好说,台式机就比拟麻烦了。

趁着当初比拟闲就来水一篇应用 frp 内网穿透来近程 开机 和 管制 电脑,心愿可能帮忙大家在家的时候能近程管制放在出租屋的台式机。

所需的资源

  • VPS(一台领有公网 IP 的电脑,用来开启 FRP 服务)
  • WIFI 智能插座(反对近程管制的插座,用来近程开机)

次要思路

总体思路是要解决两个问题,一个是如何自动开机,还有一个是如何进行近程管制。

近程开机

第一个问题就是如何自动开机。实现近程开机的形式有很多种,我这里抉择了比较简单的形式,也不便大家上手。那就是应用 WIFI 智能插座 + BIOS 设置通电开机 的配置。这个组合就能在家通过管制 WIFI 智能插座 通电状态 来管制电脑的 开机 了。

近程管制

近程管制的形式也有很多,市面上也有很多近程控制软件,然而很多都是免费的,收费的也有,比拟有名的比方像 TeamViewer,当初连了一段时间就会狐疑你是商业用途,就会断线,不太好用。我这里应用的是 frp 这种计划,frp 是一个专一于内网穿透的高性能的反向代理利用。

近程开机

方才说了,咱们实现近程次要是通过 WIFI 智能插座 + BIOS 通电开机设置 的形式实现的。当初就细说一下。

我用的是这款 小米智能插座,应用小米的智能插座,次要是我平时也有应用小米的其余智能家居,米家用的也比拟习惯了,市面上也有其余品牌能够抉择。

接下来就是如何 BIOS 上设置开机启动的配置了,因为 BIOS 各家厂商的配置都不尽相同,以我应用的 微星主板 为例,是在 高级 – 电源治理设置 – AC 电源掉电再复电的状态,这个选项,咱们只有抉择【开机】就行了。这样只有 插座一通电,就能自动开机了。

如果还有同学不晓得如何进入 BIOS 的话,我这里再说一下,个别是在按下开机电源按键之后,就始终按 Del 键(有些厂商也可能是其余的键),就会进入到 BIOS 界面了。

到这里设置实现之后,你就能够先试一下,是不是可能通过手机米家管制电脑开机了。

近程管制

咱们这里应用的是 frp 的内网穿透计划,这里就须要用到一台领有公网 IP 的 VPS,次要是用来跑 FRP 的服务端。

官网文档地址:https://gofrp.org/docs/

github 地址:https://github.com/fatedier/frp

装置 frp 服务端

装置也非常简单,到 github 的 releases 外面下载最新版本的压缩文件,而后解压进去就行了。

这里提供一下简略的脚本,是之前装置的时候记录下来的。帮忙一些没接触过的同学。

mkdir -p /etc/frp
cd /etc/frp
# 下载最新的版本
wget "https://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_linux_amd64.tar.gz"
# 解压
tar xzvf frp_0.37.1_linux_amd64.tar.gz
# 拷贝进去
mv frp_0.37.1_linux_amd64/* /etc/frp

当初最新的版本是 v0.38.0,能够把下面的版本号批改成最新的版本,如果是新同学的话,倡议不要批改,不便前面能够跟着操作。

接下来就是批改一下配置。

先关上配置文件,服务端的配置文件是 frps.ini

vi frps.ini

写入上面的配置。

[common]
# 绑定服务端口
bind_port = 7000
# 控制台的配置:用户名,明码,端口
dashboard_user = test
dashboard_pwd = test_pwd
dashboard_port = 7500

到这里,配置也就弄完了,这个是最简略的配置了。开了 仪表盘 的端口,次要是为了咱们测试服务有没有失常跑起来。

而后咱们开始运行 frp 服务。

./frps -c frps.ini

如果终端没有报错的话,这个时候,你就能够关上浏览器输出,你的 VPS 的 IP 地址 + 端口,看看能不能拜访到。

如果顺利的话,就能看到相似上面的界面:

我预计很多同学到这一步应该还是不行,因为咱们还没有凋谢端口,个别 VPS 都会限度拜访端口,咱们须要到 VPS 厂商那边去开明端口。

我应用的是 腾讯云,就以 腾讯云 为例,须要进入到 平安组 配置外面,而后增加一条新的规定。

而后咱们再回到浏览器刷新一下,应该就能看到 frp 服务的控制台界面了。

这个时候记得还要开明 7000 端口,因为等一下咱们装置完客户端之后还要试一下能不能失常连贯上 frp 的服务。

装置 frp 客户端

装置完 frp 服务端,接下来就要装置 frp 的客户端了。

一样的,咱们要下载客户端下来。同样也是要到 github 上下载。

客户端下载地址:https://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_windows_amd64.zip

因为某种不可抗力的影响,有些同学可能下载的过程不太顺利,我这里上传到了网盘一份。阿里云盘 不让上传 zip,只能传 毒盘 了。

链接:https://pan.baidu.com/s/1LAHJHqsJGXacBnK3EVm3ag
提取码:yuo8

客户端的装置就更简略了,找个目录解压,而后批改配置文件 frpc.ini。Windows 端解压的操作就不必多介绍了吧。

[common]
server_addr = 这里填你的 VPS ip 地址
server_port = 7000

# 这个客户端的名称,能够轻易写
[PC]
type = tcp 
local_ip = 127.0.0.1 
# 因为要应用 windows 的远程桌面,所以应用 远程桌面的默认端口 3389 
local_port = 3389 
remote_port = 3389

这个配置外面 remote_port 这个配置能够批改成你想要的端口,我这里用 3389,次要是为了前面远程桌面的时候不必再填端口。

哦!对了,remote_port 这个配置的端口也要在 VPS 的平安组下面配置一下,否则也会拜访不上。

这样咱们客户端的配置也搞完了,咱们运行一下,看能不能连上 Frp 的服务。先进入到解压之后的目录。

./frpc -c ./frpc.ini

我这里用的命令终端是Windows PowerShell。然而我看到我之前的笔记上写的是上面这个,不晓得是不是不同终端的差别。如果下面的不行的话,能够试一下上面这个。

frpc.exe -c frpc.ini

如果运行之后,看到 start proxy success 的字样,阐明启动胜利了。

如果失败了的话,检查一下连贯 VPS 的终端是不是掉线了。我用的 腾讯云 VPS,过一会没有操作就会主动断开。如果掉线了的话,要从新登录 VPS 的终端,开启 frp 服务。而后再测试一下。

测试远程桌面

Windows 默认是没有开启远程桌面,须要到设置外面开一下。

而后咱们就能够测试一下,能不能失常进行远程桌面。用另一个电脑,或者用手机也能够,手机要装置可能远程桌面的 APP。而后输出 VPS 的 IP 试一下,失常的状况下,会让你输出用户名和明码,这个是你可能反对远程桌面的 Windows 账户。输完账户明码的话,失常的话是曾经可能进行远程桌面了。

开机启动

如果能走到这里,那就祝贺你,曾经胜利跑通这一个流程了。剩下的就是一些边边角角的货色了。

咱们方才测试的时候,须要连着 VPS 的终端能力运行 Frp 的服务,然而咱们不能始终开着这个终端吧,这也太不不便了。咱们想要的成果是 VPS 启动的时候就能主动启动 frp 服务,这样咱们随时都能连上了。

同样的,放在出租屋里的电脑,也是心愿可能开机就主动启动,不须要咱们手动启动 frp 客户端。如果咱们都能坐在电脑前启动 frp 客户端了,那还要近程干什么。

开机启动 frp 服务端

我这里开机服务应用的是 Systemd

Systemd 的工作启动是放在 /lib/systemd/system/ 这个目录上面。咱们先在这个目录上面新建一个文件 frp.service,cd 到该目录下,而后应用命令 vi frp.service 创立一个工作。输出配置。

# Unit 为一个单元,或者说是一个工作
[Unit]
# 形容
Description=frp service
# 启动的机会,这里是网络连接上之后
After=network-noline.target

# 形容如何启动
[Service]
# 启动执行的命令
ExecStart=/etc/frp/frp_0.37.1_linux_amd64/frps -c /etc/frp/frp_0.37.1_linux_amd64/frps.ini
# 类型,个别用 simple 就行了
Type=simple
# 失败时重启
Restart=on-failure
# 重启工夫距离
RestartSec=60s

[Install]
# 配置多用户
WantedBy=multi-user.target

这样,一个简略的 Systemd 工作就创立好了。咱们能够当初就启动看一下成果。

systemctl start frp.service

而后你敞开连贯 VPS 的终端,启动一下 Frp 的客户端,这个时候应该也能失常连贯上 frp 服务了。

如果测试失常的话,接下来就是设置开机启动这个工作。

systemctl enable frp.service

前面再测试一下 重启 VPS,是不是也能失常。到这里就曾经可能在 VPS 开机连上网络之后开启 frp 的服务了。

开机启动 frp 客户端

我这里应用的是 工作打算程序。这个是 Windows 自带的程序,咱们能够通过这个来做开机自启动。

首先,咱们须要一个启动 frp 客户端的脚本,在 Frp 的目录下,新建一个文件 start.bat,脚本内容如下。

@echo off
:home
frpc -c frpc.ini
goto home

这个脚本很简略,外面用到的启动脚本,就是咱们下面手动启动 frp 客户端一样。而后加个循环,如果启动失败,就重试。

如果不想要重试的话,就用上面的脚本。

@echo off
frpc -c frpc.ini
exit

接下来双击启动,测试一下,看是否可能失常启动。

如果失常,那咱们就进入下一步,如何开机就运行这个脚本?

我这里应用的是 工作打算程序。在开始菜单外面搜寻,工作打算程序。前面的操作我都截图了。

先点击右侧的 创立工作

勾选 [不论用户是否登录都要运行,应用最高权限运行,暗藏] 这几个选项

再新建一个触发器,抉择 启动时

再抉择咱们方才创立的脚本

这样就能够了,点 确定,这个时候应该会须要你输出管理员的明码,当前电脑开机的时候就会主动启动 frp 的客户端了。

而后咱们再测试一下,重启一下电脑,在工作管理器外面应该就能看到 frpc.exe 正在运行了。

串起所有流程

到这里,所有的步骤都实现了。是时候串起所有的流程跑一遍看看最终的成果了。

  1. 先把电脑关机,等电脑齐全关机。
  2. 关上米家,把 智能插座 敞开,等个十秒钟,再关上。这个时候你就能看到电脑自动开机了。
  3. 等一会,等 frp 客户端的启动。
  4. 应用 远程桌面 的客户端进行连贯,输出 VPS 的 IP 地址。这个时候会须要登录你的 Windows 账户,这个时候就能胜利 远程桌面 你的电脑了。

扩大

尽管到这里,我要讲的内容就曾经讲完了,然而还有一些能够扩大的货色。

比方,

如果你还有一个域名的话,就能够间接应用 域名 进行远程桌面了,就不必记一串很长的 VPS 的 IP 地址了。

如果你想要能够随时连贯多台电脑,要怎么配置呢?

还有一个就是 其实 frp 是能够反对 p2p 的形式进行打洞穿透,如果胜利,后续的流量将不必通过 frps,而是间接通信,不再受到 frps 所在服务器的带宽限度。

这些后续扩大的性能,感兴趣的同学能够持续钻研哈。

退出移动版