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 20:53:34 GMT 2005
Mark Edwards <mark at antsclimbtree.com> writes:
> On Mar 1, 2005, at 11:21 AM, Lowell Gilbert wrote:
>
> > 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.
>
> How would you phrase the command? I just tried -host and couldn't get
> it to work.
e.g.,
route add -host 172.10.212.2 -interface bge0
> >> 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...
>
> Great! I put the command in /etc/dhclient-exit-hooks and it works
> great on a reboot. I don't really see which variables I can use in
> the dhclient-script man page though. Do you know which variables
> would do this?
$interface
$new_ip_address
I can't seem to find anywhere that the server address is passed along, though.
--
Lowell Gilbert, embedded/networking software engineer, Boston area
http://be-well.ilk.org/~lowell/
More information about the freebsd-questions
mailing list