All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pascal Hambourg <pascal.mail@plouf.fr.eu.org>
To: Mail List - Netfilter <netfilter@vger.kernel.org>
Subject: Re: Basic Routing
Date: Mon, 03 Nov 2008 11:54:49 +0100	[thread overview]
Message-ID: <490ED879.2060101@plouf.fr.eu.org> (raw)
In-Reply-To: <490DFA21.3050906@riverviewtech.net>

Hello,

Grant Taylor a écrit :
> 
> You have to have some form of NAT for the aforementioned reason. However 
> it is possible to do this on a layer 2 device via EBTables / IPTables 
> with bridged netfilter traffic enabled.

Ebtables, are you sure ? AFAIK ebtables does only layer 2 MAC address 
translation, not IP address translation. Don't you mean bridge-nf aka 
bridge-netfilter instead of ebtables ?

> In essence from L2 you watch for any traffic coming from the L3 IP 
> address space in question and then NAT the L3 addresses with (on L2) to 
> be the actual L3 address you want to appear as.  The same thing happens 
> in reverse and you tend to have what appears to be a L3 ""router, but in 
> actuality it's purely an L2 device pretending to be / doing the function 
> of an L3 router.

It's far from being that simple. Doing stateful IP address translation 
at layer 2 requires other operations such as fragment reassembly because 
stateful NAT operates at the datagram level, not at the packet level, 
and rerouting and ARP lookup when the destination IP and MAC addresses 
change. IMO these are definitely not layer 2 operations.

> IPTables uses what is considered /stateful/ NAT.  Remember when IPTables 
> introduced connection tracking and the state match extension in 2.4 
> years ago?  Previously IPChains did not have such state.

Ipchains did not have a state match extension, but it had some 
connection tracking for its NAT features (masquerading and port forwarding).

> The (older ?) 
> installs of the IP (ip) command could do /stateless/ NAT.  I say older 
> because I'm not sure that the stateless NAT provided by IP exists any 
> more. ... (checking) ...  According to the IP man page, stateless NAT is 
> no longer supported:  "Warning: Route NAT is no longer supported in 
> Linux 2.6."

Actually the IP_ROUTE_NAT option enabling the old stateless NAT aka 
"fast NAT" or "route NAT" support in the kernel has been removed since 
kernel 2.6.9 only. But a new stateless NAT was added in kernel 2.6.24. 
See option NET_ACT_NAT in the "QoS and/or fair queueing" menu (yeah, I 
guess the location may seem misleading). I have not dug into it, but I 
think it can be set up with the "tc" tool from the iproute package. It 
requires iproute2-2.6.24-rc7 at least.


  reply	other threads:[~2008-11-03 10:54 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-02 16:15 Basic Routing Daniel L. Miller
2008-11-02 17:03 ` Rob Sterenborg
2008-11-02 18:43   ` Daniel L. Miller
2008-11-02 19:53     ` Rob Sterenborg
2008-11-03  1:59       ` Daniel L. Miller
2008-11-02 20:04     ` Grant Taylor
2008-11-02 20:51     ` Grant Taylor
2008-11-03  1:52       ` Daniel L. Miller
2008-11-03  2:34         ` Grant Taylor
2008-11-03 19:29           ` Daniel L. Miller
2008-11-03 19:39             ` Daniel L. Miller
2008-11-03 20:26               ` Grant Taylor
2008-11-05  0:00                 ` Daniel L. Miller
2008-11-05  5:21                   ` Rob Sterenborg
2008-11-05 15:56                     ` Grant Taylor
2008-11-05 18:22                       ` Rob Sterenborg
2008-11-05 18:30                         ` Grant Taylor
2008-11-05 19:49                           ` Rob Sterenborg
2008-11-05 15:24                   ` Grant Taylor
2008-11-03 23:40               ` Amos Jeffries
2008-11-04 23:13             ` Grant Taylor
2008-11-04 23:53               ` Daniel L. Miller
2008-11-05 12:24                 ` John Haxby
2008-11-05 17:31                   ` Grant Taylor
2010-09-20 21:40                     ` Daniel L. Miller
2010-09-20 23:41                       ` Jan Engelhardt
2010-09-21  3:34                       ` Grant Taylor
2008-11-05 17:17                 ` Grant Taylor
2008-11-02 19:06   ` Grant Taylor
2008-11-03 10:54     ` Pascal Hambourg [this message]
2008-11-03 16:35       ` Grant Taylor
  -- strict thread matches above, loose matches on Subject: below --
2014-10-04  1:10 Basic routing John Smithee
2014-10-04  1:24 ` John Smithee
2014-10-04  8:50   ` George Botye
2014-10-04  1:34 ` Neal Murphy
2014-10-04  2:52   ` John Smithee
2014-10-04  3:05     ` Dennis Jacobfeuerborn
2014-10-04  5:02     ` Neal Murphy
2014-10-04  7:04     ` John Lister
2014-10-04 11:06       ` John Smithee
2014-10-04 13:56         ` Thomas Bätzler
2014-10-04 15:07           ` John Smithee
2014-10-04 17:44             ` John Smithee
2014-10-05 15:41               ` John Lister
2014-10-06  9:41               ` André Paulsberg

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=490ED879.2060101@plouf.fr.eu.org \
    --to=pascal.mail@plouf.fr.eu.org \
    --cc=netfilter@vger.kernel.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.