按照网上大多数教程
设置:
http_port 3128 transparent
之后利用 iptables 将 80 端口转发至 3128 ,就好了。
那么问题来了,谁在监听 80 端口,试了一下根本连不上 80 啊怎么转发。。。
请问我错在哪?
1
ryd994 2016-01-19 20:08:54 +08:00 via Android
此透明非彼透明
这样设置的效果,是所有到 80 的连接被劫持到 squid 。因为不需要用户设置,只要路由器上部署,所以透明。 你想要的透明代理, squid 默认设置,把 x-forwarded-for 关了就是了。 |
2
function007 2016-01-19 20:37:12 +08:00
之后利用 iptables 将 80 端口转发至 3128
这句你理解错了,不是把路由器的 80 转发到了 3128 ,而是把所有发往目标服务器 80 口的请求,转到了 3128 |
3
lixia625 OP |
4
function007 2016-01-20 11:30:15 +08:00
@lixia625 你还是没理解对。。
比如你在浏览器里访问 www.a.com ,这个请求是发往 www.a.com 服务器的 80 口的,就会被转发;你访问 www.a.com:8080 ,这个请求就不会被转发 和你透明代理的 80 口没有关系。。 |
5
ryd994 2016-01-20 14:22:33 +08:00 via Android
|
6
ryd994 2016-01-20 14:23:26 +08:00 via Android
你先看看两种“透明”
你需要的“透明代理”,也就是第一种, squid 默认设置就是 |