netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "H. Peter Anvin" <hpa@zytor.com>
To: netdev@vger.kernel.org
Subject: ProxyARP and IPSec
Date: Tue, 22 Aug 2006 17:31:56 -0700	[thread overview]
Message-ID: <44EBA1FC.5000801@zytor.com> (raw)

Hello all,

I am having a puzzlement combining ProxyARP and IPsec.  Specificially, I 
want to take a single address from a local LAN and extend it via IPsec 
to another site.

Unfortunately IPsec tunnels, unlike all other tunnels, don't have 
pseudo-devices associated with them.  I understand this to be from 
desire of uniformity with the other modes of IPsec, but this is one of 
many cases where it causes problems.

Specifically, Linux will not ProxyARP for an address unless it has a 
route for it, *and* that route either has a DNAT marking or points to a 
different interface than the input interface:

net/ipv4/arp.c:

    855                  } else if (IN_DEV_FORWARD(in_dev)) {
    856                          if ((rt->rt_flags&RTCF_DNAT) ||
    857                              (addr_type == RTN_UNICAST  && 
rt->u.dst.dev != dev &&
^^^^^^^^^^^^^^^^^^^^
    858                               (arp_fwd_proxy(in_dev, rt) || 
pneigh_lookup(&arp_tbl, &tip, dev, 0)))) {

However, since IPsec tunnels don't have interfaces associated with it, 
the route to the other side of the IPsec tunnel with point to the same 
interface (there is, elsewhere, a security policy associated with the 
address), and this selection will fail.

Does anyone know of a trick around this issue?

	-hpa

             reply	other threads:[~2006-08-23  0:32 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-23  0:31 H. Peter Anvin [this message]
2006-08-23 19:14 ` ProxyARP and IPSec Thomas Graf
2006-08-23 22:14   ` David Miller
2006-08-23 23:18     ` Alexey Kuznetsov
2006-08-24  1:12       ` H. Peter Anvin
2006-08-24  1:14         ` H. Peter Anvin
2006-08-24  2:20           ` Andy Gay
2006-08-24  4:14             ` H. Peter Anvin
2006-08-24 12:50               ` Alexey Kuznetsov
2006-08-26  4:16                 ` H. Peter Anvin
2006-09-02 15:36                   ` Stephen J. Bevan
2006-09-02 17:30                     ` H. Peter Anvin
2006-09-02 20:54                       ` Stephen J. Bevan
2006-09-05  5:17                         ` H. Peter Anvin
2006-09-04 22:27                       ` Alexey Kuznetsov
2006-09-05  5:12                         ` H. Peter Anvin
2006-09-05  9:05                           ` Alexey Kuznetsov
2006-09-22 20:36                             ` David Miller
2006-09-23  4:22                               ` Stephen J. Bevan
2006-09-06  2:25                         ` Stephen J. Bevan
2006-08-24 10:50     ` Thomas Graf
2006-09-07 22:28       ` H. Peter Anvin
2006-09-08  7:37         ` Thomas Graf

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=44EBA1FC.5000801@zytor.com \
    --to=hpa@zytor.com \
    --cc=netdev@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).