Search squid archive

RE: Tproxy4+squid: ebtables wiki

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Try to look if there is any connection out to server from squid.
Also you should look if there is any connection reset.
All this things you can look by:
tcpdump port 80 -i <ethernet interface>


--- On Wed, 11/11/09, Roth, Joe <jroth@xxxxxxxxxxxxxx> wrote:

> From: Roth, Joe <jroth@xxxxxxxxxxxxxx>
> Subject: RE:  Tproxy4+squid: ebtables wiki
> To: "Irvan Adrian K" <irvan@xxxxxxxxxxxxxxxxx>, "Dan" <dan@xxxxxxxx>
> Cc: "Amos Jeffries" <squid3@xxxxxxxxxxxxx>, squid-users@xxxxxxxxxxxxxxx
> Date: Wednesday, November 11, 2009, 7:53 PM
> I have rebuilt the server using
> slackware 13, iptables 1.4.5, kernel
> 2.6.29.6 and squid 3.1.0.14. This was actually a pretty
> easy build since
> tproxy 4 was included already in iptables and kernel
> support.
> 
> I get a little further this time. After following the wiki
> I see
> connections coming in on netstat and printouts in the
> access_ log:
> 
> 1257947020.539  33055 128.226.234.75 TCP_MISS/200 7042
> GET
> http://www.imdb.com/ - DIRECT/72.21.211.32 text/html
> 1257947067.327 189510 128.226.234.43 TCP_MISS/200 5559 GET
> http://www.cnn.com/ - DIRECT/157.166.226.25 text/html
> 
> But I get nothing on the user end, and eventually I stop
> seeing things
> showing up in the access log.
> 
> Any ideas on what to look at?
> 
> Thanks,
> 
> --Joe
> 
> -----Original Message-----
> From: Irvan Adrian K [mailto:irvan@xxxxxxxxxxxxxxxxx]
> 
> Sent: Monday, November 09, 2009 5:05 PM
> To: Dan
> Cc: Roth, Joe; Amos Jeffries; squid-users@xxxxxxxxxxxxxxx
> Subject: Re:  Tproxy4+squid: ebtables wiki
> 
> Wow, thanks for the sharing, Dan..  it's very
> informative for me to know
> 
> that..  because i have been working for 2 weeks till
> know, very 
> desperated.. i have been using Debian 5 Lenny and Ubuntu
> 9.04 and 9.10, 
> and so far nothing work :(, ..  all the configuration
> i have tried, and 
> i have been recompile many kernel from 2.6.20 - 2.6.25,
> 2.6.29. 2.6.31, 
> and so far there was no solution at all..
> 
> Same to me, i have been using Debian and Ubuntu server for
> all my server
> 
> since a long time, and so hard for me to change different
> distro, but 
> learning from you, i have to try Fedora or may be CentOS,
> for TPROXY..
> 
> Thanks,
> 
> Irvan Adrian
> 
> Dan wrote:
> > To throw in my 2 cents.  I have tried to using
> both ubuntu server 9.04
> 
> > and 9.10 neither of them I could get to work. I
> experienced the same 
> > problem. So to make sure it wasn't me making a mistake
> somewhere I 
> > tried the same config and setup on Fedora and that
> worked fine.  So 
> > being lazy I just went with that.  I am very
> interested in getting 
> > TPROXY to work with ubuntu server as I prefer it as my
> server OS.
> >
> > Roth, Joe wrote:
> >> So it sounds like this is a problem with ubuntu
> 9.10 in general? I am
> >> running the server version as well, everything
> looks to be compiled
> >> properly, dmesg shows TPROXY starting, squid shoq
> IP spoofing to be
> >> starting as well.
> >>
> >> -----Original Message-----
> >> From: Irvan Adrian K [mailto:irvan@xxxxxxxxxxxxxxxxx]
> Sent: Monday, 
> >> November 09, 2009 8:46 AM
> >> To: Amos Jeffries
> >> Cc: squid-users@xxxxxxxxxxxxxxx
> >> Subject: Re:  Tproxy4+squid: ebtables
> wiki
> >>
> >> Dear Mr Amos, thanks for your respond, very
> helpfull..
> >>
> >> Amos Jeffries wrote:
> >>  
> >>> Irvan Adrian K wrote:
> >>>    
> >>>> So, What the solution for these threads
> ?  because i'm in the same 
> >>>> trouble to make TPROXY4 work in UBUNTU
> 9.10 Server
> >>>>
> >>>>       
> >>> Explicit "Server" release or normal? I have
> recently found that the 
> >>> kernel for normal Ubuntu is missing some
> routing features needed on 
> >>> a end box pretending to be a server.
> >>>     
> >> Server release distribution of UBUNTU 9.10, not
> desktop one.. as you 
> >> know that UBUNTU have several type of distribution
> : server, desktop,
> 
> >> etc.., and as we analyze that UBUNTU Server
> >> not differ than Debian, and have complete support
> for TPROXY built 
> >> in, without recompile :
> >>
> >> xt_tcpudp           
>    2780  2
> >> nf_nat           
>      17808  2
> iptable_nat,ipt_REDIRECT
> >> nf_conntrack_ipv4      13352 
> 3 iptable_nat,nf_nat
> >> xt_MARK           
>      1884  2
> >> xt_socket           
>    2556  2
> >> nf_conntrack       
>    67608  4 
> >> iptable_nat,nf_nat,nf_conntrack_ipv4,xt_socket
> >> xt_TPROXY           
>    1948  2
> >> nf_defrag_ipv4         
> 1756  3 nf_conntrack_ipv4,xt_socket,xt_TPROXY
> >> nf_tproxy_core         
> 2428  2 xt_socket,xt_TPROXY,[permanent]
> >> x_tables           
>    16544  10 
> >>
> ebt_redirect,ebt_ip,ebtables,xt_tcpudp,iptable_nat,ip_tables,ipt_REDIREC
> >> T,xt_MARK,xt_socket,xt_TPROXY
> >>
> >>  
> >>>> I'm using Kernel 2.6.31, Squid 3.1.0.15,
> iptables 1.4.5, ebtables 
> >>>> 2.0.9, and until now, following the manual
> in 
> >>>> http://wiki.squid-cache.org, like this :
> >>>>
> >>>> ebtables -t broute -I BROUTING  -p
> ipv4 --ip-proto tcp --ip-dport
> 80
> >>>> -j redirect --redirect-target DROP
> >>>> ebtables -t broute -I BROUTING -p ipv4
> --ip-proto tcp --ip-sport 80
> >>>>       
> >> -j
> >>  
> >>>> redirect --redirect-target DROP
> >>>>
> >>>> cd /proc/sys/net/bridge/
> >>>> for i in *
> >>>> do
> >>>>  echo 0 > $i
> >>>> done
> >>>> unset i
> >>>>
> >>>> echo 0 >
> /proc/sys/net/ipv4/conf/lo/rp_filter
> >>>> echo 1 > /proc/sys/net/ipv4/ip_forward
> >>>>
> >>>> iptables are:
> >>>> iptables -t mangle -N DIVERT
> >>>> iptables -t mangle -A DIVERT -j MARK
> --set-mark 1
> >>>> iptables -t mangle -A DIVERT -j ACCEPT
> >>>> iptables -t mangle -A PREROUTING -p tcp -m
> socket -j DIVERT
> >>>> iptables -t mangle -A PREROUTING -p tcp
> --dport 80 -j TPROXY 
> >>>> --tproxy-mark 0x1/0x1 --on-port 3129
> >>>>
> >>>> squid configuration is default, except
> >>>> acl allow all
> >>>>
> >>>> After following like above, the iptables
> counter was increasing 
> >>>> redirecting to TPROXY, but there was
> nothing
> >>>> in the squid, i can't open anything..
> >>>>
> >>>> But if i change the ebtables
> --redirect-target ACCEPT, the
> connection
> >>>>       
> >>
> >>  
> >>>> running, but the packet just bridged
> nothing came to Squid, just
> like
> >>>>       
> >>
> >>  
> >>>> nothing on there..
> >>>>       
> >>> Yes. That is why they are "DROP". In BROUTING
> it means something
> like;
> >>>     
> >>
> >>  
> >>> DROP off the bridge into the routing code, vs
> ACCEPT over the
> bridge.
> >>>     
> >> Yes, we look that, after adding --redirect-target
> DROP at ebtables, 
> >> counter at iptables -j TPROXY increase, like this
> one :
> >>
> >> 12830 3896K DIVERT 
>    tcp  --  *     
> *       0.0.0.0/0   
>         
> >> 0.0.0.0/0       
>    socket
> >>  1451 69360 TPROXY 
>    tcp  --  *     
> *       0.0.0.0/0   
>         
> >> 0.0.0.0/0       
>    tcp dpt:80 TPROXY redirect 0.0.0.0:3129
> mark
> 0x1/0x1
> >>
> >> before DROP at ebtables, there was none packet
> come to iptables -j
> >> TPROXY
> >>  
> >>>> There some one can give the clue, thanks
> in advance..
> >>>>
> >>>> R
> >>>>
> >>>>       
> >>> Did you build Squid with libcap2-dev installed
> on the system?
> >>>     
> >> UBUNTU prefer libcap-dev rather than libcap2-dev,
> >>
> >> apt-get install libcap2-dev
> >> Reading package lists... Done
> >> Building dependency tree
> >> Reading state information... Done
> >> Note, selecting libcap-dev instead of libcap2-dev
> >> libcap-dev is already the newest version.
> >>  
> >>> If you start Squid with the -X option is there
> anything about
> spoofing
> >>>     
> >>
> >>  
> >>> or transparent mentioned?
> >>>     
> >>
> >> 2009/11/09 08:43:17.338| Processing: 'http_port
> 3128 '
> >> 2009/11/09 08:43:17.338| http(s)_port: found
> Listen on Port: 3128
> >> 2009/11/09 08:43:17.338| http(s)_port: found
> Listen on wildcard
> address:
> >>
> >> [::]:3128
> >> 2009/11/09 08:43:17.338| Processing: 'http_port
> 3129 tproxy'
> >> 2009/11/09 08:43:17.338| http(s)_port: found
> Listen on Port: 3129
> >> 2009/11/09 08:43:17.338| http(s)_port: found
> Listen on wildcard
> address:
> >>
> >> [::]:3129
> >> 2009/11/09 08:43:17.338| Starting IP Spoofing on
> port [::]:3129
> >> 2009/11/09 08:43:17.338| Disabling Authentication
> on port [::]:3129 
> >> (IP spoofing enabled)
> >> 2009/11/09 08:43:17.338| Detect TPROXY support on
> port [::]:3129
> >> 2009/11/09 08:43:17.338| ...Probing for IPv6
> TPROXY support.
> >> 2009/11/09 08:43:17.339| ...Probing for IPv4
> TPROXY support.
> >> 2009/11/09 08:43:17.339| IPv4 TPROXY support
> detected. Using.
> >>
> >>
> >> Thanks,
> >>
> >> Irvan Adrian
> >>  
> >>> Amos
> >>>
> >>>    
> >>>> Kernel 2.6.30.8, Squid 3.1.0.14, iptables
> 1.4.3.1, ebtables 2.0.9
> >>>>
> >>>> Marko Kotar wrote:
> >>>>
> >>>> Just curious which kernel version are u
> using?
> >>>>
> >>>>
> >>>>
> >>>> --- On Thu, 10/29/09, Dan <d...@xxxxxxxx>
> wrote:
> >>>>
> >>>>
> >>>> From: Dan <d...@xxxxxxxx>
> >>>> Subject: Re:  Tproxy4+squid:
> ebtables wiki
> >>>> To: "Marko Kotar" <kotarma...@xxxxxxxxx>
> >>>> Cc: squid-users@xxxxxxxxxxxxxxx
> >>>> Date: Thursday, October 29, 2009, 5:24 PM
> >>>> Those are the same ebtable and
> >>>>
> >>>> iptable rules that I am using except that
> I use DROP. If it is 
> >>>> working for you then that is great. :) As
> for why
> >>>>
> >>>> it works that way I don't know.  When
> I use ACCEPT the
> >>>> traffic is bridged through and not
> redirected to squid.
> >>>>
> >>>> Thanks,
> >>>>
> >>>> Irvan Adrian
> >>>>
> >>>> Marko Kotar wrote:
> >>>>
> >>>>    Ok
> >>>>    My ebtable rules are(without
> -i option):
> >>>>    ebtables -t broute -A
> BROUTING -p ipv4 --ip-proto tcp
> >>>>     --ip-dport 80 -j
> redirect --redirect-target ACCEPT
> >>>>
> >>>>      ebtables -t broute -A
> BROUTING -p ipv4
> >>>>     --ip-proto tcp
> --ip-sport 80 -j redirect --redirect-target
> >>>> ACCEPT
> >>>>
> >>>>    This might be the different:
> >>>>    Bridge is up and it is having
> an ip address. Ethernet
> >>>>     interfaces are up
> but not having any ip address asigned.
> >>>>
> >>>>    ifconfig eth0 up promisc
> >>>>    ...
> >>>>    bridge interface is
> configured with dhclient:
> >>>>    dhclient3 br0
> >>>>
> >>>>    This rules are for the
> routing;
> >>>>    ip rule add fwmark 1 lookup
> 100
> >>>>    ip route add local 0.0.0.0/0
> dev lo table 100
> >>>>    And:
> >>>>    echo 0 >
> /proc/sys/net/ipv4/conf/lo/rp_filter
> >>>>    echo 1 >
> /proc/sys/net/ipv4/ip_forward
> >>>>
> >>>>    iptables are:
> >>>>    iptables -t mangle -N DIVERT
> >>>>    iptables -t mangle -A DIVERT
> -j MARK --set-mark 1
> >>>>    iptables -t mangle -A DIVERT
> -j ACCEPT
> >>>>    iptables -t mangle -A
> PREROUTING -p tcp -m socket -j
> >>>>     DIVERT
> >>>>
> >>>>    iptables -t mangle -A
> PREROUTING -p tcp --dport 80 -j
> >>>>     TPROXY
> --tproxy-mark 0x1/0x1 --on-port 3129
> >>>>
> >>>>    squid configuration is
> default, except
> >>>>    acl allow all
> >>>>    and port is set to the same
> address as in iptables,
> >>>>     and having TPROXY
> set.
> >>>>
> >>>>    I am using: 2.6.28-16-server
> x86_64 ubuntu, default or
> >>>>     compiled ebtables
> v2.0.9-1 (June 2009), compiled iptables
> >>>> v1.4.5,
> >>>>
> >>>>    Squid Cache: Version
> 3.1.0.14
> >>>>    configure options: 
> '--enable-linux-netfilter'
> >>>> 
>    --with-squid=/home/marko/src/squid-3.1.0.14
> >>>> --enable-ltdl-convenience
> >>>>
> >>>>    configured ony with
> additional linux-netfilter flag
> >>>>
> >>>>    I've used various network
> configurations:
> >>>>    -virtual computer using VmBox
> with virtual interface
> >>>>     in the linux
> bridge on guest pc.
> >>>>
> >>>>    -computer with two
> interfaces.
> >>>>    -double bridged vmbox: two
> virtual machines: first
> >>>>     having 2 virtual
> interfaces. birdged and having sqiud.
> >>>> second virtual pc being client with one
> virtual interface.
> >>>> one interface of first was bridged on
> guest computer to
> >>>> external interface, other two were bridged
> together.
> >>>>
> >>>>    Drop didn't work in any of
> them, accept was tested
> >>>>     only in first.
> >>>>
> >>>>      i think thats all the
> settings i have.
> >>>>
> >>>>
> >>>>    --- On Wed, 10/28/09, Dan
> <d...@xxxxxxxx>
> >>>>     wrote:
> >>>>
> >>>>        From: Dan
> <d...@xxxxxxxx>
> >>>>        Subject: Re:
>  Tproxy4+squid: ebtables
> >>>>       
>    wiki
> >>>>
> >>>>        To: "Marko
> Kotar" <kotarma...@xxxxxxxxx>,
> >>>>       
>    squid-users@xxxxxxxxxxxxxxx
> >>>>
> >>>>        Date:
> Wednesday, October 28, 2009, 9:21 PM
> >>>>        Marko Kotar
> wrote:
> >>>>           
>           Thanks.
> >>>>
> >>>>           
> "redirect
> >>>>
> >>>>           
> The redirect target will change the MAC target
> >>>>           
>      address
> >>>>
> >>>>        to that of the
> bridge device the frame arrived on.
> >>>>       
>    This
> >>>>
> >>>>        target can only
> be used in the BROUTING chain of
> >>>>       
>    the broute
> >>>>
> >>>>        table and the
> PREROUTING chain of the nat table.
> >>>>       
>    In the
> >>>>
> >>>>        BROUTING chain,
> the MAC address of the bridge port
> >>>>       
>    is used
> >>>>
> >>>>        as destination
> address, in the PREROUTING chain,
> >>>>       
>    the MAC
> >>>>
> >>>>        address of the
> bridge is used.
> >>>>           
>           --redirect-target target
> >>>>
> >>>>           
>       Specifies the standard
> >>>>           
>      target.
> >>>>
> >>>>        After doing the
> MAC redirect, the rule still has
> >>>>       
>    to give a
> >>>>
> >>>>        standard target
> so ebtables knows what to do. The
> >>>>       
>    default
> >>>>
> >>>>        target is
> ACCEPT. Making it CONTINUE could let you
> >>>>       
>    use
> >>>>
> >>>>        multiple target
> extensions on the same frame.
> >>>>       
>    Making it DROP
> >>>>
> >>>>        in the BROUTING
> chain will let the frames be
> >>>>       
>    routed. RETURN
> >>>>
> >>>>        is also
> allowed. Note that using RETURN in a base
> >>>>       
>    chain is
> >>>>
> >>>>        not allowed."
> >>>>
> >>>>            I
> think: If accept is used it goes in the
> >>>>           
>      tproxy
> >>>>
> >>>>        because dst mac
> is changed to bridge address. (So
> >>>>       
>    it goes up
> >>>>
> >>>>        as it would if
> client had  gateway configured
> >>>>       
>    to that
> >>>>
> >>>>        machine?) But
> is also should drop work?
> >>>>        I decided to
> test it. I changed my rule to ACCEPT
> >>>>       
>    and
> >>>>
> >>>>        traffic passes
> but not through the proxy.
> >>>> My
> >>>>
> >>>>        access.log
> shows no new traffic after changing
> >>>>       
>    the
> >>>>
> >>>>        rule. 
> DROP is what passes the frame off to
> >>>>        iptables. 
> Could you show all your
> >>>>       
>    rules?  If
> >>>>
> >>>>        squid is
> receiving the traffic the only thing I
> >>>>       
>    can think of
> >>>>
> >>>>        is that maybe
> there is another rule further down
> >>>>       
>    the chain
> >>>>
> >>>>        that cause the
> frame to be routed.
> >>>>
> >>>>           
>           I have tryed drop but it
> didn't work. I didn't
> >>>>           
>      get
> >>>>
> >>>>        through any
> traffic.
> >>>>           
>           If i didn't use any of
> ebtable rules it went
> >>>>           
>      through.
> >>>>
> >>>>           
> But accept works.  --- On Wed, 10/28/09,
> >>>>           
>      Dan
> >>>>
> >>>>        <d...@xxxxxxxx>
> >>>>        wrote:
> >>>>           
>               From: Dan
> <d...@xxxxxxxx>
> >>>>           
>     Subject: Re:  Tproxy4+squid:
> >>>>           
>            ebtables
> >>>>
> >>>>        wiki
> >>>>           
>               To: "Marko
> Kotar" <kotarma...@xxxxxxxxx>
> >>>>           
>     Cc: squid-users@xxxxxxxxxxxxxxx
> >>>>           
>     Date: Wednesday, October 28, 2009, 1:03
> >>>>           
>            AM
> >>>>
> >>>>           
>     Marko Kotar wrote:
> >>>>           
>                
>               Hi,
> >>>>           
>         You have incorrect commands in
> squid
> >>>>           
>              
>    wiki for
> >>>>
> >>>>        tproxy4
> >>>>           
>               ebtables:
> >>>>           
>                
>               I figure
> out that it is
> not
> >>>>           
>              
>    "--redirect-target
> >>>>
> >>>>        DROP"
> >>>>           
>               but it
> is  "--redirect-target ACCEPT"
> >>>>           
>            .
> >>>>
> >>>>           
>     With ebtables using broute ACCEPT and DROP
> >>>>           
>            have
> >>>>
> >>>>        special
> >>>>           
>              
> meanings.  DROP means route the frame
> >>>>           
>            and
> >>>>
> >>>>        ACCEPT means
> bridge the frame.
> >>>>           
>               
> >>>> http://ebtables.sourceforge.net/misc/ebtables-man.html
> >>>>
> >>>>           
>                
>               There is a
> "-j REDIRECT" 
> >>>> which should
> >>>>           
>              
>    be in
> >>>>
> >>>>        lowercase
> >>>>           
>               letters "-j
> redirect".
> >>>>           
>                
>               Thanks for
> guide.
> >>>>
> >>>>           
>         Marko
> >>>>
> >>>>
> >>>>
> >>>>           
>              
>    Dan
> >>>>
> >>>>
> >>>>
> >>>>       
> >>>     
> >>
> >>   
> >
> >
> 
> 


      


[Index of Archives]     [Linux Audio Users]     [Samba]     [Big List of Linux Books]     [Linux USB]     [Yosemite News]

  Powered by Linux