求多线ip自动更新到nat脚本
本帖最后由 solaoxo 于 2013-9-29 21:22 编辑如题,不要是每执行一次ip还没有变化的情况下就更新了to addresses,我自己有一个单线更新的脚本,一线的时候就是ip变化了才更新到to addresses,没变化是不会更新的,用了两个一样的脚本用双线的时候就变成每执行一次更新一次了,感觉这个很不稳定,老是在修改配置了 :local curaddress
:local newaddress
:local status
:local x
:set x 3
:for i from=1 to=$x do={
:set status running]
:if ($status=true) do={
:set newaddress address ]
:set newaddress [:pick $newaddress 0 [:find $newaddress "/"]]
:set curaddress [ /ip firewall nat get to-addresses ]
:if ($curaddress != $newaddress) do={
/ip firewall nat set [ /ip firewall nat find comment=("ADSL" . $i) ] to-addresses=$newaddress
:log info ("Change ADSL" . $i . " NAT IP" )
}
}
}
这是3线的,自己更改参数。 同求,刚好也遇到这个问题? 没听懂什么意思啊。。有图吗? :local nyr
:local yy ([:find jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec [:pick $nyr 0 3]]+1)
:if ($yy<10) do={:set yy (0 . $yy)}
:set nyr ([:pick $nyr 7 11] . $yy . [:pick $nyr 4 6])
:local curip
:local newip
:local status
:local x1
#设定线路,默认2线
:set x1 3
:for i from=1 to=$x1 do={
:set status running]
:if ($status=true) do={
:set newip address ]
:set newip [:pick $newip 0 [:find $newip "/"]]
:set curip [ /ip firewall nat get to-addresses ]
:if ($curip != $newip) do={
/ip firewall nat set [ /ip firewall nat find comment=("NAT-" . $i) ] to-addresses=$newip
:log error ("保存新IP成功")
}
}
} 上面两个脚本原理好像都是一样的,是不是通过对比ip,ip不同才更新的,还是没对比就直接更新过去 是通过对比ip,ip才更新,本人在用 touhgen 发表于 2013-9-30 21:52
是通过对比ip,ip才更新,本人在用
:local nyr
:local yy ([:find jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec [:pick $nyr 0 3]]+1)
:if ($yy<10) do={:set yy (0 . $yy)}
:set nyr ([:pick $nyr 7 11] . $yy . [:pick $nyr 4 6])
这段是什么意思的 solaoxo 发表于 2013-9-30 22:11
:local nyr
:local yy ([:find jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov ...
###获取当前系统日期
###取当前日期的月份
###检测月份数字少于10
###重设日期数字为双尾数 比如1设置为01
楼上的不知道复制谁的脚本搞些没用的东西上去 huigezi' 发表于 2013-9-30 23:02
###获取当前系统日期
###取当前日期的月份
###检测月份数字少于10
谢谢了,长知识了
页:
[1]