Re: controlling ARP Proxy scope?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 6 Jul 2005, Zdenek Radouch wrote:

Well, how do I tell it that I want to proxy for all machines on the
192.168.13.128/29 net attached to eth0.5, but not for any of
the machines on 192.168.2.0/24 attached to eth0.6 ?

For whom going where?

What is eth0.5? A tagged 802.1q vlan on eth0, or something else? (i.e. is it a interface of it's own according to ip link show, or just an alias?)

It just occured to me that if I misunderstood the semantics, the setup
may be wrong.  I assumed that turning the proxy arp on on interface X
would make the interface X answer (proxy) the ARP queries.
Is that correct?

Yes.

It is equally mind boggling to me how this could ever work with a stack
allowing source-based routing, that is, a stack allowing coexistence of
multiple, possibly conflicting routing tables.

Why not?

Because in rule-based routing, a table entries are only valid when the
corresponding
rule hits, based on the source address.  In the absence of a source address
as is the case of an ARP request, how could you possibly determine which
of the routing tables should be consulted to decide whether the ARP query
should be answered?

ARP requests do have valid source addresses, at least the normal ARP queries. The duplicate IP check ARP requests and a few other obscure cases don't.

I agree that you wouldn't want to enter discrete addresses.
But it could be a simple command using the standard subnet notation:

arp_proxy --add 10.1.2.0/24 [11:22:33:44:55:66]
(optional Eth address for 3rd party proxy ARP).

Which to my experience is all automatic from the routing table. But I do remember some slight complications in source routed networks but nothing major. Before arp_ignore existed I often used source routing as a substitute for keeping proxy-ARP at bay but I don't remember the exact details.

I only experienced problems when there was other IP networks on the same Ethernet but not known to the box. In this case I had to enable the arp_ignore sysctl to stop answering "other" ARP queries for networks not defined on the same Ethernet interface. I also used the arp_announce to keep the source address of ARP responses under control.

In addition in a setup which involved stations with IP addresses identical to that of one of my own other Ethernet interfaces I had to hack the kernel slightly to make it possible to ignore ARP duplicate IP check packets on the relevant interfaces. But this is very special setup involving NAT and other nastinesses which shouldn't be encountered in any reasonably normal network situation.

Regards
Henrik
-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux