All of lore.kernel.org
 help / color / mirror / Atom feed
From: Herve Eychenne <rv@wallfire.org>
To: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>,
	Harald Welte <laforge@netfilter.org>
Cc: netfilter-devel@lists.netfilter.org
Subject: Re: (D)NAT with IPv6 (was "nf_conntrack & NAT")
Date: Wed, 7 Dec 2005 15:54:38 +0100	[thread overview]
Message-ID: <20051207145438.GA5617@eychenne.org> (raw)
In-Reply-To: <Pine.LNX.4.58.0512071201460.17863@blackhole.kfki.hu>

On Wed, Dec 07, 2005 at 12:22:22PM +0100, Jozsef Kadlecsik wrote:

> On Tue, 6 Dec 2005, Herve Eychenne wrote:

> > On Tue, Dec 06, 2005 at 09:13:21PM +0530, Harald Welte wrote:
> >
> > > for stuff like redirecting traffic, all you really need is stateless
> > > rewriting of the destination address.  If people want that, the entire
> > > implementation fits in a single ip6tables target.  no relation to
> > > nf_conntrack at all.
> >
> > Stateless?  And what if you want the response (of the packets which have
> > been redirected) to come back with their initial address, as if they
> > had not been redirected? (if the client shouldn't know that, if this
> > should be transparent to him)
> > This is also known as DNAT, for which the state has be stored, right?
> >
> > So, in one word: if we definitely need DNAT with IPv4 today, why
> > wouldn't we need DNAT with IPv6?

> IPv6 is not just IPv4 with a larger address space. Definitely there is no
> need for DNAT in order to make a server with private address available.
> But I can imagine for example to replace the "need" for DNAT with anycast
> in IPv6 for load balancing.

I don't want to use DNAT for load balancing.  I want to use DNAT (and
I'm using it just now with IPv4) to redirect traffic destined to a
certain IP/port to another IP (private or not) in the most transparent
way. There are plenty of scenari where I'm willing to do that.



For those who need practical examples (others can stop here) that I'm
regularly facing myself, here it is.

Then MX of domain points on host A, and I want to redirect SMTP traffic
to host B (also in my network) in the most atomic way.
DNS propagation can be slow (caching), and user proxying is too slow
(and not transparent).
If there are miraculous mecanisms in IPv6 which enable to achieve that
redirection as atomically and quickly that DNAT, please let me know.

And that's only one example.
Another? Ok... ;-)

Lets say I have a DNS entry that points to a certain IP address. But
I have a problem (configuration, whatever) with http server on this host,
and I want the web traffic destined to this IP on port 80/tcp (but not
other services!) to be handled by a given server (IP2), which already
handles several virtualhosts.
So I use:  -d IP1 -p tcp --dport 80 -j DNAT --to IP2:80

And on top of that, imagine that it is not convenient (configuration
issues, server not powerful enough, restrictive SSL certificate, whatever)
to handle https traffic in this host (IP2) as well...
So I would redirect https traffice on server 3 (IP3) instead:
-d IP1 -p tcp --dport 443 -j DNAT --to IP3:443

Once everything is OK, I can probably change DNS entries accordingly and
certainly get rid of some DNAT rules... (even if I don't see well how I
could transparently handle HTTP traffic on one server, and HTTPS on
another, anyway...)
But the DNAT rule are definitely useful in the meantime, unless I'm
showed something that would achieve exactly the same in a more IPv6 way...

 Herve

-- 
 _
(°=  Hervé Eychenne
//)
v_/_ WallFire project:  http://www.wallfire.org/

  reply	other threads:[~2005-12-07 14:54 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-11-23 11:30 nf_conntrack & NAT Krzysztof Oledzki
2005-11-23 12:25 ` Yasuyuki KOZAKAI
2005-11-23 13:20   ` Herve Eychenne
2005-11-23 13:24     ` Jan Kasprzak
2005-12-06 15:43       ` Harald Welte
2005-12-06 17:31         ` Herve Eychenne
2005-12-07  7:05           ` Harald Welte
2005-12-07  7:00             ` Patrick Schaaf
2005-12-07 13:06               ` Harald Welte
2005-12-07  9:41                 ` Patrick Schaaf
2005-12-07 12:02             ` (D)NAT with IPv6 (was "nf_conntrack & NAT") Herve Eychenne
2005-12-07 11:22           ` nf_conntrack & NAT Jozsef Kadlecsik
2005-12-07 14:54             ` Herve Eychenne [this message]
2005-12-07 15:09               ` (D)NAT with IPv6 (was "nf_conntrack & NAT") Jozsef Kadlecsik
2005-12-08 11:41                 ` Herve Eychenne
2005-12-08 11:56                   ` Patrick Schaaf
2005-12-09  4:56                     ` Harald Welte
2005-12-09  8:56                       ` Krzysztof Oledzki
2005-12-09  9:16                         ` Patrick Schaaf
2005-12-09  4:57                     ` Harald Welte
2005-12-12 20:42                       ` Balazs Scheidler
2005-12-12 22:56                         ` Alexander Samad
2005-12-13  8:57                           ` Balazs Scheidler
     [not found] ` <200511231225.jANCPmnh018866@toshiba.co.jp>
2005-11-23 13:44   ` nf_conntrack & NAT Krzysztof Oledzki
2005-11-25  4:54     ` Yasuyuki KOZAKAI
2005-11-26 23:52       ` Patrick McHardy
2005-11-27  8:42         ` Balazs Scheidler

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20051207145438.GA5617@eychenne.org \
    --to=rv@wallfire.org \
    --cc=kadlec@blackhole.kfki.hu \
    --cc=laforge@netfilter.org \
    --cc=netfilter-devel@lists.netfilter.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.