yuanzhao 发表于 2007-4-9 13:05:27

如何用脚本获取端口映射的dst-address?

我这里用ADSL上网,通过TOUTEROS,做了个端口映射,动态IP设置端口映射不会,想每次IP变化的时候重新设置映射的 dst-address,现在写了个脚本都是无法执行,哪位大侠帮我看看如何做才正确,下面是我改的一个脚本,请纠正,谢谢
/system scheduler add name="DDNSPortMaps" on-event="portmaps" interval=30s
/system script add name="portmaps" source={
:global oldip[:pick address];
:global newip [:pick address] 0
[:find address] /]];
:if ($newip != $oldip) do={/ip firewall nat set 7 dst-address=$newip}};

lhn1324 发表于 2007-4-9 13:40:59

:global nowip address]
:if ([:typeof $oldip] = nil) do={:global oldip 0.0.0.0/0}
:if ($nowip != $oldip) do={
/ip firewall nat set dst-address=[:pick $nowip 0 [:find $nowip "/"]]
:set oldip $nowip
}

yuanzhao 发表于 2007-4-9 15:16:54

谢谢大侠,现在我的可以自动更新了,不过是所有的端口映射外网IP都同时更改了,再次感谢!!

yuanzhao 发表于 2007-4-9 15:26:49

谢谢lhn1324 (~木南~) !

还有一个问题想请教,我吧脚本设置了调度程序,显示有执行多少次,但是没有效果,直接执行该脚本能看到效果,如图

无奈,不知道从哪里发送附件,

yuanzhao 发表于 2007-4-9 15:30:56

调度程序
# software id = 5XER-5IT
#
/ system scheduler
add name="DDNS-port" on-event=port-map start-date=apr/09/2007 start-time=08:48:31 \
    interval=30s comment="" disabled=no

lhn1324 发表于 2007-4-9 15:44:39

scheduler里面的On-event值要跟脚本的名字对应(区分大小写)

yuanzhao 发表于 2007-4-9 16:28:05

是啊,太粗心了,就是因为名字不一样,谢谢!能不能留下您的QQ号码?谢谢!

页: [1]
查看完整版本: 如何用脚本获取端口映射的dst-address?