找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 14826|回复: 20

[脚本] 放几个常用的脚本,需要的进来转转

  [复制链接]
发表于 2010-11-25 09:50:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
本帖最后由 XCV123321 于 2010-11-27 12:56 编辑

1. Ddns(动态域名自动更新) + Nat(动态adsl nat ip端口映射更新) + 掉线检测报警 3合1

源代码
  1. :global psc;
  2.      /interface pppoe-client
  3.      :foreach pc in=[find] do={
  4.      :local pcs [get $pc disable]
  5.      :local pcn [get $pc name]
  6.      :if ($pcs=false) do={
  7.      monitor $pcn once do={
  8.                       :if ($status="connected") do={
  9.                       :local psc [/ip ad get [/ip ad fi interface=$pcn dynamic=yes] ad];
  10.                       :set psc [:pick $psc 0 [:find $psc "/"]];
  11.               :local nIp "x.changeip.net";
  12.                       :if ($psc!=[:resolve $nIp]) do={/tool dns-update name=$nIp address=127.0.0.255 key-name=x key=x} else={
  13.                       :foreach olp in=[/ip fi na fi to-addresses="192.168.x.x"] do={
  14.               :if ($psc!=[/ip fi na get $olp dst-address]) do={/ip fi nat set $olp dst-address=$psc}}}
  15.           } else={:for i from=1 to=3 step=1 do={:beep length=100ms frequency=1926;:delay 100ms}
  16.           :log wa "adsl drop,line fault detection"}}}}
复制代码
路由环境 3.x 版 单线adsl             多线的下边15楼
routeros
 楼主| 发表于 2010-11-25 10:14:57 | 显示全部楼层
本帖最后由 XCV123321 于 2010-11-28 13:35 编辑

2 小包策略
  1. / ip firewall mangle
  2. add chain=forward protocol=tcp tcp-flags=syn action=change-mss new-mss=1440 comment="" disabled=no
  3. aad chain=forward action=mark-packet connection-mark=p2p_conn disabled=no new-packet-mark=p2p passthrough=yes
  4. add chain=forward connection-mark=p2p_conn action=mark-packet new-packet-mark=p2p passthrough=yes comment="" disabled=no
  5. add chain=forward connection-mark=!p2p_conn action=mark-packet new-packet-mark=general passthrough=yes comment="" disabled=no
  6. add chain=forward packet-size=32-512 action=mark-packet new-packet-mark=small passthrough=yes comment="" disabled=no
  7. add chain=forward packet-size=512-1200 action=mark-packet new-packet-mark=big passthrough=yes comment="" disabled=no
复制代码
  1. /queue tree
  2. add name="p2p1" parent=adsl packet-mark=p2p limit-at=300000 queue=default priority=8 max-limit=800000 burst-limit=0 burst-threshold=0 burst-time=0s disabled=no
  3. add name="p2p2" parent=lan packet-mark=p2p limit-at=300000 queue=default priority=8 max-limit=600000 burst-limit=0 burst-threshold=0 burst-time=0s disabled=no
  4. add name="ClassA" parent=lan packet-mark="" limit-at=0 queue=default priority=8 max-limit=100000000 burst-limit=0 burst-threshold=0 burst-time=0s disabled=no
  5. add name="ClassB" parent=ClassA packet-mark="" limit-at=0 queue=default priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s disabled=no
  6. add name="Leaf1" parent=ClassA packet-mark=general limit-at=0 queue=default priority=7 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s disabled=no
  7. add name="Leaf2" parent=ClassB packet-mark=small limit-at=0 queue=default priority=5 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s disabled=no
  8. add name="Leaf3" parent=ClassB packet-mark=big limit-at=0 queue=default priority=6 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s disabled=no
复制代码
发的不全

板凳 ,哼哼

3 adsl动态端口更新&Dynamicdns,这个发3种版本的

No1 4.x adsl动态端口更新&Dynamicdns(changeip)
  1. :global poe pppoe-out1;
  2. :global psc;
  3. :global prc;
  4. /interface pppoe-client monitor $poe once do={
  5. :if ($status="connected") do={
  6.     :foreach wIp in=[/ip ro find] do={
  7.         :set psc [/ip ro get $wIp va=pref-src];
  8.             :local pec ($psc . $pec);
  9.             :set prc $pec
  10. }
  11.         :local pxc "大哥,这里是你的域名";
  12. :local pcb [:len [:find $psc [:resolve $pxc]]];
  13. ss=127.0.0.255 key-name=大锅,这里填你的用户名 key=密码} else={
  14.         :local olp [/ip fir nat get va=dst-address num=*2];
  15.         :local nIp [:resolve $pxc];
  16.         :if ($nIp!=$olp)  do={
  17.                 /ip fir nat set num=*2 dst-address=$nIp;
  18.                 /ip fir nat set num=*3 dst-address=$nIp}}}}}
