All of lore.kernel.org
 help / color / mirror / Atom feed
* REDIRECT and IPv6
@ 2007-07-19  0:25 squid3
  2007-07-19  8:59 ` Patrick McHardy
  0 siblings, 1 reply; 7+ messages in thread
From: squid3 @ 2007-07-19  0:25 UTC (permalink / raw)
  To: netfilter

Greetings,

Pardon if this is a dumb question. But I have searched the web, and the
source code for a solution to this one and have reached a brick wall.

I'm upgrading a user-space proxy (squid3) which has in the past done
transparent connections under IPv4-only using SO_ORIGINAL_DST.

The Firewall/router uses iptables and REDIRECT port 80 outbound to port
81. All is fine and dandy when squid listens on 0.0.0.0:81.

With the new code I have to use an IPv6 socket ( [::]:81 ) as the
receiver. With that getsockopt(..., SO_ORIGINAL_DST, ...) always returns
err "92 Protocol not supported." regardless of the IP-level parameters
passed in.

NOTE: All traffic for testing so far has been from IPv4 clients to what
they think is an IPv4 server, but with a dual-enabled middleman. The
'middleman' Software is iptables 1.3.6 on Debian 2.6.21-2-486 (unstable),
squid3 built with g++ 4.1.3.

Can anyone point me in the right direction for a solution that will work?
Ideally one that is protocol-independant, but anything is welcome even an
'upgrade to X'.

Amos Jeffries
Squid3 Development Team




^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: REDIRECT and IPv6
  2007-07-19  0:25 REDIRECT and IPv6 squid3
@ 2007-07-19  8:59 ` Patrick McHardy
  2007-07-19  9:21   ` YOSHIFUJI Hideaki / 吉藤英明
                     ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Patrick McHardy @ 2007-07-19  8:59 UTC (permalink / raw)
  To: squid3; +Cc: Netfilter Development Mailinglist, netfilter

squid3@treenet.co.nz wrote:
> Greetings,
> 
> Pardon if this is a dumb question. But I have searched the web, and the
> source code for a solution to this one and have reached a brick wall.
> 
> I'm upgrading a user-space proxy (squid3) which has in the past done
> transparent connections under IPv4-only using SO_ORIGINAL_DST.
> 
> The Firewall/router uses iptables and REDIRECT port 80 outbound to port
> 81. All is fine and dandy when squid listens on 0.0.0.0:81.
> 
> With the new code I have to use an IPv6 socket ( [::]:81 ) as the
> receiver. With that getsockopt(..., SO_ORIGINAL_DST, ...) always returns
> err "92 Protocol not supported." regardless of the IP-level parameters
> passed in.
> 
> NOTE: All traffic for testing so far has been from IPv4 clients to what
> they think is an IPv4 server, but with a dual-enabled middleman. The
> 'middleman' Software is iptables 1.3.6 on Debian 2.6.21-2-486 (unstable),
> squid3 built with g++ 4.1.3.


You're right, nf_conntrack_ipv4 only registeres SO_ORIGINAL_DST for
AF_INET, changing that should make it work I believe. I feel like
I'm missing something though ..



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: REDIRECT and IPv6
  2007-07-19  8:59 ` Patrick McHardy
@ 2007-07-19  9:21   ` YOSHIFUJI Hideaki / 吉藤英明
  2007-07-19 10:20       ` Patrick McHardy
  2007-07-19  9:48   ` Yasuyuki KOZAKAI
       [not found]   ` <200707190948.l6J9mk02018250@toshiba.co.jp>
  2 siblings, 1 reply; 7+ messages in thread
From: YOSHIFUJI Hideaki / 吉藤英明 @ 2007-07-19  9:21 UTC (permalink / raw)
  To: kaber; +Cc: squid3, netfilter-devel, netfilter

In article <469F280B.3070900@trash.net> (at Thu, 19 Jul 2007 10:59:55 +0200), Patrick McHardy <kaber@trash.net> says:

> You're right, nf_conntrack_ipv4 only registeres SO_ORIGINAL_DST for
> AF_INET, changing that should make it work I believe. I feel like
> I'm missing something though ..

BTW, the name of the socket option is rather bogus.
It should be named IP_xxx, not SO_xxx because
it is in IP level, not in socket level...

--yoshfuji


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: REDIRECT and IPv6
  2007-07-19  8:59 ` Patrick McHardy
  2007-07-19  9:21   ` YOSHIFUJI Hideaki / 吉藤英明
@ 2007-07-19  9:48   ` Yasuyuki KOZAKAI
       [not found]   ` <200707190948.l6J9mk02018250@toshiba.co.jp>
  2 siblings, 0 replies; 7+ messages in thread
From: Yasuyuki KOZAKAI @ 2007-07-19  9:48 UTC (permalink / raw)
  To: kaber; +Cc: netfilter-devel, netfilter

From: Patrick McHardy <kaber@trash.net>
Date: Thu, 19 Jul 2007 10:59:55 +0200

