每天进步一点点:远程唤醒(Wake On LAN) & 工具

之前说过我的Ubuntu主机(NUC7I5BNHL)断电后不自动上电的问题,并提出解决方法一个是BIOS中设置掉电后重启(Power on after power failure or Last state after power failure),另外一个就是设置WOL了。


(图源 :pixabay)

因为我要时常保持开机,所以用第一个方法超级简单,我也准备采用第一个方法。但是在这篇文章中来介绍一下第二个方法。

Wake-on-LAN (WoL)

Wake-on-LAN (WoL)简单地说就是通过发给网卡特定的网络消息,来唤醒指定的机器。有关WoL的介绍,可以参考如下WikiPedia页面,我就不做过多介绍了。

而WoL中所谓的特定的网络消息,一般而言,是指广播一个特定格式的数据包(Magic packet),这个包的负载部分包含6个字节的0xFF以及重复16次的目标网卡MAC地址

The magic packet is a broadcast frame containing anywhere within its payload 6 bytes of all 255 (FF FF FF FF FF FF in hexadecimal), followed by sixteen repetitions of the target computer’s 48-bit MAC address, for a total of 102 bytes.

好啦,扯远了,其实我需要的只是让我的NUC7I5BNHL可以被网络唤醒而已。

ethtool

首先,涉及一个ethtool,可以用这个判断对应网卡是否支持WoL以及当前状态,比如我的网卡

sudo ethtool eno1

显示如下状态(就是支持但是禁用)

然后在BIOS里启用一下就好了,其实如果你看BIOS,就会知道是否支持WoL啦,ethtool倒是多此一举啦。

BIOS设置

Intel NUC支持有线和无线LAN唤醒,我直接从INTEL的页面上拿俩图过来。

设置还是很简单的。

wakeonlan

如果你不想自己写程序去发魔力包(magic packet),那么最简单的办法就是使用wakeonlan啦。

如果你还没装wakeonlan,那可以使用如下命令安装。

sudo apt-get install wakeonlan

剩下的事情就简单咯,需要的时候直接往对应MAC发包就行了

wakeonlan xx:xx:xx:xx:xx:xx

获取MAC地址

获取MAC地址也很简单,直接去对应的机器上执行ifconfig就行了。然后把这个地址保存到脚本里,下次就可以用来远程唤醒机器喽。

也可以先在本地机器上ping一下目标机器,然后用arp就可以查看对应IP的MAC地址啦。

另外据说自己写程序发包也很简单,不过有现成的,就懒得折腾了:)

参考链接


This page is synchronized from the post: 每天进步一点点:远程唤醒(Wake On LAN) & 工具

稻子熟啦

跑几十公里外,去看大片金黄的稻田,感受一下丰收的喜悦。想不到,大片的稻田看起来这么美丽壮观啊,真是不虚此行!

不多说,直接上图:



This page is synchronized from the post: 稻子熟啦

停电暴露出来的问题

终于来电啦,难熬的一天终于过去了。我的Ubuntu主机也已经开机,EOS节点同步也已经完成,撵上了当前最新块。一切似乎都挺完美,然而我却发现这次停电暴露出两个严重的问题。

问题一

一个严重的问题是为了是电源线不是那么乱,我光纤猫、路由器、电力猫以及几个香蕉派M3用了上述的公牛魔方插座供电,一个小巧的电源搞定上述所有设备,平时用着觉得非常稳定和满意。

但是这次来电后,家里的电灯、冰箱啥的都启动起来,但是网络却迟迟没有响应,然后我才发现,所有网络设备都没上电,按了一下这个公牛魔方上的按钮,这些设备才启动起来。

特意回头查了一下产品介绍页面,发现这么一句,我晕😵

问题二

我的Ubuntu机器用的是英特尔NUC7I5BNHL,小巧省电低噪音又性能强悍,已经连续两个多月没间断运行,表现完美。

但是今天来电后它还保持关机状态,好吧,这是正常的状态,需要我手动按一下电源按钮。

问题所在

好吧,上述两个问题看起来都不是问题,毕竟这样更安全,况且都是我手按一下就能解决的问题,那我为啥还要拿出来说说呢。问题在于如果我不在家的时候发生了临时断电又恢复供电,那么上述两个问题就很严重了。

之前我可能提过我用DDNS以及NAT实现远程访问家里网络的功能,也就是说我在世界各地都可以访问我家里的网络设备,这对我而言非常有用。

但是因为上述两个问题,第一个问题导致网络设备都没供电,这啥都白扯了,根本没法远程访问了。第二个问题导致我的Ubuntu机器不自动开启,这台机器我也就没法控制了。

问题的解决

不过解决这两个问题也很简单,第一个问题换普通插排就可以解决,第二个问题在BIOS中设置断电后重启或者设置一下WOL就可以啦。但是要是没有这次停电事件,我还注意不到这两个问题呢。

