找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 7231|回复: 13

[脚本] ROS如何做到以下功能

[复制链接]
发表于 2011-2-22 11:10:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
第一次打开网页,就只指自己内网的电影服务器!
routeros
发表于 2011-2-22 12:25:36 | 显示全部楼层
/ip firewall mangle
add action=add-src-to-address-list address-list=new address-list-timeout=5s \
    chain=prerouting comment="" disabled=no dst-port=80 protocol=tcp \
    src-address-list=!old
add action=add-src-to-address-list address-list=old address-list-timeout=1h \
    chain=prerouting comment="" disabled=no dst-port=80 protocol=tcp

/ip firewall nat
add action=dst-nat chain=dstnat comment="" disabled=no dst-port=80 protocol=\
    tcp src-address-list=new to-addresses=电影服务器地址 to-ports=80

第一条:把所有内网IP对目标80端口的访问添加到地址列表new里面,并且排除源地址列表old,new地址列表的超时设置为5秒,初次匹配,源地址都会被添加到new地址池了
第二条:把所有内网IP对目标80的访问添加到地址列表old里,超时1小时,也就是说,一个地址初次访问,首先匹配第一条规则,那么它就会在new地址列表里存在5秒,5秒后消失的同时第二条就会匹配到第二条,就添加到old地址列表里面,这个超时可以根据情况设置,old地址列表的地址在一定时间内是不会被第一条匹配的
第三条:对new地址列表的主机访问80转发到电影服务器,new地址列表只存在5秒,所以你一台主机首次访问80的时候,5秒内都是访问的电影服务器

缺点:有时候浏览器会记住那个网页的缓存,一般刷新几次就能恢复,有时候不行就要清空浏览器缓存,还有一点,这种做法只能是标准的url生效,如果是跟了后缀的域名,比如http://xx.xx.xx/xx.aspx?123就会提示404错误,这种情况解决的办法就是
在你的电影服务器的web里面,把http的错误页重定向到你的主页就行了!

评分

参与人数 1铜板 +24 收起 理由
zooyo + 24 精品文章

查看全部评分

routeros
回复

使用道具 举报

 楼主| 发表于 2011-2-22 15:05:01 | 显示全部楼层
本帖最后由 kyer2012 于 2011-2-22 15:16 编辑

拜读先,非常感谢!

如果我的ROS已经借用了那个错误页面,做到期提醒通知呢?

那两个不是矛盾了吗?
routeros
回复

使用道具 举报

发表于 2011-2-22 15:57:18 | 显示全部楼层
本帖最后由 janlovewen 于 2011-2-22 15:59 编辑

WEB PROXY 能解决你问题``或者  
/ip firewall mangle
add src=内网地址 action=add-src-to-address-list address-list=new address-list-timeout=5s \
    chain=prerouting comment="" disabled=no dst-port=80 protocol=tcp \
    src-address-list=!old
add src=内网地址  action=add-src-to-address-list address-list=old address-list-timeout=1h \
    chain=prerouting comment="" disabled=no dst-port=80 protocol=tcp

routeros
回复

使用道具 举报

 楼主| 发表于 2011-2-23 10:36:40 | 显示全部楼层

在你的电影服务器的web里面,把http的错误页重定向到你的主页就行了


不知道这个如何操作呢?
routeros
回复

使用道具 举报

发表于 2011-2-23 11:33:23 | 显示全部楼层
kyer2012 发表于 2011-2-23 10:36
在你的电影服务器的web里面,把http的错误页重定向到你的主页就行了

不知道你的web服务器是谁家的。IIS的可以这样做
000.png
routeros
回复

使用道具 举报

 楼主| 发表于 2011-2-23 11:43:03 | 显示全部楼层
tangdong 发表于 2011-2-23 11:33
不知道你的web服务器是谁家的。IIS的可以这样做

非常感谢斑竹!

我以为是在ROS设置 web proxy
routeros
回复

使用道具 举报

 楼主| 发表于 2011-2-23 11:59:53 | 显示全部楼层
本帖最后由 kyer2012 于 2011-2-23 12:05 编辑
tangdong 发表于 2011-2-22 12:25
/ip firewall mangle
add action=add-src-to-address-list address-list=new address-list-timeout=5s \
...


斑竹你好,你这个功能虽好!

但是你跳转到那个页面的时候,5秒过期了。那个外网的域名是跟你的内网的IP对应!

如果那个IP是电影服务器,你打开http://www.baidu.com 是那个内网网站,5秒过期后,你点内网电影里面的网页,百度会显示没有此页面

未命名.PNG

未命名.PNG
routeros
回复

使用道具 举报

发表于 2011-2-23 12:46:57 | 显示全部楼层
本帖最后由 tangdong 于 2011-2-23 12:48 编辑

缺点:有时候浏览器会记住那个网页的缓存,一般刷新几次就能恢复,有时候不行就要清空浏览器缓,有时要关了浏览器再开,一直刷新不行的
routeros
回复

使用道具 举报

 楼主| 发表于 2011-2-23 14:55:09 | 显示全部楼层
tangdong 发表于 2011-2-23 12:46
缺点:有时候浏览器会记住那个网页的缓存,一般刷新几次就能恢复,有时候不行就要清空浏览器缓,有时要关了浏 ...

斑竹我的意思

例如你内网 192.168.10.254 是电影服务器

如果做了以上策略,打开百度会前5秒是 192.168.10.254 这个内网电影网站

如果5秒过后,你的域名是www.baidu.com,但里面的内容是内网电影网站的内容,你打开 www.baidu.com/vod.html 网站,百度会显示没有此页面!


这个如何解决呢?
routeros
回复

使用道具 举报

发表于 2011-2-23 15:08:31 | 显示全部楼层
kyer2012 发表于 2011-2-23 14:55
斑竹我的意思

例如你内网 192.168.10.254 是电影服务器

直接重定向,这样浏览器就是直接192.168.1.254了,不会是网址
23.png
routeros
回复

使用道具 举报

 楼主| 发表于 2011-2-23 16:47:59 | 显示全部楼层
thanks           
routeros
回复

使用道具 举报

发表于 2011-2-24 21:07:20 | 显示全部楼层
太好的范例,感谢版主,收起来了!顶一个
routeros
回复

使用道具 举报

发表于 2011-2-25 11:11:03 | 显示全部楼层
顶一个,收藏了
routeros
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|软路由 ( 渝ICP备15001194号-1|渝公网安备 50011602500124号 )

GMT+8, 2024-11-24 21:02 , Processed in 0.112707 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表