复制代码
4.x,  bug定制版 (加了智能补全,取消了参数传递,  汗 ...) 机器正常的看下边

No2 3.x adsl动态端口更新&Dynamicdns
  1. :global psc;
  2. :global poe pppoe-out1;
  3. /interface pppoe-client monitor $poe once do={
  4. :if ($status="connected") do={
  5.         :local psc [/ip ad get [/ip ad fi interface=$poe dynamic=yes] ad];
  6.         :set psc [:pick $psc 0 [:find $psc "/"]];
  7.         :local nIp "域名";
  8.         :if ($psc!=[:resolve $nIp]) do={/tool dns-update name=$nIp address=127.0.0.255 key-name=用户名 key=密码} else={
  9.         :local olp [/ip fi na get [/ip fi na fi comment="注释"] dst-address];
  10.         :if ($psc!=$olp)  do={
  11.         /ip fi nat set [/ip fi na fi dst-address="$olp"] dst-address=$psc}}}}
复制代码
3.x版 adsl单线

No3 3.x adsl动态端口更新&Dynamicdns
  1. :global psc;
  2. :global poe pppoe-out1;
  3. /interface pppoe-client monitor $poe once do={
  4. :if ($status="connected") do={
  5.         :local psc [/ip ad get [/ip ad fi interface=$poe dynamic=yes] ad];
  6.         :set psc [:pick $psc 0 [:find $psc "/"]];
  7.         :local nIp "域名";
  8.         :if ($psc!=[:resolve $nIp]) do={/tool dns-update name=$nIp address=127.0.0.255 key-name=用户 key=密码} else={
  9.         :foreach olp in=[/ip fi na fi to-addresses="192.168.这里.写你要映射的内网ip地址"] do={
  10.         :if ($psc!=[/ip fi na get $olp dst-address])  do={
  11.         /ip fi nat set $olp dst-address=$psc}}}}}
复制代码
3.x版 adsl单线
routeros
回复

使用道具 举报

发表于 2010-11-25 10:25:36 | 显示全部楼层
呵呵 自动更新不错!
routeros
回复

使用道具 举报

 楼主| 发表于 2010-11-25 10:38:44 | 显示全部楼层
本帖最后由 XCV123321 于 2010-11-26 15:02 编辑

4 自动列出并动态更新所有xxx的服务器的全部ip地址


根据服务器的域名后缀做关键词判断
从DNS的cache中筛出路由地址缓存的所有的对应A记录的ip地址,比较处理后直接丢掉address-list的地址池里

这个比较敏感,不直接发了 放到附件里,看懂看不懂的,想要的拿铜板来换

这个放出3种写法,思路一样,但处理的手法不太一样的哦 ,看了才知道

No 1  . 2    3                                                
1.rar (1.08 KB, 下载次数: 2, 售价: 1 铜板)           2.rar (1.07 KB, 下载次数: 2, 售价: 1 铜板)          


上边的2种写法都支持一次同时定义多条域名关键字进行处理,至于运行间隔时间和一次同时最大定义的域名数量 由你路由的小U决定,下边的免(含2种写法)费, 看来大家对免费的东西比较  哈哈

No3.rar

21.67 KB, 下载次数: 20

免费

routeros
回复

使用道具 举报

 楼主| 发表于 2010-11-25 10:58:34 | 显示全部楼层
本帖最后由 XCV123321 于 2010-11-29 20:25 编辑

目前用的快扫操作 ,比上边的脚本复杂点 哈哈
简单讲下效果  自动更新,但不够智能,  准确,但不精确,可随时动态更新ip地址
操作分为 “+” 和 “-",还有防火墙规则的 “+” 加速控制代码, “-"时微调控制用到的防火墙处理规则,
脚本分为schedulerr部分,firewall filte加速和微调处理的操作,这里不会发的, 发出来会下边有人骂的
routeros
回复

使用道具 举报

 楼主| 发表于 2010-11-25 11:23:50 | 显示全部楼层
本帖最后由 XCV123321 于 2010-11-26 15:03 编辑

