网上极少有关于RouterOS的第一次打开网页强制跳转主页的方法,大多数都方法是将浏览某个域名的IP地址跳转到自己的主页,这种方法有时会失效。
还有一种方法就是当用户用80端口连接时,抓取源地址到地址列表,然后指定该地址的timeout时间,在做地址映射来达到强制跳转的目的,但是这种方法也会经常失效,某些即时通软件也会使用TCP 80端口来通讯。
BUG:循环脚本比较耗CPU,使用此方法时需要注意路由器硬件配置。

说明:需要添加两条标记mangle、一条DST目标地址规则、还有一个循环脚本。此外要做个网页跳转页面。注意:BUG如果要跳转的地址无效,会让所有网页不能打开。

一、添加标记。

1、第一条标记

2、添加第二条标记

3、添加dst目标地址跳转规则。

二、添加计划任务脚本。这个脚本用于删除已经跳转过页面的IP。在/system scheduler 制定一个任务循环执行定时2-4秒 最佳

:foreach i in=[/ip firewall address-list find list=src1] do={

:foreach n in=[/ip firewall address-list find list=src2] do={

:if ([/ip firewall address-list get $i address] = [/ip firewall address-list get $n address]) do={

/ip firewall address-list remove $i}

}

}

三、网页跳转页面。这个是必须的不然src2不会自动添加IP。将以下代码另存为htm文件放到IIS的默认网站。

<html>

<head>

<meta http-equiv="Content-Language" content="zh-CN">

<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">

<title></title>

</head>

<SCRIPT LANGUAGE="javascript">

<!-- Start Code

var ver = navigator.appVersion;

if (ver.indexOf("MSIE") != -1)

{

window.location.href="要跳转的网站虚拟目录,例如http://10.20.20.1/webmedia"

}else

window.location.href="要跳转的网站虚拟目录, 例如http://10.20.20.1/webmedia "

// End Code -->

</SCRIPT>

</html>

以下是配置文件

/ip firewall mangle

add action=add-src-to-address-list address-list=src1 address-list-timeout=0s \

chain=prerouting comment="" disabled=no dst-address=!10.20.20.1 dst-port=\

80 in-interface=!WAN protocol=tcp src-address-list=!src2

add action=add-src-to-address-list address-list=src2 address-list-timeout=3h \

chain=prerouting comment="" disabled=no dst-address=10.20.20.1 dst-port=\

80 in-interface=!WAN protocol=tcp

/ip firewall nat

add action=dst-nat chain=dstnat comment=ToAddress disabled=yes dst-port=80 \

protocol=tcp src-address-list=src1 to-addresses=10.20.20.1 to-ports=80

