V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
lixia625
V2EX  ›  问与答

squid 透明代理设置问题

  •  
  •   lixia625 · 2016-01-19 17:23:33 +08:00 · 2507 次点击
    这是一个创建于 3017 天前的主题,其中的信息可能已经有所发展或是发生改变。

    按照网上大多数教程
    设置:

    http_port 3128 transparent
    

    之后利用 iptables 将 80 端口转发至 3128 ,就好了。

    那么问题来了,谁在监听 80 端口,试了一下根本连不上 80 啊怎么转发。。。
    请问我错在哪?

    6 条回复    2016-01-20 14:23:26 +08:00
    ryd994
        1
    ryd994  
       2016-01-19 20:08:54 +08:00 via Android
    此透明非彼透明
    这样设置的效果,是所有到 80 的连接被劫持到 squid 。因为不需要用户设置,只要路由器上部署,所以透明。
    你想要的透明代理, squid 默认设置,把 x-forwarded-for 关了就是了。
    function007
        2
    function007  
       2016-01-19 20:37:12 +08:00
    之后利用 iptables 将 80 端口转发至 3128
    这句你理解错了,不是把路由器的 80 转发到了 3128 ,而是把所有发往目标服务器 80 口的请求,转到了 3128
    lixia625
        3
    lixia625  
    OP
       2016-01-20 10:01:34 +08:00
    @function007
    对啊 我是这么理解的,但是我感觉服务器 80 端口没开啊,尝试用浏览器访问页确实无法建立连接,

    @ryd994
    我的想法是用路由器转发就好了,是这样的吗?转发至哪个端口呢?
    function007
        4
    function007  
       2016-01-20 11:30:15 +08:00
    @lixia625 你还是没理解对。。
    比如你在浏览器里访问 www.a.com ,这个请求是发往 www.a.com 服务器的 80 口的,就会被转发;你访问 www.a.com:8080 ,这个请求就不会被转发
    和你透明代理的 80 口没有关系。。
    ryd994
        6
    ryd994  
       2016-01-20 14:23:26 +08:00 via Android
    你先看看两种“透明”
    你需要的“透明代理”,也就是第一种, squid 默认设置就是
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3290 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 13:56 · PVG 21:56 · LAX 06:56 · JFK 09:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.