arplookup 192.168.1.254 failed: host is not on local network

Lowell Gilbert freebsd-questions-local at be-well.ilk.org
Tue Mar 1 19:21:31 GMT 2005


Mark Edwards <mark at antsclimbtree.com> writes:

> I've just put my server on a new connection that requires DHCP, even
> for a fixed IP.  Anyway, the DHCP server gives a fixed public internet
> IP to my server, but it communicates on 192.168.1.254, which angers
> FreeBSD (4.11).  I get a lot of the following:
> 
> arplookup 192.168.1.254 failed: host is not on local network
> 
> Which makes sense, because as far as FreeBSD is concerned, interface
> ep1 is on the internet not on a LAN.

Exactly.

> Looking on the net, I found the following suggestion, which does cure
> the errors:
> 
> /sbin/route add -net 192.168.1.254 -netmask 255.255.255.0 -interface 1
> 
> My question is, is that the proper way to deal with this?

It's not bad.  I would use -host instead of -net and -netmask, and it
will fail if the DHCP server ever changes its address, but what you
are doing is is working and fairly likely to stay that way.

>                                                            I have to
> issue this statement whenever the dhclient is restarted.  I've
> currently placed it in my firewall script, but is there a proper or
> more elegant way to achieve this?

If you want something more elegant, you could specify a script for one
of the dhclient-script(8) hooks, and put the route in there.  You
would be able to refer to the interface and server address by
variables which dhclient-script provides...

-- 
Lowell Gilbert, embedded/networking software engineer, Boston area
		http://be-well.ilk.org/~lowell/


More information about the freebsd-questions mailing list