公网远程开机(唤醒家庭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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 1024快乐

    1024快乐1024程序员节日快乐转载于:https://www.cnblogs.com/canmeng/p/9842898.html

    2022年6月24日
    30
  • Hibernate二级缓存提升性能(注解方式)

    Hibernate二级缓存提升性能(注解方式)合理的缓存应用可以极大地提高系统性能

    2022年5月10日
    30
  • 高德地图自定义样式「建议收藏」

    高德地图自定义样式「建议收藏」高德地图里带有几个可选的样式(https://lbs.amap.com/api/javascript-api/guide/map/map-style/),如下图:唯一一个比较贴合我们公司页面色系的就

    2022年8月6日
    18
  • windows文件读取 xxe_XXE漏洞「建议收藏」

    windows文件读取 xxe_XXE漏洞「建议收藏」0x00什么是XML1.定义XML用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素。2.文档结构XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素。]]]>DaveTom3.DTDXML文档结构包括XML声明、DTD文档类型定义(可选)…

    2022年5月10日
    41
  • vm安装ubuntu时一直没反应_虚拟机安装ubuntu系统要多久

    vm安装ubuntu时一直没反应_虚拟机安装ubuntu系统要多久这**加粗样式**里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好!这是你第一次使用Markdown编辑器所展示的欢迎页。如果你想学

    2022年9月30日
    0
  • JS对象转数组_js怎么把数组转成对象

    JS对象转数组_js怎么把数组转成对象arrFun(){letmeilihao={lufei:’船长’,suolong:’副船长’,namei:’航海士’,wusuopu:’狙击手’}letarr=Object.values(meilihao)letarr2=Object.keys(meilihao)console.log(arr,arr2)}打印结果:…

    2022年9月13日
    0

发表回复

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

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