> squid3@treenet.co.nz wrote:
> > Greetings,
> > 
> > Pardon if this is a dumb question. But I have searched the web, and the
> > source code for a solution to this one and have reached a brick wall.
> > 
> > I'm upgrading a user-space proxy (squid3) which has in the past done
> > transparent connections under IPv4-only using SO_ORIGINAL_DST.
> > 
> > The Firewall/router uses iptables and REDIRECT port 80 outbound to port
> > 81. All is fine and dandy when squid listens on 0.0.0.0:81.
> > 
> > With the new code I have to use an IPv6 socket ( [::]:81 ) as the
> > receiver. With that getsockopt(..., SO_ORIGINAL_DST, ...) always returns
> > err "92 Protocol not supported." regardless of the IP-level parameters
> > passed in.
> > 
> > NOTE: All traffic for testing so far has been from IPv4 clients to what
> > they think is an IPv4 server, but with a dual-enabled middleman. The
> > 'middleman' Software is iptables 1.3.6 on Debian 2.6.21-2-486 (unstable),
> > squid3 built with g++ 4.1.3.
> 
> 
> You're right, nf_conntrack_ipv4 only registeres SO_ORIGINAL_DST for
> AF_INET, changing that should make it work I believe. I feel like
> I'm missing something though ..

I wrote getorigdst() for IPv6 at once but threw away it
because of no IPv6 NAT :) I hope that new tproxy will support IPv6 in future.

-- Yasuyuki Kozakai


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: REDIRECT and IPv6
  2007-07-19  9:21   ` YOSHIFUJI Hideaki / 吉藤英明
@ 2007-07-19 10:20       ` Patrick McHardy
  0 siblings, 0 replies; 7+ messages in thread
From: Patrick McHardy @ 2007-07-19 10:20 UTC (permalink / raw)
  To: YOSHIFUJI Hideaki; +Cc: squid3, netfilter-devel, netfilter, kaber

YOSHIFUJI Hideaki / 吉藤英明

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: REDIRECT and IPv6
@ 2007-07-19 10:20       ` Patrick McHardy
  0 siblings, 0 replies; 7+ messages in thread
From: Patrick McHardy @ 2007-07-19 10:20 UTC (permalink / raw)
  To: YOSHIFUJI Hideaki; +Cc: squid3, netfilter-devel, netfilter, kaber

YOSHIFUJI Hideaki / ^[$B5HF#1QL@^[ wrote:
> In article <469F280B.3070900@trash.net> (at Thu, 19 Jul 2007 10:59:55 +0200), Patrick McHardy <kaber@trash.net> says:
> 
> 
>>You're right, nf_conntrack_ipv4 only registeres SO_ORIGINAL_DST for
>>AF_INET, changing that should make it work I believe. I feel like
>>I'm missing something though ..
> 
> 
> BTW, the name of the socket option is rather bogus.
> It should be named IP_xxx, not SO_xxx because
> it is in IP level, not in socket level...


True, but its too late to change, we'd need to keep it around at
least for userspace. With TPROXY redirection should work with all
families, so presuming we'll merge it some day this might actually
be useful.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: REDIRECT and IPv6
       [not found]   ` <200707190948.l6J9mk02018250@toshiba.co.jp>
@ 2007-07-22  9:22     ` Amos Jeffries
  0 siblings, 0 replies; 7+ messages in thread
From: Amos Jeffries @ 2007-07-22  9:22 UTC (permalink / raw)
  To: netfilter-devel; +Cc: netfilter

Yasuyuki KOZAKAI wrote:
> From: Patrick McHardy <kaber@trash.net>
> Date: Thu, 19 Jul 2007 10:59:55 +0200
> 
>> squid3@treenet.co.nz wrote:
>>> Greetings,
>>>
>>> Pardon if this is a dumb question. But I have searched the web, and the
>>> source code for a solution to this one and have reached a brick wall.
>>>
>>> I'm upgrading a user-space proxy (squid3) which has in the past done
>>> transparent connections under IPv4-only using SO_ORIGINAL_DST.
>>>
>>> The Firewall/router uses iptables and REDIRECT port 80 outbound to port
>>> 81. All is fine and dandy when squid listens on 0.0.0.0:81.
>>>
>>> With the new code I have to use an IPv6 socket ( [::]:81 ) as the
>>> receiver. With that getsockopt(..., SO_ORIGINAL_DST, ...) always returns
>>> err "92 Protocol not supported." regardless of the IP-level parameters
>>> passed in.
>>>
>>> NOTE: All traffic for testing so far has been from IPv4 clients to what
>>> they think is an IPv4 server, but with a dual-enabled middleman. The
>>> 'middleman' Software is iptables 1.3.6 on Debian 2.6.21-2-486 (unstable),
>>> squid3 built with g++ 4.1.3.
>>
>> You're right, nf_conntrack_ipv4 only registeres SO_ORIGINAL_DST for
>> AF_INET, changing that should make it work I believe. I feel like
>> I'm missing something though ..
> 
> I wrote getorigdst() for IPv6 at once but threw away it
> because of no IPv6 NAT :) I hope that new tproxy will support IPv6 in future.
> 
> -- Yasuyuki Kozakai


Thanks for everything people.

Well, obviously the REDIRECT is working despite no IPv6 NAT.
What sort of a timeframe should I expect before this case is working?

Amos


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2007-07-22  9:22 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-19  0:25 REDIRECT and IPv6 squid3
2007-07-19  8:59 ` Patrick McHardy
2007-07-19  9:21   ` YOSHIFUJI Hideaki / 吉藤英明
2007-07-19 10:20     ` Patrick McHardy
2007-07-19 10:20       ` Patrick McHardy
2007-07-19  9:48   ` Yasuyuki KOZAKAI
     [not found]   ` <200707190948.l6J9mk02018250@toshiba.co.jp>
2007-07-22  9:22     ` Amos Jeffries

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.