*BSD News Article 46062


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!harbinger.cc.monash.edu.au!simtel!zombie.ncsc.mil!news.mathworks.com!gatech!howland.reston.ans.net!news.moneng.mei.com!sol.ctr.columbia.edu!startide.ctr.columbia.edu!wpaul
From: wpaul@ctr.columbia.edu (Bill Paul)
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: Re: Error : No route to host
Date: 26 Jun 1995 17:18:13 GMT
Organization: Columbia University Center for Telecommunications Research
Lines: 106
Message-ID: <3smq4l$i9j@sol.ctr.columbia.edu>
References: <cheema.804152153@nntp.msstate.edu>
NNTP-Posting-Host: startide.ctr.columbia.edu
X-Newsreader: TIN [version 1.2 PL2]

Daring to challenge the will of the almighty Leviam00se,
Mubashir Cheema (cheema@earth.sparco.com) had the courage to say:

: Hello world,

: I am new to BSD and having a problem after successfully installing it.
: I can access everybody on our local subnet but I can't get out.

: If I try to ping or log into a machine off our local subnet it says :
: No route to host

This means you don't have a default route in your routing table. A default
route entry should look more or less like this:

[/home/wpaul]:skynet{42}% netstat -rn
Routing tables

Internet:
Destination      Gateway            Flags     Refs     Use     Netif Expire
default          128.59.64.65       UGSc        3       88       sl0

This says that all traffic that doesn't match any other routing rule
should be forwarded to 128.59.64.65 (which happens to be the address
of my SLIP server).

: Funny thing is, it worked when I insatalled this system over ftp using the 
: boot disk.  We're connected to internet via a T-1 line and I am using
: a 3Com 3c509 ethernet card.  I have even tried installing the system on
: another machine but it didn't help.  Our netmask is 255.255.0.0 and 
: /etc/sysconfig file has that right.  All other Linux and NT machines that
: I have installed in this office work flawlessly as far as networking is
: concerned.

: One thing that I noticed a few seconds ago was that after I reboot the 
: machine networking works fine for initial few minutes and then goes 
: kaput. 

: Any help would be appreciated.  Thanks.

: Mubashir Cheema

It sounds like you've fallen victim to the fickle ways of routed.
I'm guessing that a default route is installed by sysconfig (you
should have specified a default gateway when you did the install)
but somebody on your network is sending out RIP updates that are
causing routed on your system to change the default route entry.

The only machine on your local network that should be sending out
RIP updates is the default gateway (maybe it's a router -- could also
be a workstation with 2 ethernet interfaces). Either the gateway is
misconfigured and the other machines are ignoring its bogus updates,
or one of the other machines on your network is misconfigured and
sending out bogus updates of its own. Maybe it's one of those
'flawlessly working' Linux or NT boxes of yours. :)

To start diagnosing the problem, do a 'netstat -rn' on the FreeBSD box
and check for a default route. If it's missing or pointing at the wrong
machine, odds are it got nuked by a bad RIP packet. You can temporarily
fix the problem by killing routed on the FreeBSD box and then manually
re-entering the default route. If the structure of you network isn't
overly complicated, you can even leave it this way; generally you can
get by with just a route to your local network (which is created
automagically when you do an ifconfig on your ethernet interface) and
a default to handle everything else.


The proper fix is to locate the machine that's sending the bogus
updates and silence it. If this isn't possible for political reasons,
you can try getting gated from gated.cornell.edu. With gated you can
explicitly specify what hosts you consider to be 'trusted gateways' and
accept routing updates only from them. This can help if your problem
is due to a rogue machine that's sending out bad data that you want
to screen out.

The gated package also includes a program called ripquery that you
can use to collect data from machines on your network that are transmitting
RIP updates. This can be handy for finding the bad machine. tcpdump is
good for this sort of thing too. You will note that routed is run with
the -q flag by default in FreeBSD. The -q flag means 'quiet' mode;
it tells routed to listen for and process updates but not to send out
updates of its own (which it will do on machines with more than one
interface). I recently had a problem on my network where somebody over
in the CS department set up an ATM switch and left routed running on
it. The switch has two interfaces (le0 and fa0, its ATM interface),
and its routed began advertising a route to 0.0.0.0 (the default route) to
all the machines on the ATM network. The damage was compounded by an
ethernet/ATM gateway machine we had set up that was *also* running
routed (on purpose though) which effectively forwarded the brain damaged
routing info to all the machines on its own subnet, thereby cutting
iself and all of them off from the Internet.

Many agree that routed is more trouble than it's worth and dump it
in favor of gated.

Hope this helps.

-Bill

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~T~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Bill Paul            (212) 854-6020 | System Manager
Work:         wpaul@ctr.columbia.edu | Center for Telecommunications Research
Home:  wpaul@skynet.ctr.columbia.edu | Columbia University, New York City
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The Møøse Illuminati: ignore it and be confused, or join it and be confusing!
~~~~~~ "Welcome to All Things BSDish! If it's not BSDish, it's crap!" ~~~~~~~