From: "Martin A. Brown" <mabrown-lartc@securepipe.com>
To: lartc@vger.kernel.org
Subject: Re: [LARTC] Proxy Arp question
Date: Sun, 04 May 2003 20:56:54 +0000 [thread overview]
Message-ID: <marc-lartc-105208186324925@msgid-missing> (raw)
In-Reply-To: <marc-lartc-105184920302860@msgid-missing>
Hello all,
This is a correction to Christopher's post and a further explanation of
proxy ARP with reference to Don Cohen's excellent post [1] of earlier
today.
: as far as i know, it would be difficult to tinker with proxy_arp, but
: you could always turn off arp on the "public" interface with ifconfig.
:
: #ifconfig eth0 -arp
While this does indeed turn off ARP entirely on an interface, this also
prevents any ARP replies from an interface, including proxy ARP replies.
I haven't yet had the opportunity to digest all of Don Cohen's message of
earlier today, but my first reading of his post agreed with my
understanding of proxy ARP by the linux kernel. I would make two
general notes of caution about using proxy ARP.
- The interface on which the user is using proxy ARP must have ARP
support. Practically speaking, this means that if the NOARP flag*
is visible in "ip link" or "ifconfig" output, proxy ARP will not
work.
- The router which is performing proxy ARP must have a route (for
the IP address of the destination) which uses an interface other
than the interface on which the router is performing proxy ARP.
In other words, the kernel will not send an ARP reply on interface
Y for IP address X if IP address X is reachable through interface
Y. Make sure your routing table is correct. (This is not a problem
for Joseph.) (Upon re-reading Don's post, he says the same thing
more eloquently.)
: this is a tactic employed by the linux virtual server project, and
: *might* do what you want. couldn't test here because of some
: particularities with my setup.
Because machines functioning as realservers in an LVS cluster often host
the same IP address on multiple machines, ARP suppression is required to
prevent uncontrolled ARP flux from defeating the benefits of load
balancing. The complete suppression of ARP would break a network using
proxy ARP.
: a shame that bridging doesn't allow netfiltering (iptables) control --
: this would correspond most closely to your goal -- a transparent layer 2
: bridge, with layer 3 filtering.
Bridging does allow packet filtering with netfilter. You need to use the
br+nf patches to the kernel [2]. In fact, at the main bridging site, [3],
there are links to a number of documents, and Shawn Grimes has even
written an entire PDF about how to use packet filtering on a bridge [4].
Also, consult the bridge mailing list archives [5].
: clearly, iptables rules on the INPUT and OUTPUT chains pursuant to the
: firewall itself should minimize your risk
Christopher--you could be a bit clearer in expressing this answer. I
think Don Cohen's answer to the question "can I use a different set of
addresses for managing the firewall" was more complete. The firewall
could make use of RFC 1918 addresses and limit connections to these
address to a known set of hosts. You are correct, though that INPUT and
OUTPUT chains would minimize risk to the firewall itself, whether bridging
or not.
Joseph--I have a question for you about how your shorewall box is
detecting when you move a host from one interface to another? I have been
puzzling over ways to do this, and I believe I have stumbled on one, but I
was hoping you might have already solved this problem. Naturally, the
shorewall box needs to know at all times the location of your roving host,
so autodetection of the location of the box might be handy.
-Martin
* Here is an example of an ethernet interface with ARP functionality
suppressed. "ip link" and "ifconfig" output is shown for completeness.
# ip link show dev eth1
3: eth1: <BROADCAST,MULTICAST,NOARP,UP> mtu 1500 qdisc pfifo_fast qlen 100
link/ether 00:80:c8:e8:1e:fc brd ff:ff:ff:ff:ff:ff
# ifconfig eth1
eth1 Link encap:Ethernet HWaddr 00:80:C8:E8:1E:FC
inet addr:10.10.20.89 Bcast:10.10.20.255 Mask:255.255.255.0
UP BROADCAST RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:547 errors:0 dropped:0 overruns:0 frame:0
TX packets:7293 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:62174 (60.7 Kb) TX bytes:399178 (389.8 Kb)
Interrupt:12 Base address:0x6600
[1] http://mailman.ds9a.nl/pipermail/lartc/2003q2/008315.html
[2] http://bridge.sourceforge.net/devel/bridge-nf/
[3] http://bridge.sourceforge.net/docs.html
[4] http://bridge.sourceforge.net/docs/Firewalling%20for%20Free.pdf
[5] http://www.math.leidenuniv.nl/pipermail/
--
Martin A. Brown --- SecurePipe, Inc. --- mabrown@securepipe.com
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
next prev parent reply other threads:[~2003-05-04 20:56 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-05-02 4:18 [LARTC] Proxy Arp question Joseph Watson
2003-05-02 7:31 ` christopher cuse
2003-05-03 5:02 ` Joseph Watson
2003-05-03 7:35 ` christopher cuse
2003-05-03 15:27 ` Joseph Watson
2003-05-04 18:53 ` Don Cohen
2003-05-04 19:41 ` christopher cuse
2003-05-04 20:56 ` Martin A. Brown [this message]
2003-05-04 22:53 ` Joseph Watson
2003-05-04 23:15 ` Martin A. Brown
2003-05-06 0:15 ` Joseph Watson
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=marc-lartc-105208186324925@msgid-missing \
--to=mabrown-lartc@securepipe.com \
--cc=lartc@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.