Routeros ROS 定时分时段封禁网站

该脚本实现了MikroTik RouterOS 分时段封禁 封闭 禁止特定网站访问,提供一个思路,如法炮制即可。

 

# jun/11/2013 17:27:05 by RouterOS 5.20
#  www.iamle.com wwek
#  qq 121901634
# time kill web

/ip firewall filter
add action=drop chain=forward comment="kill web" disabled=no packet-mark=\
    "Kill Web mark packet"

/ip firewall mangle
add action=mark-connection chain=forward comment="web taobao.com" content=\
    taobao.com disabled=no new-connection-mark="Kill Web Conn" passthrough=\
    yes
add action=mark-connection chain=forward comment="web a.tbcdn.cn" content=\
    tbcdn.cn disabled=no new-connection-mark="Kill Web Conn" passthrough=yes
add action=mark-connection chain=forward comment="web jd.com" content=jd.com \
    disabled=no new-connection-mark="Kill Web Conn" passthrough=yes
add action=mark-packet chain=forward comment="Kill Web mark packet" \
    connection-mark="Kill Web Conn" disabled=no new-packet-mark=\
    "Kill Web mark packet" passthrough=no

/system scheduler
add disabled=no interval=3m30s name="kill web" on-event=":global nowtime  [:pi\
    ck [/system clock get time] 0 2]\r\
    \n:if (\$nowtime >= 08 && \$nowtime <= 12) do={\r\
    \n:log info [/ip firewall filter enable [/ip firewall filter find comment=\
    \"kill web\"]]\r\
    \n:log info (\"\A1\BC\BD\FB\D6\B9\CD\F8\D5\BE\D6\D0 8:00 -- 12:00\A1\BD\A3\
    \AC\CF\D6\D4\DA\CA\B1\BC\E4\A3\BA\".\$nowtime.\"\B5\E3\")}\r\
    \n:if (\$nowtime >= 12 && \$nowtime < 13) do={\r\
    \n:log info [/ip firewall filter disable [/ip firewall filter find comment\
    =\"kill web\"]]\r\
    \n:log info (\"\A1\BC\CD\F8\D5\BE\B7\C5\D0\D0\D6\D0 12:00 -- 13:00\A1\BD\
    \A3\AC\CF\D6\D4\DA\CA\B1\BC\E4\A3\BA\".\$nowtime.\"\B5\E3\")}\r\
    \n:if (\$nowtime >= 13 && \$nowtime < 17) do={\r\
    \n:log info [/ip firewall filter enable [/ip firewall filter find comment=\
    \"kill web\"]]\r\
    \n:log info (\"\A1\BC\BD\FB\D6\B9\CD\F8\D5\BE\D6\D0 13:00 -- 17:00\A1\BD\
    \A3\AC\CF\D6\D4\DA\CA\B1\BC\E4\A3\BA\".\$nowtime.\"\B5\E3\")}\r\
    \n:if (\$nowtime >=17  || \$nowtime < 08) do={\r\
    \n:log info [/ip firewall filter disable [/ip firewall filter find comment\
    =\"kill web\"]]\r\
    \n:log info (\"\A1\BC\CD\F8\D5\BE\B7\C5\D0\D0\D6\D0 17:00 -- 08:00\A1\BD\
    \A3\AC\CF\D6\D4\DA\CA\B1\BC\E4\A3\BA\".\$nowtime.\"\B5\E3\")}\r\
    \n\r\
    \n:log info (\"\A1\BC\CD\F8\D5\BE\B7\C3\CE\CA\BF\D8\D6\C6\BD\C5\B1\BE\D6\
    \B4\D0\D0\CD\EA\B1\CF\A1\BD\A3\AC\CF\D6\D4\DA\CA\B1\BC\E4\A3\BA\".\$nowtim\
    e.\"\B5\E3\")\r\
    \n" policy=\
    ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api \
    start-date=jun/11/2013 start-time=08:46:55
打赏

5 评论

  1. 谢谢wwek的回复,上面的脚本不知道为什么在6.x上面的表达式不支持,像&&amp部分改成&&就正常了,自己不会写代码查了好会儿资料。

    1. 嗯回头改下.再给你提供一个封网站的方法. 这样封taobao.com 有弊端,当其他网站页面中含有taobao.com字样也会被封. 怎么解决呢? 我们看到大站一般静态css js文件都是独立域名分离的. 封淘宝只需要封掉 调用的css js(alicdn.com)就可以了. 这样其他页面中含有taobao.com的网站也不影响.

  2. 你好测试上面的脚本对公司很实用,另外还有个问题想请教一下楼主,如何添加部分ip例外不受限制。

    1. 做个白名单ip列表呀. ip firewall filter .需要禁止的 对这个白名单列表做非操作

  3. 另外,如果有网友搜索到了这个。请问白名单如何处理。我测试了很久都不行。我用的是 非白名单列表的方式。但是不能识别。用了取反 非 就不行。囧死了·

发表评论

电子邮件地址不会被公开。 必填项已用*标注