kzyfl 发表于 2011-12-17 23:10:37

哪位大侠还没休息呀,谁能把这两个脚本合并一下。

下边是把默认激活的外线接口IP自动填到ip fi nat comment="911"   dst-address里面


:global ddnsinterface interface]
:global ip [ /ip address get address ]
:global newip [:pick $ip 0 [:find $ip "/"]]
:global oldip dst-address]
:if ($newip != $oldip) do={ :log info dst-address=$newip]
:log info "Port nat web changed"
:log info $newip
}


下边是把默认激活的外线接口IP自动填到ip fi mangle comment="911"   dst-address里面

:global ddnsinterface interface]
:global ip [ /ip address get address ]
:global newip [:pick $ip 0 [:find $ip "/"]]
:global oldip dst-address]
:if ($newip != $oldip) do={ :log info dst-address=$newip]
:log info dst-address=$newip]
:log info "Port nat web changed"
:log info $newip
}

哪位大侠能把上面的脚本给合并简化一下,先谢谢了。

kzyfl 发表于 2011-12-17 23:14:38

不怕大家笑话,没上过学,普到问题只好一点一点的求助大家了。

host2318 发表于 2011-12-18 12:48:40

在3.30下第一行的interface可以用命令获取,但是这个命令,在5.X下行不通。
测试为5.7,直接: ":global ddnsinterface pppoe-out2"
:global ddnsinterface interface]
:global ip [ /ip address get address ]
:global newip [:pick $ip 0 [:find $ip "/"]]
:global oldip dst-address]
:if ($newip != $oldip) do={
:log info dst-address=$newip]
:log info dst-address=$newip]
:log info "Port nat web changed"
:log info $newip
}

kzyfl 发表于 2011-12-18 13:52:55

谢谢了,非常感谢。我测试一下,我的是3.30版的。

kzyfl 发表于 2011-12-18 14:14:07

host2318 发表于 2011-12-18 12:48 static/image/common/back.gif
在3.30下第一行的interface可以用命令获取,但是这个命令,在5.X下行不通。
测试为5.7,直接: ":global dd ...

非常好用,谢谢了。

kzyfl 发表于 2011-12-18 15:24:18

host2318 发表于 2011-12-18 12:48 static/image/common/back.gif
在3.30下第一行的interface可以用命令获取,但是这个命令,在5.X下行不通。
测试为5.7,直接: ":global dd ...

合并后的脚本还有个小毛病,不知道为啥。
上面的合并脚本目的是让(1)为激活的外线IP   和(2)为IP firewall natdst address的 IP和(3)为ip firewall mangle dst address的IP三个地址保持一样。
现在问题是,(1)的IP和(2)的dst address 的IP一样,执行合并后的脚本,(3)的dst address 的IP的不会自动变为一样。用合并前的两个脚本单独执行,没这个问题。我的是ROS 3.30版本。

host2318 发表于 2011-12-18 17:30:30

kzyfl 发表于 2011-12-18 15:24 static/image/common/back.gif
合并后的脚本还有个小毛病,不知道为啥。
上面的合并脚本目的是让(1)为激活的外线IP   和(2)为IP fi ...

检查一下。我这里测试,两个都变了。

kzyfl 发表于 2011-12-18 22:22:06

本帖最后由 kzyfl 于 2011-12-18 22:38 编辑

host2318 发表于 2011-12-18 17:30 static/image/common/back.gif
检查一下。我这里测试,两个都变了。

朋友,你试试把3的IPfn mangle dst address 随便改一下,其它1和2的IP不要动,运行脚本看看3会不会跟1和2的IP一样。把脚本拆开,不会有这种情况发生。

kzyfl 发表于 2011-12-18 22:53:38

本帖最后由 kzyfl 于 2011-12-18 22:59 编辑

终于合并好了。
:global ddnsinterface interface]
:global ip [ /ip address get address ]
:global newip [:pick $ip 0 [:find $ip "/"]]
:global oldip dst-address]
:log info dst-address=$newip]
:global oldip dst-address]
:log info dst-address=$newip]
:log info "Port nat web changed"
:log info $newip
}

kzyfl 发表于 2011-12-18 23:04:45

本帖最后由 kzyfl 于 2011-12-19 01:03 编辑

host2318 发表于 2011-12-18 12:48 static/image/common/back.gif
在3.30下第一行的interface可以用命令获取,但是这个命令,在5.X下行不通。
测试为5.7,直接: ":global dd ...

不知道咋回事,我把这句删了就正常了,:if ($newip != $oldip) do={
非常感谢楼上的host2318 朋友对我的支持,再次说声谢谢。
页: [1]
查看完整版本: 哪位大侠还没休息呀,谁能把这两个脚本合并一下。