squid 能达到和 sniproxy 类似的效果吗?单 HTTP 的话 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
function007
V2EX    问与答

squid 能达到和 sniproxy 类似的效果吗?单 HTTP 的话

  •  
  •   function007 2016-01-22 04:38:58 +08:00 4383 次点击
    这是一个创建于 3551 天前的主题,其中的信息可能已经有所发展或是发生改变。

    因为内网 squid 上有缓存,想利用起来,让它来监听 80 端口, sniproxy 负责 443 。 squid 的设置支持实现类似效果吗?

    @ryd994 请问你在 t/181289 提到的 squid interception 可以给一下资料的传送门吗?十分感谢。我只搜到了对单个后端的反代,任意域名的 http 请求反代没找到任何资料。。

    7 条回复    2016-01-22 14:56:17 +08:00
    function007
        1
    function007  
    OP
       2016-01-22 04:40:59 +08:00
    我戳,正文里是不能艾特人的么 @ryd994
    ryd994
        2
    ryd994  
       2016-01-22 05:40:14 +08:00
    善用 Google : http://wiki.squid-cache.org/SquidFaq/InterceptionProxy
    主要就是
    http_port 3128 intercept
    iptables -t nat -A PREROUTING -s 内网网段 -p tcp --dport 80 -j DNAT --to 缓存服务器 ip:3128

    sniproxy 类似:
    iptables -t nat -A PREROUTING -s 内网网段 -p tcp --dport 443 -j DNAT --to 缓存服务器 ip:端口

    务必仔细考虑防火墙规则,确保请求来自内网,不要变成公共代理
    function007
        3
    function007  
    OP
       2016-01-22 11:15:52 +08:00
    @ryd994 报这个

    FATAL: Bungled squid.conf line 4982: http_port 8072 intercept
    Squid Cache (Version 2.7.STABLE8): Terminated abnormally.

    是不是我版本太老了不支持这个特性。。

    squid 是搭在本地内网机器上的,作为上层 privoxy 的缓存。 sniproxy 监听服务器 127.0.0.1 ,用 qTunnel 对内网端口和 sniproxy 端口做的映射,两个都不存在公共代理的问题。
    本来是准备运行两个 qTunnel 进程,把内网设备的 80 和 443 转到服务器上 sniproxy 的相应端口去,然后内网的 DNS 把需要走那边过的域名直接解析到那台设备上。因为那台设备同时也运行有带缓存的 squid ,就想着能不能让它来负责 80 口的请求,可以少跑个进程顺便有缓存速度肯定快一些。。
    ryd994
        4
    ryd994  
       2016-01-22 14:09:04 +08:00 via Android
    @function007 centos 都 3.3 了你哪搞来的 2.7 ……
    intercept 换成 transparent
    function007
        5
    function007  
    OP
       2016-01-22 14:23:32 +08:00
    @ryd994 我是 x86 的 XP 啊, 3.5 只有 64 位的, 3.3 需要的 cygwin 装不下,我就只能用 http://squid.acmeconsulting.it/Squid27.html 这玩意了。。

    transparent 查到是透明代理的参数,结合防火墙规则把请求全部转给监听端口,然后把那台设备设为网关。我想做的是让 squid 像 sniproxy 一样做一个任意域名的反代理,测试中用 transparent 参数监听 80 口然后直接把域名解析过去会自身死循环然后报 too many connects 。
    ryd994
        6
    ryd994  
       2016-01-22 14:27:48 +08:00 via Android
    @function007 一回事啊,只要能把连接劫持过来,结果一样
    你不要把自己也劫持了啊……
    function007
        7
    function007  
    OP
       2016-01-22 14:56:17 +08:00
    @ryd994 “你不要把自己也劫持了啊……”这句把我点醒了,第一次发现自己竟然可以 SB 到这种地步。。

    死循环是这样产生的:
    我在 A 上设置了 http_port 80 transparent ,在 A 上的 hosts 里把 www.ip.cn 的 ip 解析到了 127.0.0.1 ,然后用 A 的浏览器去访问 www.ip.cn 测试。。请求在发到 squid 的时候都是对的,问题是 squid 在进行反代获取内容的时候, www.ip.cn 这个域名被本地的 hosts 又指向了自己。。

    刚刚试了下在 B 设备上改 hosts 然后连接 A ,发现它工作的很好。。

    麻烦你了不好意思。。十分感谢你的耐心解答。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2477 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 15:29 PVG 23:29 LAX 08:29 JFK 11:29
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86