Search squid archive

RE: Tproxy4+squid: ebtables wiki

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

 



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