网上极少有关于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. Java数据库——PreparedStatement接口

    PreparedStatement接口是Statement的子接口,属于预处理操作,与直接使用Statement不同的是,PreparedStatement在操作时,是先在数据表中准备好了一条SQL语 ...

  2. CSS 控制Html页面高度导致抖动问题的原因

    CSS 控制Html页面高度导致抖动,这类由高度导致页面抖动的问题,其实究其根本原因是滚动条是否显示导致的 在CSS中添加如下代码: html,body{ overflow-y:scroll;} ht ...

  3. 创建menu文件

    一.问题: android studio项目中没有看到menu文件夹: 在android studio项目中想要添加menu布局文件,一开始我的做法是:直接在res文件夹右键选择xml文件来添加,如下 ...

  4. Robot Framework--11 RF结合Jenkins

    转自:http://blog.csdn.net/tulituqi/article/details/17846463 为什么我们要引入RF?其实最初我们引入RF是为了能够快速的开展自动化验收测试,为敏捷 ...

  5. 彻底解决Eclipse自动补全变量名及变量名后面追加类型名

    彻底解决Eclipse自动补全变量名问题的方法步骤 发布于 2014-11-04 14:53   已被阅读 31613159 次 大家使用eclipse或者MyEclipse敲代码的时候,是不是都被这 ...

  6. 两个select转移

    <table> <tr> <td> <select multiple="multiple" id="leftSelect&quo ...

  7. redis密码设置、访问权限控制等安全设置

    redis作为一个高速数据库,在互联网上,必须有对应的安全机制来进行保护,方法有2,如下. 1.比较安全的办法是采用绑定IP的方式来进行控制.  请在redis.conf文件找到如下配置 # If y ...

  8. asp.net core 中的MD5加密

    尝试了很长时间,但是一直报core 5 不可用,当时就崩溃了. 但是偶然的机会 我添加了Microsoft.AspNet.Identity 之后.MD5就好用了. 估计是这个报实现了core5下的MD ...

  9. 升级xcode7.0 第三方库不能用的解决方法(bitcode是什么鬼?)

    升级完xcode,真机运行发现报错,第三方库错误,微信SDK,高德SDK都报错,如下: ‘/Users/**/Framework/SDKs/PolymerPay/Library/mobStat/lib ...

  10. java框架

    Dash Reports 1.0发布 Java报表解决方案 http://developer.51cto.com/art/201205/337189.htm http://www.oschina.ne ...