外网环境下基于Linux主机udp广播,实现远程开机(推荐)

外网环境下基于Linux主机udp广播,实现远程开机(推荐)

之前文章向大家介绍了 外网环境下基于FRP、VNC技术远程开机。在完成上一期内容后,静下来思考了一下,发现如果局域网内有Linux主机(如树莓派),实际上无需通过路由器进行WOL远程唤醒。因此本篇文章适用于任何局域网内拥有Linux主机的用户。

一、Linux主机开启WOL

sudo apt-get install wakeonlan

外网环境下基于Linux主机udp广播,实现远程开机(推荐)

二、外网穿透局域网内Linux主机21端口

对于拥有公网IP的Linux主机用户而言,可以跳过这一部分,这里主要还是介绍下没有公网IP的Linux主机(如树莓派),如何外网ssh。

没有公网IP的Linux主机,需要内网穿透,这里以树莓派FRP内网穿透为例:

关于FRP内网穿透详细方法,可参见 点击查看本文

本文在进行如下操作前,frps的配置以及自启方法,可参见 点击查看本文

FRPC配置
sudo apt-get update

wget https://github.com/fatedier/frp/releases/download/v0.17.0/frp_0.17.0_linux_arm.tar.gz

tar -zxvf frp_0.17.0_linux_arm.tar.gz  #解压缩:tar xvf 文件名

cd frp_0.17.0_linux_arm                #进入解压目录

#修改frps.ini文件
sudo vim ./frpc.ini

添加以下内容(需要删除注释)
[common]
server_addr = your_server_ip               #VPS服务器IP
server_port = 7000                         #端口,与服务端bind_port一致  

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 21
remote_port =6000

外网环境下基于Linux主机udp广播,实现远程开机(推荐)
先运行一下,有上面的显示说明能够正常运行后再在后台启动。

#后台保持启动  需要在frp_0.17.0_linux_arm目录下操作
nohup ./frpc -c ./frpc.ini &

如果之前已经开启过 frpc 服务,需要暂停:

sudo systemctl stop frpc     # 之前是采用systemctl方式开启的frpc服务,需要暂停

ps -ef |grep frpc
sudo kill -9 进程号

cd frp_0.17.0_linux_arm
./frpc -c ./frpc.ini         # 如果确保没有错误,可以不执行这两行,直接执行下面的语句。

sudo systemctl start frpc

三、外网ssh局域网内Linux主机,远程唤醒计算机

本文以手机为例,使用Termius app进行ssh访问:

外网环境下基于Linux主机udp广播,实现远程开机(推荐)

wakeonlan [局域网内需要唤醒的主机mac地址]

外网环境下基于Linux主机udp广播,实现远程开机(推荐)
外网环境下基于Linux主机udp广播,实现远程开机(推荐)
至此,基于Linux主机udp广播,成功实现远程开机。

四、进阶

下载 workflow app(iphone用户需要ios12版本)

外网环境下基于Linux主机udp广播,实现远程开机(推荐)

将开机SSH命令写入APP

外网环境下基于Linux主机udp广播,实现远程开机(推荐)

加入siri

外网环境下基于Linux主机udp广播,实现远程开机(推荐)
外网环境下基于Linux主机udp广播,实现远程开机(推荐)

远程开机后,通过 TeamViewer 或者 VNC 远程登陆计算机 实现方式点击此处查看

外网环境下基于Linux主机udp广播,实现远程开机(推荐)