局域网内操作WOL唤醒很简单,通过软件就可以直接操作,windows、mac、iphone、Android都有对应的软件,很简单的设置就可以完成。
而广域网唤醒其实也不难,总的来说三个步骤,端口映射、MAC绑定,ARP绑定。很多人设置WOL唤醒不成功就是因为没有操作ARP绑定。
但是小米路由器开启WOL唤醒还是有点麻烦的,之前可以安装WOL唤醒插件,但现在插件已经失效。大多数路由器上都可以直接操作的ARP绑定,在小米路由器上却不能通过WEB界面操作,需要开启ssh操作,所以这里就讲一下小米路由器外网使用WOL唤醒的功能吧。
端口映射
这是第一步,也是最重要的一部,简单来说就是将外网的唤醒信号,能够准确找到待唤醒电脑,所以首先要有外网IP地址(电信宽带获取公网IP),然后开启DDNS功能,最后在路由器操作端口转发或者DMZ。这里可以将WOL软件的端口(一般为4505、9)设置转发到待唤醒电脑,或直接将待唤醒电脑设置为DMZ主机。
如果没有外网,做不了端口转发,那只能依靠硬件来完成唤醒了,比如说小米智能插座,然后设置电脑通电后自动开机;或者使用花生壳开机棒。
MAC绑定
第二步需要分配固定IP给对应的MAC电脑,这一步操作在小米路由器的DHCP静态IP分配页面进行操作的。将对应IP和待唤醒电脑的MAC码进行绑定。
ARP绑定
这一步比较麻烦,因为上面说了小米路由器不能直接像上面两步一样在WEB界面设置,需要开启ssh进行设置。但其他路由器如果可以设置,那么直接设置ARP绑定就可以了。
1、打开网址http://www1.miwifi.com/miwifi_open.html,点击“开启SSH工具”,登录路由器的绑定账号,会直接显示对应的路由器以及需要下载的工具包。然后按照步骤使用U盘进行操作。然后使用ssh工具和下载工具包时给出的root密码登录。
2、登录ssh后,开始绑定ARP。
打开并编辑文件 /etc/ethers ,这里强调一下,这是一个文件,而且是一个本身不存的文件,所以直接 vi /etc/ethers
就可以编辑了;进入编辑后,以待唤醒电脑的 IP+MAC 的格式,输入并保存
192.168.31.aa XX:XX:XX:XX:XX:XX
打开并编辑文件 /etc/rc.d/rc.local ,输入以下代码并保存
arp -f
最后,重启路由器,小米路由器的外网WOL唤醒就可以正常操作了。
PS:如果你的电脑用作服务器安装的是liunx系统,还不知道或者没开启WOL唤醒,可以参考这篇文章:linux系统查看网卡是否支持WOL网络唤醒并开启WOL唤醒功能
关于使用WOL唤醒,其实最主要的是Magic Packet数据包,和端口关系不大,网卡是根据收到的Magic Packet数据包来进行唤醒的,所以可以不使用一些程序或者app,直接使用php网页发送Magic Packet数据包来完成WOL,具体方法如下:PHP使用Magic Packet完成WOL唤醒
我IPV6,路由器做了arp静态绑定,DHCP静态IP-MAC绑定,但是感觉内网电脑UDP9收不到幻包。我测试了打开其他端口接收tcp类型,结果是通的,同样方法我尝试打开UDP:9,但是不行。*/5 * * * * ip6tables -L | grep “udp dpt:9”; [ $? != 0 ] && echo “add port” && ip6tables -I INPUT -p udp -m udp –dport 9 -j ACCEPT
@dreamer 内网 最主要的问题是如何穿透进来
默默问一句,我想小爱唤醒家里内网电脑,现在app可以唤醒,就差路由器一个python环境了,装不上啊
小米R1D路由器
@匿名 这个就真不知道了 可能不是所有路由器的配置 都支持安装python吧
试验了下不行,arp -f这个命令r3p自带的busybox arp不认
最后安装了entware后用net-tool-arp才支持这个语法。
@匿名 那可能是路由器的版本不一样
@匿名 编辑 /etc/rc.local在exit的上一行加入arp -s 192.168.31.XXX xx:xx:xx:xx:xx:xx就可以了。
我的都按照步骤弄了。没成功。端口映射 WOL UDP 9 192.168.31.168 9 设置对吗?
@彳亍 端口可以任意设置的,但是端口发送的数据包 是需要设置的 你可以看我这篇文章 https://blog.haitianhome.com/php-magic-packet-wol.html
主要是不清楚协议用tcp还是udp
@匿名 你是指wol吗?wol是UDP的协议
端口转发如何添加,我都按照你的来了。没成功。感觉像是端口转发设置有问题
@匿名 你是哪一款?端口转发可以直接在路由器web设置页面进行添加的,如果不行 你就直接添加DMZ主机
@haitian 这个搭建好后如何访问?
@匿名 路由器里有插件 3322或者花生壳 绑定个动态域名
[…] 然后在日常操作中,海天碰到的关于小米路由器添加迅雷远程下载,为了能够更高效的利用宽带,给小米路由器开启WOL外网唤醒的功能。 […]
我也的已root,也是显示找不到ect/ethers,显示如下:
root@XiaoQiang:~# /etc/ethers
-ash: /etc/ethers: not found
@匿名 文章里说了 /etc/ethers 是一个文件 不是文件夹
编辑的这个文件 应该是 vi /etc/ethers
我也更新一下文章
我设置完后发现端口映射失效了,并且重新设置点击保存并生效就一直卡在规则正在生效中,请等待…
@ZiLong Zhao 设置到哪一步?
@haitian 全部设置完毕
@ZiLong Zhao 那你在设置一遍端口映射呢 这三个步骤 不需要按顺序 只要都执行完就行了
用的winscp连接的路由器
@匿名 我没用过winscp 但查了下 winscp好像是sftp工具。但是 首先你得先开启开启SSH,然后windows下建议你可以试试PuTTYPuTTY,这个我之前用过 很经典的ssh连接工具
您说的这两个文件 我怎么找不到
/etc/ethers 这个目录找不到 新建吗
@匿名 这不是个目录 是个文件 直接编辑
怎么打开并编辑文件 /etc/ethers ?找不到相关说明,头大
@匿名 首先需要打开小米路由器的ssh登录的功能,这个在文章里有说明方法。
然后使用软件连接ssh登录后就可以编辑了。
其实小米路由器就是一个linux系统
@haitian ok,已经弄好了,谢谢,我想问一下,你是用的官方的哪个版本啊?我用的最新开发版,PPOE经常(678)错误,上不了网,换TPlink的就一点问题都没有,基本可以排除猫的问题了,小米路由器太烂了
@匿名 我用的也是最新的开发版 但好像没出现拨号错误 你换个网线试试呢
@匿名 输入命令vim /etc/ethers,按insert键之后进行编辑,编辑完了按Esc,然后输入:wq进行保存(注意输入英文符号的冒号)
@匿名 对 就是这样~