5  国外流传的关于ssh的防火墙规则
  1. ---------------------------------------------------------------
  2. prevent a SSH brute forcer to be banned for 10 days after repetitive attempts. Change the timeouts as necessary.

  3. /ip firewall filter
  4. add chain=input protocol=tcp dst-port=22 src-address-list=ssh_blacklist action=drop \
  5. comment="drop ssh brute forcers" disabled=no
  6. add chain=input protocol=tcp dst-port=22 connection-state=new \
  7. src-address-list=ssh_stage3 action=add-src-to-address-list address-list=ssh_blacklist \
  8. address-list-timeout=10d comment="" disabled=no
  9. add chain=input protocol=tcp dst-port=22 connection-state=new \
  10. src-address-list=ssh_stage2 action=add-src-to-address-list address-list=ssh_stage3 \
  11. address-list-timeout=1m comment="" disabled=no
  12. add chain=input protocol=tcp dst-port=22 connection-state=new src-address-list=ssh_stage1 \
  13. action=add-src-to-address-list address-list=ssh_stage2 address-list-timeout=1m comment="" disabled=no
  14. add chain=input protocol=tcp dst-port=22 connection-state=new action=add-src-to-address-list \
  15. address-list=ssh_stage1 address-list-timeout=1m comment="" disabled=no

  16. -----------------------
  17. With this rule you can know who is this trying to login. Put it in previous to the others.
  18. Code:
  19. /ip firewall filter add chain=input protocol=tcp dst-port=20-23 action=add-src-to-address-list address-list=trying_to_login address-list-timeout=1d comment="remote_logins" disabled=no
复制代码
routeros
回复

使用道具 举报

发表于 2010-11-25 11:23:54 | 显示全部楼层
额,眼熟啊掉线脚本不是我写的吗?
routeros
回复

使用道具 举报

 楼主| 发表于 2010-11-25 11:28:34 | 显示全部楼层
本帖最后由 XCV123321 于 2010-11-26 15:03 编辑

6  关于原创的一点感想

正想谈谈这个问题  哈哈

Ros的脚本 都是网上流传的

大家传来传去 其实炒得不过是一锅剩饭 罢了


回复 8 楼

前辈   幸会!网上飘了这么久,这里终于见了一个说发过脚本的真人了  哈哈  

Ros的掉线脚本 网上至少流传了3个不同的版本  看的很眼熟麽 ,不知道楼上的前辈是哪一版的作者呢? but 这3种脚本掉线放到我的路由上,只有1个有时可以运行出效果,最后用到时候还是需要小小的改一下 哈哈
routeros
回复

使用道具 举报

 楼主| 发表于 2010-11-25 12:01:37 | 显示全部楼层
本帖最后由 XCV123321 于 2010-11-29 20:29 编辑

其实 这种底层的脚本大家写来写去,思路和写法都差不多,大概框架都基本相同,不会在说写出什么来,这里借用了网上流传的脚本的原始框架,觉得不好用,进行再次处理,原始的变量名也懒得去改了,哎呀 有人发过了 ,2楼删掉   还有那楼有问题 楼下继续 哈哈


这里表示支持原创 尊重版权 哈哈

routeros
回复

使用道具 举报

发表于 2010-11-25 12:03:36 | 显示全部楼层
本帖最后由 47771885 于 2010-11-25 13:01 编辑

  都差不多的 哈哈 过几天也发点玩意

x2010.10.3023h45m24s02.jpg
routeros
回复

使用道具 举报

发表于 2010-11-25 12:33:20 | 显示全部楼层
3X以上还用脚本老土
routeros
回复

使用道具 举报

发表于 2010-11-25 12:59:14 | 显示全部楼层
3X以上就不用脚本儿了?~那怎么计划任务啊...真想不明白
routeros
回复

使用道具 举报

发表于 2010-11-25 14:24:43 | 显示全部楼层
routeros
回复

使用道具 举报

发表于 2010-11-26 10:58:22 | 显示全部楼层
多线的是不是一样的呢?
routeros
回复

使用道具 举报

 楼主| 发表于 2010-11-26 15:49:26 | 显示全部楼层
本帖最后由 XCV123321 于 2010-12-1 17:38 编辑

回复10楼

你发的小东东是3.x 还是2.x的  看起来挺强悍的 哈哈


回复14楼

兄弟 油钱淫,哈哈 分流叠加负载?

1 . 3 是单线adsl的环境,在多线下要改  不过 ,1拆掉了DDNS 和 Nat端口映射 可以作为掉线自动检测报警运行在多线环境下,当初好像就是这么设计的 至于别的几个没有这个限制 哈哈

另外楼上说的多线是 固定ip? pppoe-c?多级?单臂?VPN?借线?


adsl 多线 Ddns+Nat动态ip映射+自动检测报警3合1

双线.rar

17.47 KB, 下载次数: 13

3# 双线下用的

多线.rar

506 Bytes, 下载次数: 14

3.x

routeros
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|软路由 ( 渝ICP备15001194号-1|渝公网安备 50011602500124号 )

GMT+8, 2024-11-22 10:36 , Processed in 0.167945 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表