为什么要写? 然而就是这级别系统,官方固件居然没有ARP绑定设置,梅林固件也没有,连几十块TP都有的东西。
为什么要ARP绑定呢?因为不绑定你没办法外网远程唤醒家里的NAS。
不废话了,讲重点。
ARP绑定和静态DHCP分IP是两回事。
看了不少帖子有不少人把ARP和静态DHCP混为一谈,不管技术上有什么区别,我自己多次试验证明仅仅分配静态IP地址就的不行。。。
用官方固件还是不行,并不清楚如何给官方固件添加启动脚本,所以我用的是梅林。
用telnet命令登入路由器,之后输入
arp -s 192.168.xxx.xxx AA:AA:AA:AA:AA:AA
这样其实就完成了绑定,但是如果路由重启需要再次输入绑定。家里如果停电一次…NAS关机却又没法远程开机就醉了,所以重点是每次路由一开机就让他跑一次上面这行代码。
所以必须通过设定绑定好ARP。
- 固件为梅林
- 系统管理>系统设置里,Enable JFFS custom scripts and configs为开启
- 其他中的启动 Telnet开启
似乎旧一些的梅林固件会有一个Enable JFFS partition选项,新的已经没有了,默认就是开启了
第一个选项Format JFFS partition at next boot可不要傻乎乎的勾上了。。下次开机重置JFFS文件夹,那就白做了。。(我第一次就犯了这种错误
打开CMD(windows7可能需要开启telnet功能,在程序和功能里。苹果用终端一样的)
telnet 192.168.X.X
之后敲路由的用户和密码就可以连上开始下一个步骤了
cd /jffs/scripts/
vi services-start
跳转目录及打开VI文本编辑器。
VI不会用可以找WinSCP这种图形化的软件,也是一样找到这个目录,新建一个名为services-start不用带后缀的文本文件。
进入VI编辑后先按一下insert键才能进入输入模式,苹果机的终端下是按Fn+enter
#!/bin/sh
arp -s 192.168.X.X AA:AA:AA:AA:AA:AA
exit 0
这样就写好了脚本内容,IP和MAC物理地址不要出错,之后按ESC退出输入模式,再按一下shift+;,输入wq回车
文本就保存并退出编辑器了。
chmod a+rx /jffs/scripts/*
给脚本文件赋权限,防止万一还是做了吧。
到这为止就万事OK了,可以输入cat /jffs/scripts/services-start来查看脚本的内容。
现在重启路由,脚本就会载入。
验证ARP绑定无误
也非常简单,上面步骤做完以后,重启一下路由器,还是登入telnet,直接输入
arp
返回的结果如果有PERM则是ARP绑定上了。你应该可以通过域名从互联网开机了。