公网远程开机(唤醒家庭PC)

公网远程开机(唤醒家庭PC)一、背景前一段搞使用seafile搞了私有云盘,不过不需要的时候开着电脑好像有点浪费,所以就开始了通过公网开机的道路二、关键性问题问题要说在前面,常规性的东西百度一般配置都可以搞定,如果各种面向百度的配置都已经尝试,请注意如下问题。. 一定在被开机的直连路由设备上进行MAC与IP地址绑定(原理略)。局域网直接子网内广播发送可以不用绑定。 被开机的系统需要安装对应的网卡驱动(实验CentOS7是有问题的,windows用驱动精灵安装下网卡驱动搞定)三、通过互联网公网远程开机一般性步骤按照常

大家好,又见面了,我是你们的朋友全栈君。

一、背景
使用seafile搞了一个私有云盘,性能还是很优秀的(下载的话到50M/s,上传10M/s),不过不需要的时候开着电脑好像有点浪费,所以就开始了通过公网开机的道路

二、关键性问题
问题要说在前面,常规性的东西百度一般配置都可以搞定,如果各种面向百度的配置都已经尝试,请注意如下问题。

一定在被开机的直连路由设备上进行MAC与IP地址绑定(原理略)。局域网直接子网内广播发送可以不用绑定。
被开机的系统需要安装对应的网卡驱动(实验CentOS7是有问题的,windows用驱动精灵安装下网卡驱动搞定)

三、通过互联网公网远程开机一般性步骤
按照常规步骤设置如下(如下图),假如家庭中需远程开机设备电脑地址为192.168.100,路由器192.168.0.1,为什么搞个路由器,写在本段最后

在这里插入图片描述

1、 固定家庭公网入口
如果家庭是移动宽带略过,电信宽带吧,联通不清楚。电信可以去营业厅申请(申请需求百度之即可)。2020年8月份左右申请的。宽带安装送电线光猫
为了保证固定入口,申请个花生壳域名即可
2、 公网唤醒脚本
百度之,很多。也可以自己写一个。主要通过魔幻数据包唤醒,格式固定,可以自己写个手机移动端小程序。
这个地址https://www.renyiwei.com/wakeonlan有个微信小程序可以直接用,亲测有效

大概长这样,mac地址为需要开机电脑MAC,端口为电信光猫对外映射的端口(见步骤3),地址可以填花生壳对外获取的公网域名(比较固定)
在这里插入图片描述
3、 端口转发
公网唤醒脚本发送的数据要到达家庭内部,需要在电信光猫、路由器上都设置下转发,以1999端口为例。光猫配置1999转发到192.168.0.1 1999端口,路由器上继续配置1999转发到192.168.1.100 1999端口。注意协议为udp。
4、 MAC与IP绑定
这一步是一个关键步骤,也是为了增加IP与MAC绑定关系的方便。即 在该路由器上192.168.1.100与其电脑自身设备的MAC在路由器上配置下绑定关系
***有老铁可能诧异为什么不在电信光猫配置。这个写在最后
5、 需要被开机的设备配置(两部分)
** BIOS设置:**需要在bios设置,允许网络唤醒,一般都是wake on lan之类,百度之。
** 系统配置(win10为例):**注意如下,如果驱动没装好没这个选项。可以用驱动精灵试下,Ubuntu系统可以直接用,CentOS7没搞定
在这里插入图片描述
基本到这里就可以远程开机了,如上一般操作步骤即可远程开机,最后说下优化。
四、写在最后
1、流程:还是开始的流程,这里可以把路由器去掉,这样开启完美一点,毕竟不用多经过一次NAT和转发,但是问题回到最初的问题,电信光猫一般家庭用户不支持配置MAC与IP地址绑定,只是简单支持MAC过滤,超级账户也没有。但是经过测试,可以通过telnet登录(telnet账户密码百度一般能找到),并且命令绑定后是可以通过公网开机的。不过如果家里异常停电后、路由器重启后就能不存在了,然后…不能远程开机了。
在这里插入图片描述
2、分析一下思路:
分析一下:如果异常断电来电后能够让路由器自动再写入这条记录就OK了
如果重启的话?重启,不存在的,重启一般都是人在家里,记着就行了,我相信光猫的厂家是不敢天天远程重启的,那么问题就转换了。

