免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4871 | 回复: 5
打印 上一主题 下一主题

[proxy] Squid 透明代理DNS查询的一个问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-09-06 15:29 |只看该作者 |倒序浏览
Squid 透明代理DNS查询的一个问题


假如拓扑如上,访问过程如下:
1:Client -> DNS 解析 到WEB 172.16.2.56
2:  Client -> 172.16.2.56 被GW 拦截 重定向到 Squid
3:  Squid 查询DNS 解析到目的IP,然后代理发送请求!
4:Squid 缓存数据,并返回给Client

问题出在:
我根本就不需要 第3步, Client 的数据包里的目的IP,就是目的服务器的IP,最主要的是,一些环境必须要以Client 目的IP 为准!
请问大家知不知道相关设置!

论坛徽章:
0
2 [报告]
发表于 2010-09-06 20:31 |只看该作者
修改后台程序,判断如是内部地址(squid),则取 X-Forwarded-For headers 作为用户地址,应该可以吧?

论坛徽章:
0
3 [报告]
发表于 2010-09-07 09:20 |只看该作者
这是透明模式,我的意思是,Client 经过DNS 的到WEB ip后,连接出去,被IPTABLES拦截重定向到Squid,这个时候Squid 会根据Host,DNS查询到目的服务器的IP,然后连接的原始服务器,我想忽略这个过程,因为Client已经查询过了,请问有什么办法!

补充:
编译Squid 使用了 --enable-linux-netfilter

论坛徽章:
0
4 [报告]
发表于 2010-09-07 10:02 |只看该作者
明白你说的意思了,你的希望squid不用做dns解析,让squid直接用client发出的目标地址来作请求。squid有这个实现吗?

我熟悉的ts里有一个公司支持了一个项目,重作透明代理实现,实现的文档比较细,我因为基本用不上代理模式,因此并没有测试,或许楼主可以对比一下。
http://people.apache.org/~amc/tiphares/home.html
从文档上看比较有意思,能够支持好几个模式的代理方式。目前的trafficserver的svn版本已经把这个功能加入进去了。请根据下面的信息svn co 出来:
  1. zym@zym6400 ~/tmp/traffic/trunk $ svn info
  2. 路径: .
  3. URL: https://svn.apache.org/repos/asf/trafficserver/traffic/trunk
  4. 版本库根: https://svn.apache.org/repos/asf
  5. 版本库 UUID: 13f79535-47bb-0310-9956-ffa450edef68
  6. 版本: 993192
  7. 节点种类: 目录
  8. 调度: 正常
  9. 最后修改的作者: amc
  10. 最后修改的版本: 992525
  11. 最后修改的时间: 2010-09-04 11:33:42 +0800 (六, 2010-09-04)

复制代码
楼主的要求比较特殊,建议多搜索、测试,甚至看看代码

论坛徽章:
0
5 [报告]
发表于 2010-09-07 10:39 |只看该作者
非常感谢!

论坛徽章:
0
6 [报告]
发表于 2013-03-23 17:05 |只看该作者
我刚好需要你现在的模式,但是为什么,我默认就是你想要的模式呢?
我想让squid 用自己的设定的DNS server   解析IP 然后去访问,你现有情况 ./config 的时候 开的是那些参数 ?
PS:http://bbs.chinaunix.net/thread-1917460-1-1.html   我不确定这个是不是你需要的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP