QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 544|回复: 0

透明代理的实现过程,是否如下?

[复制链接]
发表于 2003-9-8 17:26:54 | 显示全部楼层 |阅读模式
以iptables+squid实现的透明代理的工作过程,是否如下所述?
在这里网关和Squid由一台机器扮演

当一台客户机10.0.0.2需要访问www.abc.com
首先需要发请DNS解析请求,得到结果比如是8.8.8.8
接着,本机对8.8.8.8:80发出一个SYN请求,源端口比如为1025
10.0.0.2:1025 to 8.8.8.8:80 SYN
这个请求进入网关10.0.0.1之后这个数据包的目标地址被重定向为10.0.0.1:3128
10.0.0.2:1025 to 10.0.0.1:3128 SYN

Squid应答
10.0.0.1:3128 to 10.0.0.2:1025 SYN+ACK
既然前面有重定向,回来就应该对照NAT表翻译回来,客户机收到的是
8.8.8.8:80 to 10.0.0.2:1025 SYN+ACK

客户机应答
10.0.0.2:1025 to 8.8.8.8:80 ACK
重定向成
10.0.0.2:1025 to 10.0.0.1:3128 ACK

到此三次握手完成,但此时Squid还不清楚客户机要访问哪个网站呢

客户机该发送HTTP请求了
10.0.0.2:1025 to 8.8.8.8:80 HTTP GET......www.abc.com......(我在iris里看到有这些内容)
重定向成
10.0.0.2:1025 to 10.0.0.1:3128 HTTP GET......www.abc.com......

这时Squid才知道客户机要访问ABC
于是解析www.abc.com,得到结果8.8.8.8
Squid服务器与ABC建立三次握手,略,完成后发送HTTP GET请求
得到结果后返回给客户机
10.0.0.1:3128 to 10.0.0.2:1025
对照NAT表项,转译
8.8.8.8:80 to 10.0.0.2:1025



有没有哪里错了,大大们
如此想来,这个透明代理真是透明的
对客户机是透明的,它没作浏览器的Proxy设置
对网站是透明的,它不知道中国的一台电脑在以美国的一台服务器的名义在访问它
对Proxy都是透明的,它并不知道客户机竟然没有设置它为Proxy
一直是那个iptables程序在作怪
您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-16 02:45 , Processed in 0.193462 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

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