RouterOS首次打开网页强制跳转的更多相关文章

  1. 禁止 PC端打开网页 进行跳转

    try {var urlhash = window.location.hash;if (!urlhash.match("fromapp")){if ((navigator.user ...

  2. Nodejs一键实现微信内打开网页url自动跳转外部浏览器访问的功能

    前言 现如今微信对第三方推广链接的审核是越来越严格了,域名在微信中分享转发经常会被拦截,一旦被拦截用户就只能复制链接手动打开浏览器粘贴才能访问,要不然就是换个域名再推,周而复始.无论是哪一种情况都会面 ...

  3. chrome浏览器打开网页,总是跳转到2345主页的解决方法 2345.com 绑架主页

    昨晚装了一个wifi共享精灵,原本以为这下好了,全宿舍都可以上网了,但是,确实噩梦的开始啊. 遇到问题:不小心在安装wifi共享精灵的时候,点到了设置2345.com为主页,后来,每次使用chrome ...

  4. 开启HSTS让浏览器强制跳转HTTPS访问

    开启HSTS让浏览器强制跳转HTTPS访问 来源 https://www.cnblogs.com/luckcs/articles/6944535.html 在网站全站HTTPS后,如果用户手动敲入网站 ...

  5. http强制跳转到https

    原文地址:http://m.blog.csdn.net/article/details?id=8549290 需求简介 基于nginx搭建了一个https访问的虚拟主机,监听的域名是test.com, ...

  6. 黄聪:如何阻止iframe里引用的网页自动跳转

    今天做了个网页,要在网页里设置一个iframe,然后套用其他的网站.使用http://luanqi-cat.blogbus.com 这个网址的时候,出现了莫名其妙的问题,我的网页居然会强制自动跳转到这 ...

  7. 如何阻止iframe里引用的网页自动跳转

    今天做了个网页,要在网页http://www.58shuwu.com/to/21766654/Legend%20of%20Miyue/ 里设置一个iframe,然后套用其他的网站.使用http://m ...

  8. 解决 winform打开网页 和WebBrowser打开链接360误报拦截的问题

    以下方法我已经在自己电脑上验证通过,其他电脑并未测试,请广大读者自行验证并反馈,如果有更好的方法请指教. 在winform中如果使用这种方法弹出网页,例如这样 Process.start(" ...

  9. 有哪些api接口可以实现微信自动唤醒浏览器,下载app,打开网页

    现在微信渠道可以说是拉新最快的渠道,因为微信具备强裂变性.但是目前微信对第三方下载链接的拦截是越来越严格了,那么想要在微信内肆无忌惮地推广链接就需要用到微信跳转浏览器的接口,那如何获取该接口呢?   ...

随机推荐

  1. mysql查询区分大小写

    Mysql默认查询是不分大小写的,可以在SQL语句中加入 binary来区分大小写: BINARY不是函数,是类型转换运算符,它用来强制它后面的字符串为一个二进制字符串,可以理解为在字符串比较的时候区 ...

  2. netcat命令

    1 简介 netcat是网络工具中的瑞士军刀,它能通过TCP和UDP在网络中读写数据.通过与其他工具结合和重定向,你可以在脚本中以多种方式使用它.使用netcat命令所能完成的事情令人惊讶. netc ...

  3. Centos7.X 源码编译安装subversion svn1.8.x

    说明:SVN(subversion)的运行方式有两种:一种是基于Apache的http.https网页访问形式:还有一种是基于svnserve的独立服务器模式.SVN的数据存储方式也有两种:一种是在B ...

  4. 用淘宝ip地址库查ip

    这是一个通过调用淘宝ip地址库实现ip地址查询的功能类 using System; using System.Collections.Generic; using System.Linq; using ...

  5. Helixoft VSdocman 是一个集成于Visual Studio并提供了命令行版本的帮助文档编译工具

    http://www.helixoft.com/vsdocman/overview.html https://blog.fishlee.net/2016/01/14/helixoft-vsdocman ...

  6. Linux下显示ip所属位置

    在linux下,要是网络出现延迟,通常我们需要分析自己到对端的服务器的网络环境 例:ping www.baidu.com traceroute www.baidu.com 通过分析来确定大概是什么问题 ...

  7. 关于帧中继和ppp的补充笔记

    帧中继: · 两个设备都要启用 帧中继功能, 否则是不能 ping通的 · 两个设备上的接口serial要 no shutdown · · 一定要配置dlci地址(号). 否则就不能起来pvc 可以 ...

  8. php/js获取客户端mac地址的实现代码

    这篇文章主要介绍了如何在php与js中分别获取客户度mac地址的方法,需要的朋友可以参考下   废话不多讲,直接上代码吧! 复制代码 代码如下: <?php   class MacAddr {  ...

  9. .NET逻辑分层架构总结

    一.基础知识准备: 1.层的原则: (1)每一层以接口方式供上层调用. (2)上层只能调用下层. (3)依赖分为松散交互和严格交互两种. 2.业务逻辑分类: (1)应用逻辑. (2)领域逻辑. 3.采 ...

  10. $(document).ready(){}、$(fucntion(){})、(function(){})(jQuery)onload()的区别

     1.首先说JQuery的几个写法  $(function(){     //do someting   });   $(document).ready(function(){     //do so ...