(图片来自京东对应商品页面截图)


This page is synchronized from the post: 停电暴露出来的问题

契约精神呢?

昨晚的帖子说到物业管家通知今天白天(7:30-18:00)家里停电,为了避免我的EOS节点因为突然断电导致dirty flag,设置了闹铃6点多早早起床主动停掉节点。


(图源 :pixabay)

因为距离7:30还早得很,所以我一点也不着急。悠哉悠哉关闭节点,然后把手机放到无线充电器上准备让它吃饱。接下来打算彻底shutdown 那台ubuntu机器的电源,然后坐等停电了。

结果还没等我shutdown命令发出去,突然电脑显示器以及电灯什么统统都灭掉了!!等等,这还没到7:00呢?说好的7点半停电呢!!

邻居群里也骂声一片,有的朋友开车出来,车库门打开后就再也关不上了,费了半天劲人工拽了下来,却留了一个一尺来高的缝隙,她戏言,家里的车库又要变成猫猫乐园了。

这电业局也忒不讲究点了,一点契约精神也没有。哪怕你告诉大家5:00停电也好啊,至少让大家有所准备,通知7:30,结果不到7:00就停,我也想和大家一起骂他们!

刘美女@deanliu 建议我弄个UPS,话说感觉UPS是上个世纪的东西呢?不过查了一下,别说还真有卖的,不过这价格让人望而却步啊,便宜的也要200多呢,好贵呀。


(图源 :pexels.com)

好想自己建个发电站,那样就不怕停电了。


This page is synchronized from the post: 契约精神呢?

停电

物业的管家发来通知,什么为了保障居民用户的用电可靠性和用电质量,电业局计划于2018年10月19日对欧亚变什么乙环网单元进行停电检修、配网自动化改造工作等等。


(图源 :pexels.com)

简单来讲,就是要:停电 😰😰😰 而且看通知说是要停十多个小时😭😭😭

记不清楚上次停电是多久以前的事情了,但是一想到没法用电脑、没法用网络、没法开灯、也没法看电视就觉得简直就像鱼儿离开了水一样难受。

好吧,其实最难受的还不是这些,大不了我出去玩或者去朋友那蹭网。

最严重的是,我在本地的一台电脑上跑着个EOS程序,虽然它没啥用,但是一旦因为断电故障停掉,它就会设置这个dirty flag,然后就只好hard replay,想想就头大。

为了避免这个问题,我决定明早在停电之前,先主动把EOS程序停掉,等确定来电并稳定之后再开启吧。现在闹铃已经设置完毕,就等明早早早起床关机啦。


(图源 :pexels.com)

但愿这样的停电少些发生吧,否则还真挺愁人的。


This page is synchronized from the post: 停电

cPanel/WHM使用default/catch-all设置生成无限多邮件地址

看到最近好多和投票相关的帖子,突然想到如何生成无限多邮件地址的问题。其实cPanel/WHM主机中就有这个功能,简单来讲,就是对一个域名而言,发到任意前缀的邮件,都会转发到指定的地址


(图源 :pexels.com)

WHM全局设置

在WHM如下设置中:

Home »Server Configuration »Tweak Settings

有一项Initial default/catch-all forwarder destination

其中默认账户就是cPanel的主账户,Fail就是返回失败信息,Blackhole就是默默丢弃信息。

虽然通过此处将default/catch-all设置为System account可以实现无限多地址的目的,但是有诸多弊端,弊端之一就是这个是全局设置,所有用户都设置了开启default/catch-all,这会导致大量的垃圾邮件投递到用户主信箱中;其二就是这个没法指定信箱。

在cPanel中设置

另外一种方法就是在用户的cPanel中设置。但是为了安全,一般不允许用户进行此项操作,所以这个功能一般是被屏蔽的(用户在cPanel中看不到)

开启这项功能很简单:

  • 在Feature Manager的disabled列表中取消对Default Address的选择。
  • 添加新的Feature list,并在其中挑选Default Address
  • 添加一个新的Package(Add a Package)使用新的Feature list
  • 将对应账户的Package改成新的Package

再登陆cPanel,我们就可以看到多出来Default Address设置选项了

剩下的事情就简单了,按提示操作即可

高级功能

除了转发到对应地址以外,还可以将邮件转发给指定程序(比如说让程序去自动处理/点击邮件中的链接等等😀)

其它

除了cPanel/WHM,其它面板或者程序应该都可以实现类似功能,不过我也不懂,就不多说啦。

另外本文仅探讨对于拥有自己域名以及空间的用户,生成无限多对外邮件地址的可行性,不建议大家用这样的手段去干坏事哦。😀


This page is synchronized from the post: cPanel/WHM使用default/catch-all设置生成无限多邮件地址

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×