atom feed9 messages in org.freebsd.freebsd-questionsRe: proxy ARP on ethernet??
FromSent OnAttachments
Keith MitchellFeb 14, 1996 1:40 pm 
Michael SmithFeb 14, 1996 8:17 pm 
Garrett A. WollmanFeb 15, 1996 8:08 am 
matthew c. meadFeb 15, 1996 10:04 am 
Garrett A. WollmanFeb 15, 1996 10:54 am 
matthew c. meadFeb 15, 1996 11:01 am 
Garrett A. WollmanFeb 15, 1996 11:16 am 
matthew c. meadFeb 15, 1996 11:29 am 
NarviFeb 16, 1996 3:44 am 
Subject:Re: proxy ARP on ethernet??
From:Narvi (nar@haldjas.folklore.ee)
Date:Feb 16, 1996 3:44:27 am
List:org.freebsd.freebsd-questions

------------------------------

From: "matthew c. mead" <mme@Glock.COM> Date: Thu, 15 Feb 1996 14:29:22 -0500 (EST) Subject: Re: proxy ARP on ethernet??

Garrett A. Wollman wrote:

No you should not be able to do so. It might be possible, but only because of insufficient error checking in the kernel.

Proxy arping with packet forwarding having two interfaces on the same subnet is not supposed to be a valid option? I've know a lot of people to do this when the provider has hubs that only allow one mac address per port...

IP addresses name interfaces, not hosts. It is not valid to assign

I know what IP addresses name :-)

the same IP address to two interfaces. (We actually sort-of support a configuration called a ``half-router'' where this is not true, but only one of the interfaces can be multiple-access; the others have to be point-to-point. I would just as soon not support this either, but enough people use it to make desupporting in politically impossible.)

What I'm talking about is an alternative that will allow him to do what he wants - having two separate ip addresses for on his "pseudo-router" machine, both on the same subnet... This would allow forwarding between the two interfaces, and proxy arping so that the hosts on the internal wire could get to the rest of the net as well.

This can be done - though it is not too simple. Let's assume he has got a regular class C net: x.y.z.0...255. nad he wants, for some reason do it so that half the adresses were on one wire and half on the other, yet so that no-one else should bother about it.

So - split the adress space into two - the parts need not be equal, but one of them must be in the upper part of the other - the first from x.y.z.0 - x.y.z.191 and the second from x.y.z.192 - x.y.z.255. Please don't argue about the sizes of the subnets yet - read a bit on.

The trick is to have the FreeBSD router have one IP address from the first subnet and the other one from the second. Now you tell to the FreeBSD router and the hosts on the second subnet the real subnet and broadcast address, enable proxy arp on the FreeBSD router and don't tell the hosts/routers on the first subnet anything about the changes - if one of them want's to talk to a host on the second one, it just asks for it's ethernet address, it does so and the FreeBSD router proxy answers and fowards the packet.

Pros and cons:

1) may require to rename/renumber some hosts 2) if you can't have space at the end of the first subnet's address space, you will loose 2 IP addresses, if you can, still 1 IP. 3) Lets you do what you want

- -matt

Sander.