Two NIC's connected to same subnet: routing question

Jon Noack noackjr at alumni.rice.edu
Thu Feb 17 12:42:28 PST 2005


Henry Su wrote:
> You can configure both NIC as /32. You also need proxy arp installed and
> listen on both NIC. Then the traffic should be able to follow between two
> NICs. Since Proxy ARP always answers its MAC to clients, so the clients can
> always send traffic to em1 or em0. Based on client's mac entry in the ARP
> table, client to client traffic is easily transferred. Other traffic should
> be able to direct to default gateway.

I gave this a shot and failed miserably.  Admittedly, I know 
little-to-nothing about arp, so hopefully it's obvious why I failed.

I have this in my /etc/rc.conf:
network_interfaces="fxp0 fxp1 lo0"
ifconfig_fxp0="inet 10.0.0.4 netmask 255.255.255.255 link0"
ifconfig_fxp1="inet 10.0.0.5 netmask 255.255.255.255 link0"
defaultrouter="10.0.0.1"

Created an arp table file called /etc/arp.table (built-in dual fxps so 
the macs are actually consecutive):
10.0.0.4 00:01:02:03:04:06 pub
10.0.0.5 00:01:02:03:04:05 pub

And had this in /etc/rc.local:
/usr/sbin/arp -f /etc/arp.table

On boot I ended up with the following error message and a blank arp table:
set: proxy entry exists for non 802 device

Do I need to add in some static routes to make this work?  What am I 
missing?

Would this make it possible to have each adapter/IP use a different 
gateway?  I ask because I have 2 T1s and I'm curious if a single machine 
could utilize both.  It's an SMP box so I was thinking of running 2 
peered instances of Squid on separate IP addresses with each IP address 
using one of the T1s as the gateway.  That way I could force my power 
users through one connection and everyone else through the other while 
still gaining the benefit of caching everything for everyone.  It's 
probably needlessly complicated, but it sounds fun... ;-)

Jon

> -----Original Message-----
> From: owner-freebsd-net at freebsd.org
> [mailto:owner-freebsd-net at freebsd.org]On Behalf Of Xin LI
> Sent: Tuesday, February 01, 2005 10:12 AM
> To: freebsd-net at freebsd.org
> Subject: Two NIC's connected to same subnet: routing question
> 
> 
> Dear folks,
> 
> I think I got confused with the routing problem we will have when at
> least two NIC's are connected into the same subnet.
> 
> The scenario:
> em0: 192.168.0.1/24
> em1: 192.168.0.2/24
> 
> We can't simply configure like this, since 192.168.0.0/24 network route
> exists as soon as either em0 or em1 is up.  A workaround for this is
> that we assign 192.168.0.2/32 for em1, but that has another issue that
> all traffics will go through em0 for "outgoing", say, outside the
> current network.
> 
> A google of the issue has indicated that the "Move ARP out of routing
> table" work done last April should have resolved this, as "With this
> change it is possible to have more than one interface in the same IP
> subnet and layer 2 broadcast domain.".  However, what I have found from
> our mailing list archive says only to assign /32 IP address, or remove
> routing item from route table, which is essentially identical to the /32
> solution.
> 
> So is there any way to utilize the both NIC's?  I think I have been
> confused :-(
> 
> Cheers,
> --
> Xin LI <delphij delphij net>  http://www.delphij.net/


More information about the freebsd-net mailing list