Bug in Graphical Network Configuration???

Tim ignored_mailbox at yahoo.com.au
Fri Aug 25 06:19:54 UTC 2006


Deepak Shrestha:
> Sorry I forgot to mention that I'm not using dial-up. I am using DSL.
> My modem router is acting as DHCP server for rest of the network but
> I have assigned the static address for my FC5 box because I am serving
> a small wiki inside the LAN and planning to use it for public also
> using DynDNS.

In which case, if you don't run a local DNS server (because you want a
DNS server to resolve local host names rather than use hosts files on
each PC), it'd be usual to write the ISP's DNS server IP addresses into
the modem/router, and configure all PCs to use your router as their DNS
server.

That way, if your ISP ever changes, all you do is reconfigure the
modem/router, all the PCs stay the same.

If you do run your own DNS server, for whatever reason, you'd give all
your PCs its address for the DNS server IP addresses.  You could make
your ISP a "forwarder" in the DNS server configuration, if needed.
Again, you'd not to change any of the PCs if your ISP changed their DNS
server address.  And, you wouldn't (probably) need to use their server,
at all (that's how I run).

> The problem with my other widnows machines unable to connect with my
> FC5 box has something to do with the Samba since windows machines uses
> NetBIOS names to locate the computer. So when my host name suddenly
> changed without any notice, the wiki served from FC5 became unavilable
> to windows.

If you're behind a modem/router, individual PCs addressing shouldn't
change (including hostnames).

You've several ways of telling all the PCs on the network what the
addresses are for each PC:

Your modem/router *may* have a local DNS server, that can provide
answers for queries.  Some may tie it in with their DHCP server, as a
little database.  You'd configure all your PCs to use the modem/router
as their DNS server.  If your modem/router is using DHCP to dole out
addresses, it should do that for you, so long as you don't hand
configure all the PCs to use some other DNS server.

You can run a local DNS server on one of your PCs, configure it with
your local network addresses, configure your PCs to use it for their DNS
server.  Of course that server has to be running all the time.  (This is
what I do - run my own DNS server, tied into the DHCP server on one of
my PCs, so machines configured via DHCP are added to the local DNS
server, all automatically.)

You can write hosts files on all the PCs, listing all the local machine
names and IP addresses.  Windows' SMB will look at its lmhosts file
first, for SMB/Samba type of networking.  It's a *similar* construct to
the hosts file, but not quite the same.  You can look at the sample
lmhosts file on Windows or Linux, or read the lmhosts man file, to see
how to make one.  Basically, though, it's just the IP address followed
by the host name (no list of names and aliases).

e.g. 192.168.1.5 printserver

Without the above information, Windows PCs will broadcast queries on the
network, hoping that the right PC will respond.  This generates more
traffic (not really significant on small network), and can make things
slower to work (it has to find the other machine).  

Of course, the above needs you to use consistent addresses.  If your
local PC addresses change, then you can't use the hosts or lmhosts file,
they'll have the wrong data.  Likewise for manually configured DNS
servers.

> Actually  "127.0.0.1       localhost.localdomain   localhost" line was
> there in my hosts file when I first installed FC5. After that I
> changed my hostname, given static IP address, DNS lookup addresses
> etc. through the graphical interface to something else like "zeeweb".
> Now what happened was it removed the line
> "127.0.0.1       localhost.localdomain   localhost"

I've seen that happen.  You're not alone.

> and replaced with my new setting.
> "192.168.1.2          zeeweb"

Adding your hostname and LAN IP address to the machine's own hosts file
would be a normal thing.  Even if you're using DNS, it's handy to have
the machine's own address in there (so long as it's a static one).  That
way, things still work if the DNS server doesn't respond.

> As a result in next boot my "sendmail" and "sm_client" took forever to
> boot trying to resolve the hostname. This is the problem I posted in:
> https://www.redhat.com/archives/fedora-list/2006-July/msg01627.html

Yes, typically those services, and various others, listen out on the
local loopback, as well as others.  The local (internal) networking
works just within the PC, but in the same way as external networking
works (the same processes are involved).  It means that services work
the same, whichever addresses are used.  You can run services on a box
with no external networking, at all (mail, HTTP, anything).

The local interface (traditionally named "localhost", and additionally
as "localhost.localdomain" on Linux - which sometimes have services that
would insist on there being at least one dot in the name) is found at
the 127.0.0.1 numerical IP address (and often at any address starting
with 127.0.0).  It's the computer's way of referring to itself, just as
you'd refer to yourself as "me" or "I".

> The problem was solved by hand editing the /etc/hosts file and adding
> the line back again. Now my etc host files have two line and working
> well:
> ===================================
> 127.0.0.1       localhost.localdomain   localhost
> 192.168.1.2    zeeweb.locallan.org      zeeweb
> ===================================
> 
> After few days I changed my hostname (hand edited /etc/hosts file) and
> now it looks like this:
> ===================================
> 127.0.0.1       localhost.localdomain   localhost
> 192.168.1.2    zeenet.locallan.org      zeenet
> ===================================

Again, that doesn't "set the hostname".  The hostname is set elsewhere.
All the hosts file is doing is associating a name with an numerical IP
address, and optional aliases (the one word abbreviated names listed
after the fully qualified ones with dots in them - you can have several
aliases, if you want).

e.g. 192.168.1.2 zeenet.locallan.org zeenet zeeweb webserver

Of course, the hostname that's set has to match with addresses used by
the network, you can't change one and not the other.  Not, and have
things still work...

> Few days ago my ISP's DNS went down and they gave me new set of DNS
> look up addresses to use. Since I don't know which file contains the
> DNS lookup addresses, I used the graphical interface this time to
> change the DNS lookup address. After saving the setting and
> reactivating the network, other windows mahcine on the LAN couldn't
> reach my FC5 mahcine hosted wiki. I tried to figure out for long time
> and found out that my hostname has changed back to the previous
> setting. This time again I have to hand edit the /etc/hosts file and
> change the host name and all is wokring well again.
> 
> So how do you explain this?

Most likely because you'd changed one thing, somewhere, but not
everywhere that you need to.  In the network configuration GUI, you've
got a place to set the hostname for the machine, places to set the
hostnames per interfaces, and somewhere to type in the entries for the
hosts files (which just tells the TCP/IP stack which addresses are
supposed to be related to each other - it doesn't determine which
addresses are used by which interfaces).

-- 
(Currently running FC4, in case that's important to the thread)

Don't send private replies to my address, the mailbox is ignored.
I read messages from the public lists.




More information about the fedora-list mailing list