RouterOS定期更新Oray/no-ip

Standard

利用脚本和定时任务,在RouterOS上可以很简单的完成这项工作,需要注意的是,如果RouterOS不是连接猫的路由器,可能接口IP是不能直接使用的,这里的示例脚本是通过访问ifconfig.co解析的公网ip。

Oray

{
local ipaddr
local server "http://ddns.oray.com"
local domain "域名"
local par "/ph/update\?&hostname=$domain&myip=$ipaddr"
local users "用户名"
local paswd "密码"
/tool fetch url="http://ifconfig.co/ip" dst-path=ip.txt
:set ipaddr [/file get ip.txt contents]
/tool fetch url=($server . $par) mode=http user=$users password=$paswd
}

no-ip

{
local ipaddr
local noipuser "用户名"
local noippass "密码"
local noipdomain "域名"
local url "http://dynupdate.no-ip.com/nic/update?hostname=$noipdomain&myip=$ipaddr"
/tool fetch url="http://ifconfig.co/ip" dst-path=ip2.txt
:set ipaddr [/file get ip2.txt contents]
/tool fetch url=$url mode=http user=$noipuser password=$noippass
}

配置定时执行

在On Event填入执行命令:

/system script run 脚本名称

参考配置

补充

如果直接通过RouterOS拨号获取公网ip,那么可以直接获取接口(注意自己的实际接口名称)的ip地址:

:set ipaddr [/ip address get [/ip address find interface=pppoe-out1] address]
:set ipaddr [:pick $ipaddr 0 ([len $ipaddr] -3)]

Netgear WNDR4300从DD-WRT固件恢复为官方固件

Standard

上次易迅的活动,入手了Netgear WNDR4300,貌似还不错的路由器,回来立马刷入dd-wrt,因为一直不能正常使用SSH,所以决定刷回官方固件,不能ssh对我来说就没什么吸引力了,可能是ddwrt固件的问题吧,等待以后更新了再刷回来。

从原厂固件刷到dd倒是非常的简单,直接从固件升级那里,刷入从DD-WRT下载的固件wndr4300-factory.img,下载地址ftp://ftp.dd-wrt.com/others/eko/BrainSlayer-V24-preSP2/2013/03-25-2013-r21061/netgear-wndr4300/  其中img是这种刷机固件,bin

是升级固件。大家都懂不多说,刷好以后先设置用户名和密码就是了。

但是从dd-wrt固件刷回官方固件就没那么方便了,网上找的方法是说用tftp2,启动路由器的tftp模式,但是“按reset按钮直到绿色灯一直的闪烁”这个状态我一直没成功过。下面说说我的方法,当然,首先下载官方的固件http://support.netgear.com.cn/Upfilepath/WNDR4300-V1.0.1.64PRRU.img  ,通过telnet连接到路由器并登陆,登陆用户名是root,密码是你设置的密码,前提是你在ddwrt中开启了telnet访问。

转到tmp目录:

root@DD-WRT:~# cd ..
root@DD-WRT:/tmp# pwd
/tmp

通过http把官方固件下载到路由器,这个你可以通过自己的电脑构建一个简单的web服务器。

root@DD-WRT:/tmp# wget http://192.168.1.125/4300.img
Connecting to 192.168.1.125 (192.168.1.125:80)
4300.img 100% |*******************************| 12544k 0:00:00 ETA

执行mtd -r write 4300.img linux,完成后会被断开telnet,这个时候路由器上的电源指示灯是绿色并闪烁,可以操作tftp2推固件过去刷新,完成后等待路由器重新启动即可。

root@DD-WRT:/tmp# mtd -r write 4300.img linux
Unlocking linux …
Writing from 4300.img to linux … [w]
root@DD-WRT:/tmp#

遗失对主机的连接。