XCV123321 发表于 2010-11-25 09:50:20

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

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

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

源代码:global psc;
   /interface pppoe-client
   :foreach pc in= do={
   :local pcs
   :local pcn
   :if ($pcs=false) do={
   monitor $pcn once do={
                      :if ($status="connected") do={
                      :local psc ad];
                      :set psc [:pick $psc 0 [:find $psc "/"]];
            :local nIp "x.changeip.net";
                      :if ($psc!=[:resolve $nIp]) do={/tool dns-update name=$nIp address=127.0.0.255 key-name=x key=x} else={
                      :foreach olp in= do={
            :if ($psc!=) do={/ip fi nat set $olp dst-address=$psc}}}
          } else={:for i from=1 to=3 step=1 do={:beep length=100ms frequency=1926;:delay 100ms}
          :log wa "adsl drop,line fault detection"}}}}路由环境 3.x 版 单线adsl             多线的下边15楼

XCV123321 发表于 2010-11-25 10:14:57

本帖最后由 XCV123321 于 2010-11-28 13:35 编辑

2 小包策略/ ip firewall mangle
add chain=forward protocol=tcp tcp-flags=syn action=change-mss new-mss=1440 comment="" disabled=no
aad chain=forward action=mark-packet connection-mark=p2p_conn disabled=no new-packet-mark=p2p passthrough=yes
add chain=forward connection-mark=p2p_conn action=mark-packet new-packet-mark=p2p passthrough=yes comment="" disabled=no
add chain=forward connection-mark=!p2p_conn action=mark-packet new-packet-mark=general passthrough=yes comment="" disabled=no
add chain=forward packet-size=32-512 action=mark-packet new-packet-mark=small passthrough=yes comment="" disabled=no
add chain=forward packet-size=512-1200 action=mark-packet new-packet-mark=big passthrough=yes comment="" disabled=no/queue tree
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
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
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
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
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
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
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):global poe pppoe-out1;
:global psc;
:global prc;
/interface pppoe-client monitor $poe once do={
:if ($status="connected") do={
    :foreach wIp in= do={
      :set psc ;
            :local pec ($psc . $pec);
            :set prc $pec
}
      :local pxc "大哥,这里是你的域名";
:local pcb [:len [:find $psc [:resolve $pxc]]];
ss=127.0.0.255 key-name=大锅,这里填你的用户名 key=密码} else={
      :local olp ;
      :local nIp [:resolve $pxc];
      :if ($nIp!=$olp)do={
                /ip fir nat set num=*2 dst-address=$nIp;
                /ip fir nat set num=*3 dst-address=$nIp}}}}}4.x,bug定制版 (加了智能补全,取消了参数传递,汗 ...) 机器正常的看下边

No2 3.x adsl动态端口更新&Dynamicdns:global psc;
:global poe pppoe-out1;
/interface pppoe-client monitor $poe once do={
:if ($status="connected") do={
      :local psc ad];
      :set psc [:pick $psc 0 [:find $psc "/"]];
      :local nIp "域名";
      :if ($psc!=[:resolve $nIp]) do={/tool dns-update name=$nIp address=127.0.0.255 key-name=用户名 key=密码} else={
      :local olp dst-address];
      :if ($psc!=$olp)do={
      /ip fi nat set dst-address=$psc}}}}3.x版 adsl单线

No3 3.x adsl动态端口更新&Dynamicdns:global psc;
:global poe pppoe-out1;
/interface pppoe-client monitor $poe once do={
:if ($status="connected") do={
      :local psc ad];
      :set psc [:pick $psc 0 [:find $psc "/"]];
      :local nIp "域名";
      :if ($psc!=[:resolve $nIp]) do={/tool dns-update name=$nIp address=127.0.0.255 key-name=用户 key=密码} else={
      :foreach olp in= do={
      :if ($psc!=)do={
      /ip fi nat set $olp dst-address=$psc}}}}}3.x版 adsl单线

2592621 发表于 2010-11-25 10:25:36

:)呵呵 自动更新不错!

XCV123321 发表于 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                                                
                  


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

XCV123321 发表于 2010-11-25 10:58:34

本帖最后由 XCV123321 于 2010-11-29 20:25 编辑

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

XCV123321 发表于 2010-11-25 11:23:50

本帖最后由 XCV123321 于 2010-11-26 15:03 编辑

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

/ip firewall filter
add chain=input protocol=tcp dst-port=22 src-address-list=ssh_blacklist action=drop \
comment="drop ssh brute forcers" disabled=no
add chain=input protocol=tcp dst-port=22 connection-state=new \
src-address-list=ssh_stage3 action=add-src-to-address-list address-list=ssh_blacklist \
address-list-timeout=10d comment="" disabled=no
add chain=input protocol=tcp dst-port=22 connection-state=new \
src-address-list=ssh_stage2 action=add-src-to-address-list address-list=ssh_stage3 \
address-list-timeout=1m comment="" disabled=no
add chain=input protocol=tcp dst-port=22 connection-state=new src-address-list=ssh_stage1 \
action=add-src-to-address-list address-list=ssh_stage2 address-list-timeout=1m comment="" disabled=no
add chain=input protocol=tcp dst-port=22 connection-state=new action=add-src-to-address-list \
address-list=ssh_stage1 address-list-timeout=1m comment="" disabled=no

-----------------------
With this rule you can know who is this trying to login. Put it in previous to the others.
Code:
/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

zooyo 发表于 2010-11-25 11:23:54

额,眼熟啊掉线脚本不是我写的吗?

XCV123321 发表于 2010-11-25 11:28:34

本帖最后由 XCV123321 于 2010-11-26 15:03 编辑

6关于原创的一点感想

正想谈谈这个问题哈哈

Ros的脚本 都是网上流传的

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


回复 8 楼

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

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

XCV123321 发表于 2010-11-25 12:01:37

本帖最后由 XCV123321 于 2010-11-29 20:29 编辑

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


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

47771885 发表于 2010-11-25 12:03:36

本帖最后由 47771885 于 2010-11-25 13:01 编辑

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

qwert1388 发表于 2010-11-25 12:33:20

3X以上还用脚本老土

danny521 发表于 2010-11-25 12:59:14

3X以上就不用脚本儿了?~那怎么计划任务啊...真想不明白

广东林001 发表于 2010-11-25 14:24:43

:lol

lrdilu 发表于 2010-11-26 10:58:22

多线的是不是一样的呢?

XCV123321 发表于 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
页: [1] 2
查看完整版本: 放几个常用的脚本,需要的进来转转