Search squid archive

RE: Tproxy4+squid: ebtables wiki

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

 



Great to know that it wasn't something that I have been doing wrong.

What ver of Fedora did you use? Were the netfilter/tproxy mods already
compiled into the kernel?

Thanks,

--Joe

-----Original Message-----
From: Dan [mailto:dan@xxxxxxxx] 
Sent: Monday, November 09, 2009 2:22 PM
To: Roth, Joe
Cc: Irvan Adrian K; Amos Jeffries; squid-users@xxxxxxxxxxxxxxx
Subject: Re:  Tproxy4+squid: ebtables wiki

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