在我们上网时,特别是使用ADSL上网时,你访问任何页面会弹出广告页面,电信运营上使用BRAS设备实现。现在介绍以下使用routeros如何实现。如果有哪位朋友有例如在自己的单位或内网中弹出页面下发通知等,可以一起琢磨琢磨。本人对routeros不是很熟悉,希望得到大家的完善。
思路:首先你内网中所有用户通过你的routeros上网,当首次访问网页的所有数据包通过你routeros时,我们包数据包重新定向到你web服务器,并且把目标地址转换成你web服务器的地址。此时访问任何网站的数据相当于访问你的web服务器,你在web服务器的网页上你弹出你的通知,然后把页面重定向到他刚开始要访问的页面。
实施:routeros上
两步就可以,当然前提是之前你内网机器能正常上网,且你web服务器能访问你内网。
至于web服务器及web页面怎么写,可以问问搞ASP的。我这里有一简单的。
思路:首先你内网中所有用户通过你的routeros上网,当首次访问网页的所有数据包通过你routeros时,我们包数据包重新定向到你web服务器,并且把目标地址转换成你web服务器的地址。此时访问任何网站的数据相当于访问你的web服务器,你在web服务器的网页上你弹出你的通知,然后把页面重定向到他刚开始要访问的页面。
实施:routeros上
- 代码:
ip firewall mangle addchain=postrouting protocol=tcp dst-port=80action=add-src-to-address-list address-list=src1address-list-timeout=2m
- 代码:
ipfirewall nat add chain=dstnat protocol=tcp dst-port=80 action=dst-natto-addresses=192.168.100.69 to-ports=80 src-address-list=!src1
两步就可以,当然前提是之前你内网机器能正常上网,且你web服务器能访问你内网。
至于web服务器及web页面怎么写,可以问问搞ASP的。我这里有一简单的。
- 代码:
<HTML>
<head>
<title></title><METAHTTP-EQUIV="Pragma" C><METAhttp-equiv="Content-Type"c><meta http-equiv="Refresh"c>
</head>
<scriptlanguage="JavaScript">function newwin(){var urlname;varwin_attr;win_attr='toolbar=no,menubar=no,scrollbars=no,status=no,location=no,resizable=yes,fullscreen=no,directories=no,width=300,height=250,top=0,left=0';window.open('http://192.168.100.69/index.htm','ips_win0',win_attr); }</script>
<%Function GetUrl()
On Error Resume Next
Dim strTemp
If LCase(Request.ServerVariables("HTTPS"))="off" Then
strTemp = "http://"
Else
strTemp = "http://"
End If
strTemp = strTemp & Request.ServerVariables("HTTP_HOST")
If Request.ServerVariables("SERVER_PORT") <> 80 Then strTemp =strTemp & ":" & Request.ServerVariables("SERVER_PORT")
strTemp = strTemp & Request.ServerVariables("URL")
If Trim(Request.QueryString) <> "" Then strTemp = strTemp & "?" & Trim(Request.QueryString)
GetUrl = strTemp
End Function %>
<body text="#FFFFFF" bgcolor="#000000"><b><font size="5">尊敬的涉外花园用户: </body>
</font></b>
<p><b><font size="5">
<body text="#FFFFFF" bgcolor="#000000">您好! </body></font></b></p>
<p><b><font size="5">
<body text="#FFFFFF" bgcolor="#000000">卖盒饭啦,电话1234567。 </body>
</font></b></p>
<p><b><font size="5">
<body text="#FFFFFF" bgcolor="#000000">不要使用电驴、BT等工具下载。谢谢!浏览器将在5秒后跳转到您要访问的页面。
</font></b> </p>
</body></html>