All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jesse Molina <jesse@opendreams.net>
To: Tore Anderson <tore.anderson@redpill-linpro.com>
Cc: netfilter@vger.kernel.org
Subject: Re: How do we arp for NAT?  Secondary IPs, proxy arp? something else?
Date: Sun, 24 May 2009 14:02:41 -0700	[thread overview]
Message-ID: <4A19B5F1.4080000@opendreams.net> (raw)
In-Reply-To: <4A192D38.90008@redpill-linpro.com>


That's a pretty good suggestion, but it's more of a workaround than 
something that actually addresses the issue at hand.  I'm looking for a 
solution on the GNU/Linux host, not in the world around it.

To restate my question:  What alternative ways are there to make the 
GNU/Linux system reply to ARP requests for an IP, without that IP being 
an actual interface on the host, or that interface must not be used by 
local services *in any way*, for the reasons of using it via SNAT/DNAT?

Here is an example where the solution you suggested would not work:  I 
have a Qwest ADSL line with a /29 network.  That's what we have, and 
it's not going to change.  Qwest will not issue you a /30 for the 
point-to-point between the ADSL router device and your GNU/Linux 
firewall.  The ADSL router's filtering and firewall capabilities suck or 
just don't exist.  A bridge firewall would work here, but we could not 
use NAT and RFC1918 addresses.  We have 100 actual hosts on that RFC1918 
network, but only four of them need a public resource, and they are all 
tcp/80 web servers.

All commercial firewall products that I know of can do this.  You don't 
give your Cisco ASA/PIX a secondary IP -- the nat or static statement 
induces the host to ARP for the IP that you have assigned for the 
translation.  Same thing with Checkpoint, same thing with NetScreen.

Thanks for the suggestion though -- that's certainly a good one, but it 
still seems like there is functionality missing from the Linux kernel to 
handle this, or it's somewhere that I don't know of.



Tore Anderson wrote:
> Hi Jesse,
> 
> * Jesse Molina
> 
>> What else is there?  Loop interfaces with proxy arping?  I've been
>> reading about some functionality for NAT in the ip tool (ip route add
>> nat ...) but it looks depreciated.  There also seems to be something
>> like "ip rule add nat ..." but I've not figured that out yet.  I had
>> read somewhere that "ip route add nat ..." specifically would arp for
>> the translated address, but again, the man pages says that's depreciated
>> in the 2.6 kernel.
> 
> I'd simply route the IP adresses used for NAT to your Linux-based
> firewall, if I were you.  That way you'll only need a /30 link network
> to be used on the public interface, while the addresses used for NAT do
> not have to be local to the firewall in any way.  As an added bonus
> you'll get less ARP traffic on the public interface, as the upstream
> router only needs to learn the L2-address of the next-hop router (your
> firewall, that is).
> 
> BR,

-- 
# Jesse Molina
# Mail = jesse@opendreams.net
# Page = page-jesse@opendreams.net
# Cell = 1.602.323.7608
# Web  = http://www.opendreams.net/jesse/



  reply	other threads:[~2009-05-24 21:02 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-24 10:37 How do we arp for NAT? Secondary IPs, proxy arp? something else? Jesse Molina
2009-05-24 11:19 ` Tore Anderson
2009-05-24 21:02   ` Jesse Molina [this message]
2009-05-24 21:55     ` Tore Anderson
2009-05-24 23:27     ` Mike Wright
2009-05-25  9:14     ` Pascal Hambourg
2009-05-29  8:09       ` Jesse Molina
2009-06-12  7:12       ` Jesse Molina
     [not found] ` <20090524164956.6f3fa24e@catlap>
2009-05-24 21:15   ` Jesse Molina
2009-05-25  4:51 ` Robert Nichols
2009-05-25  7:21 ` Покотиленко Костик

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=4A19B5F1.4080000@opendreams.net \
    --to=jesse@opendreams.net \
    --cc=netfilter@vger.kernel.org \
    --cc=tore.anderson@redpill-linpro.com \
    /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.