3、解决方式
于是在在我远程开机的设备做了如下两个操作。
 异常断电后,通电后自动开机
 每次自动开机后,延迟5分钟进行telnet远程登录路由器,写入绑定关系
新版Linux发行版开机启动可能有些费劲,参考
https://blog.csdn.net/kingredfly/article/details/115190425?spm=1001.2014.3001.5501
绑定脚本如下:使用expect完成自动交互操作

#!/usr/bin/expect -f

sleep 300
set timeout 5
spawn telnet 192.168.1.1 23
expect "Login:"
send "root\r"
expect "assword:"
send "yinchangdexin123\r"
expect "WAP>"
send "su\r"
expect "SU_WAP>"
send "shell\r"
expect "Linux) #"
send "arp -s 192.168.1.100 e0:be:13:1f:29:e3\r"

send "exit\r"
expect "SU_WAP>"
send "quit\r"
expect "WAP>"
send "quit\r"
expect eof
exit

五、失败的路
家用光猫基本上跟一般的Linux有点像,其实,最初研究尝试了下想把路由器系统先备份再恢复,在备份的一些脚本中直接加上绑定关系,这样最完美。不想岔劈了给维修师傅找麻烦姑且这样,等能确定就行系统脚本更改的话继续更新

六、其他方案
整个逻辑原理基本明了,那么肯定是存在其他方案的。可以在局域网内安装一个设备(比如向日葵开机棒),然后获取到本地一个子网IP后OK,那么公网端注册一个账号,当账号下发开机指令,开机棒及时获取开机数据包,拉取到本地执行(本地广播数据包即可)。逻辑开启是这个样子的。理论上类似于开机帮的这个东东,可以实时获取注册账号发送的关机数据包(MAC即可)
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/138957.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • html遮罩层样式,遮罩层样式

    .shade{width:100%;height:100%;position:absolute;top:0px;left:0px;z-index:5000;background:#000;opacity:0.7;}要遮罩的内容中还有下拉框,不用iframe的话,盖不住下拉框。使用了宽和高都为100%的iframe后,用了后会导致背景色和文字颜色等失效。//隐藏sele…

    2022年4月13日
    123
  • matlab 计算变异系数,[转载]用Matlab编的计算结构可靠指标的改进一次二阶矩法程序(验算点法)…

    matlab 计算变异系数,[转载]用Matlab编的计算结构可靠指标的改进一次二阶矩法程序(验算点法)…题目:编制改进一次二阶矩法计算可靠指标的程序,并给出算例,要求提供源程序,算法语言不限。选取的算例为:z=g(x,y)=x*y-1140,其中x,y服从正态分布,μx=38,Vx=0.1,μy=38,Vy=0.05本程序采用Matlab编写。选取β1=3.0,β2=2.5计算结果为:可靠指标β=4.2672,最终验算点为:(22.8430,49.9060),在验算点处功能函数值为:1.2354e…

    2022年5月22日
    46
  • native2ascii插件配置

    native2ascii插件配置native2ascii 插件 org codehaus mojonative2a maven plugin1 0 beta 1UTF 8src main resources message dir rel outputDirect message dir rel propertiesna

    2025年10月29日
    4
  • qq群大数据可视化查询_QQ数据库

    qq群大数据可视化查询_QQ数据库2009年QQ群关系数据库可视化查询器优化推广获客神器十年老数据库最近很多人问这个QQ群关系数据库的事儿,拉出来聊一聊,顺带做了部分优化之前这个是被很多大神玩丢下来的东西,近几年手游市场的兴起,又成了手游市场的获客神器2012年之前封存的群关系数据,收录了将近8000万条群组信息,包含各种行业群,交友群,游戏群,手游推广的主要客户群体还是来源于游戏相关的群。简单讲,就是通过QQ群关系数据库,获取十年前的端游客户,从而转化为手游的消费者。为何要用这么

    2022年10月2日
    6
  • 分享下 PHP 使用 getID3 来获取音频、视频等媒体文件相关信息

    分享下 PHP 使用 getID3 来获取音频、视频等媒体文件相关信息

    2022年2月14日
    178
  • 递归函数[通俗易懂]

    递归函数[通俗易懂]如果一个函数在内部调用自身,这个函数就叫做递归函数递归函数的简单定义如下:这只是一个简单的定义,什么也做不了。当然,你可以尝试会发生什么结果,理论上会永远运行下去,但实际操作时发现不一会儿程序就

    2022年7月1日
    35

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号