论坛风格切换切换到宽版
  • 527阅读
  • 8回复

[问题求助]iptables转发公告的问题 [复制链接]

上一主题 下一主题
离线babyq.
 
发帖
1929
C币
-152877
威望
347
贡献值
1
银元
-2
铜钱
4327
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
我记得以前有人提过。
我要做到的目标是192.168.1.0/24这个网段的IP,每个工作日第一次访问web服务的时候,不管是去往哪里的,都给他转向到http://192.168.1.253上,然后就放行这个IP,让他继续要上什么网就上什么网。              乙肝
不知道这个大家有没有思路。

评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线alluse.
发帖
2180
C币
-559263
威望
382
贡献值
1
银元
-2
铜钱
4770
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-13
我觉得好像逻辑上说不通,因为不知道要转发几次
对于 http 来讲,可能要发起多个连接才能访问一个网站,若对请求的数据包不完全转发,那么有可能无法打开网页
同理,若转发数量过多,可能会造成迟迟不放行的状况

离线ms1029.
发帖
2173
C币
-234903
威望
422
贡献值
1
银元
-3
铜钱
4955
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-13
那就是说iptables自己是干不了了。
配合SQUID能做么?

离线花花86.
发帖
1980
C币
-60887
威望
371
贡献值
1
银元
-1
铜钱
4494
人人网人气币
0
只看该作者 地板  发表于: 2010-04-13
我觉得首先要从逻辑上区分第一个请求和其他的请求
未必 iptables 做不了,但要有好的思路先
如果类似 Dr.COM 的认证,就使用的转向,当登录后触发放行机制
Yuri.G. 兄的需求也是一样,当满足特定条件后放行,但前提是这个条件是什么?
因为不是“登录成功”这个很模式化的条件,所以不好做

离线canko.
发帖
1960
C币
-199371
威望
333
贡献值
1
银元
-1
铜钱
4286
人人网人气币
0
只看该作者 4楼 发表于: 2010-04-13
首先,在每个工作日早上将网段内的所有IP加入一个列表。

然后,每发现一个访问80端口的数据包就检查这个列表中是否有这个IP,如果有就删除这个IP,并DNAT这个访问到1.253。如果没有就正常放行。

貌似可以用C语言实现。

离线xphf.
发帖
1952
C币
-235598
威望
347
贡献值
1
银元
-2
铜钱
4255
人人网人气币
0
只看该作者 5楼 发表于: 2010-04-13
只针对第一个syn包会进行DNAT操作,剩下的就由DNAT的连接跟踪来完成了。

离线妖童.
发帖
2015
C币
-235496
威望
383
贡献值
1
银元
-2
铜钱
4444
人人网人气币
0
只看该作者 6楼 发表于: 2010-04-13


QUOTE:原帖由 ShadowStar 于 2007-12-20 12:19 发表
只针对第一个syn包会进行DNAT操作,剩下的就由DNAT的连接跟踪来完成了。

但 http 请求可能发起多个 connection,每个 connection 都有自己的 syn,这个情况在 2 楼已经提过了

离线rayabbie.
发帖
2143
C币
-60307
威望
385
贡献值
1
银元
-1
铜钱
4705
人人网人气币
0
只看该作者 7楼 发表于: 2010-04-13


QUOTE:原帖由 platinum 于 2007-12-20 12:46 发表

但 http 请求可能发起多个 connection,每个 connection 都有自己的 syn,这个情况在 2 楼已经提过了


确实是这样,但是只要网站设计的简单些的话,应该可以在一个tcp stream中完成。

离线b489355623.
发帖
2084
C币
-140685
威望
360
贡献值
1
银元
-4
铜钱
4611
人人网人气币
0
只看该作者 8楼 发表于: 2010-04-13
恩没错,如果只是一个简单的 html 页面,没有任何图片、媒体、css、js 等,应该是可以的
快速回复
限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
上一个 下一个