亮一下我写的小垃圾脚本~ADSL多线自动更改NTH (再发 3.0)
本帖最后由 zooyo 于 2011-2-9 19:36 编辑本脚本集 ADSL 多线掉线后自动刷新IP~自动修改NTH值~默认网关线路出错后自动更换默认网关~默认网关更新同步更新DDNS 于一身~~
主要方便大家~~高手一笑而过就行了~小月~67088833
新版本在2.9.27下测试所有功能正常~~
3.X下未测试~~哪位兄弟测试过的请发布一下测试结果~~
3.Xand 2.9 小修改
#自动换IP的脚本
#带NTH修改功能,带自动修改默认网关功能 FOR 2.9.X and 3.0 V2.0
#默认路由必须手动添加~默认路由的说明必须为数字!默认路由必须添加main路由标记
#本版本脚本刚刚完成~未经测试~如有BUG请原谅~欢迎大虾们批评指正 小月QQ:67088833
#开启SRC反转的全局NAT反转标识必须为GetNat
#更多功能后期敬请等待 :global RosVer ""
:global NewIP ""
:global OldIP ""
:global Count ""
:global IsRun ""
:global IsNat ""
:global Runid ""
:global BakTag ""
:global RouTag ""
:global ConTag ""
:global AccTag ""
:global NatTag ""
:global IsSRou ""
:global IsDDNS ""
:global Icount ""
:global Mainid ""
:global Mainip ""
:global Status ""
:global Nthcon ""
:global IntName ""
:global MainKey ""
:global DDNSName ""
:global DDNSUser ""
:global DDNSPass ""
:global MainCache ""
:global IsDefGetWay ""
:global RuningCount ""
:global NewNthCache ""
:global OldNthCache ""
#修改路由版本 false 为 2.9.x true为3.x
:set RosVer true
#修改下方线路数量
:set Count 5
#修改下方接口名称
:set IntName "ADSL-"
#修改下方连接游标名称
:set ConTag "Con-"
#修改下方封包游标名称
:set BakTag "Rou-"
#修改下方静态IP名称
:set AccTag "ADSL-"
#修改下方NAT游标名称
:set NatTag "ADSL-"
#修改下方路由表名称
:set RouTag "ADSL-"
#是否为静态路由表
:set IsSRou true
#是否使用 SRCNAT 反转,使用MASQUERADED的朋友这里要设置false 要不会出错~!
:set IsNat true
#是否开启自动修改默认网关功能
:set IsDefGetWay true
#是否开启DDNS更新功能(不开启修改默认网关功能无效)
:set IsDDNS true
#动态域名
:set DDNSName "xiaoyue.changeip.com"
#用户名称
:set DDNSUser "sadking"
#用户密码
:set DDNSPass "********"
#以下设置不熟悉脚本者不要乱改动
:if ($RosVer) do={
:set Runid ("a","a")
:set Nthcon ","
:set Icount 1
} else={
:set Runid (a,a)
:set Nthcon ",1,"
:set Icount 0
}
:set MainKey false
:set RuningCount 0
:set Mainip gateway]
:set Mainid comment]
:for i from=1 to=$Countdo={
:set Status running]
:set IsRun disabled]
:if ($Status) do={
:set RuningCount ($RuningCount + 1)
:if ($RosVer) do={
:set Runid ($Runid + $i)
} else={
:set Runid ($Runid . $i)
}
:set NewIP address]
:set OldIP address]
:set NewIP [:pick $NewIP 0 [:find $NewIP "/"]]
:set OldIP [:pick $OldIP 0 [:find $OldIP "/"]]
:if ($NewIP != $OldIP) do={
/ip add set address=$NewIP network=$NewIP broadcast=$NewIP
:if (!$IsSRou) do={/ip rou set gateway=$NewIP}
:if ($IsNat) do={/ip fir nat set to-addresses=$NewIP}
}
:if ($IsRun) do={
/ip fir man set disabled=no
/ip fir man set disabled=no
:if ($IsNat) do={/ip fir nat set disabled=no}
:if (!$IsSRou) do={/ip rou set disabled=no}
:log info ( "第<" . $i . ">号网络线路故障恢复,分流开启!" . . " " . . "检测")
}
} else={
:if (!$IsRun) do={
/ip fir man set disabled=yes
#/ip fir man set nth=0,0,0
/ip fir man set disabled=yes
:if ($IsNat) do={/ip fir nat set disabled=yes}
:if (!$IsSRou) do={/ip rou set disabled=yes}
:log info ( "第<" . $i . ">号网络线路出现故障,分流关闭!" . . " " . . "检测")
}
}
}
:if (!$RosVer) do={:set RuningCount ($RuningCount - 1)}
:foreach i in=$Runid do={
:if ($i != "a") do={
:set OldNthCache nth]
:set NewNthCache ($RuningCount . $Nthcon . $Icount)
:if ($OldNthCache != $NewNthCache) do={
/ip fir man set nth=$NewNthCache
:log info ( "第<" . $i . ">号网络线路修改分流设置成功!" . . " " . . "检测")
}
:set Icount ($Icount + 1)
}
:if ($IsDefGetWay) do={
:if ($Mainid != $i) do={
:if ($MainKey != true) do={
:set MainKey false
}
} else={
:set MainKey true
}
}
}
:if ($IsDefGetWay) do={
:if (!$MainKey) do={
:set MainCache [:pick $Runid 2 3]
:if (!$IsSRou) do={
:set NewIP address]
:set NewIP [:pick $NewIP 0 [:find $NewIP "/"]]
} else={
:set NewIP network]
}
:if ($Mainip != $NewIP) do={
:log info ( "默认网关检测失败,默认网关转换成<" . $MainCache . ">号线路" . . " " . . "检测")
/ip rou set comment= $MainCache
/ip rou set gateway=$NewIP
:if ($IsNat) do={/ip fir nat set to-addresses=$NewIP}
:if ($IsDDNS) do={/tool dns-update name=$DDNSName address=$NewIP key-name=$DDNSUser key=$DDNSPass}
}
} else={
:set NewIP address]
:set NewIP [:pick $NewIP 0 [:find $NewIP "/"]]
:if ($Mainip != $NewIP) do={
/ip rou set comment= $Mainid
/ip rou set gateway=$NewIP
:if ($IsNat) do={/ip fir nat set to-addresses=$NewIP}
:if ($IsDDNS) do={/tool dns-update name=$DDNSName address=$NewIP key-name=$DDNSUser key=$DDNSPass}
}
}
}
2.9.x
3.x and 2.9.x
小修改
学习了 ddddddddddddddddd 学习... {:3_47:} {:3_53:} 学习... :') 顶一下!!!!! 看看 看看好用不,不知道能不能用在3.2呢? 学习学习! 学习了。。。 本帖最后由 WGHBOY 于 2010-5-13 16:57 编辑
;P太长了吧以上为4线nth脚本,3.x 顶一下!!!!!