[KLUG Members] Re: Qualified Host Name -- [Windows] Networking DE-programming

Bryan J. Smith members@kalamazoolinux.org
10 May 2002 00:19:47 -0400


[ You're opening a can of worms that requires a lot of training.  Let's
take it one step at a time.  Windows Networking usually leaves people
"programmed" in what can and cannot be done, or how things work.  It's
not difficult to overcome the inherit assumptions, but it takes a little
time. ]

On Thu, 2002-05-09 at 22:57, Vernon Jenewein wrote:
> When you do an install in either Mandrake, Redhat, or Linux Redmond for
> that matter, there comes a point where it asks for a "Qualified Host
> Name".  I've seen examples such as [ host1.handsonhistory.com ] listed
> as well as a default of [localhost.localdomain.com ]  What is the
> qualified host name, and what is it's importance on your network?

First off, modern UNIX systems pretty much _require_ the use of a
hierarchical naming system _by_default_.  Hierarchical naming systems
uses a tree of organizations, with the view that any name in the entire,
global network should be _unique_.  In UNIX, this is the 20 year-old
domain name system (DNS) that has served the Internet well.

A fully qualified domain name (FQDN) is usually nothing more than the
local hostname + the subnet's domain name.  E.g., hostname "mycomputer"
on subnet "home.smithconcepts.com" = FQDN
"mycomputer.home.smithconcepts.com".  Again, this should be a
_globally_unique_ name.

> Is this so that other computers on your network can recognize you?

_Unlike_ most Windows networks (i.e. NetBIOS -- which pre-dates LDAP
implementations like Novell NDS or ActiveDirectory) where you use
NetBIOS which is a flat, "single name" (upto 15 characters),
non-hierarchical naming system (which can get you into all kinds of
trouble you'd never expect, even when not networked), DNS and typical
UNIX resolution _always_ works on FQDN.  I.e., when resolving a Name to
IP address, you almost _always_ give the FQDN to a DNS server, or
whatever name resolver is used (long story).  As such, you _must_ have a
FQDN assigned to your system, _regardless_  whether or not the network
is private or connected to the Internet.

Now some resolvers (i.e. the method in which a name is resolved to an IP
-- which _can_ be other than just DNS, like NIS, LDAP, etc... -- long
story) allow you to specify a "search list" of domain names, or assume
the local domain name should be searched.  I.e., if you try to resolve
"mycomputer" -- it might silently append "home.smithconcepts.com" to it
if "mycomputer" fails to resolve (which is usually does fail to resolve
alone).  As such, you can _usually_ just put the hostname in *IF* you
are on the same subnet with the same domain name (or have setup a
"search list" of other subnets you regularly access).

> In MS when you network you have a computer "Name" and also a
> "Workgroup"

FQDNs and DNS Domains have _nothing_ to do with "Windows Networking" aka
the "System Message Block" (SMB) aka part of the "Common Internet File
System" (CIFS) "Workgroups" or "Domains".  DNS is platform ubiquitous, 
CIFS is Windows-centric.

> so if you wish to share files, and map a network drive,
> I know that I must be part of the same workgroup such as MSHOME or
> else I'm stuck.

That is NOT SO of Windows Networking's underlying SMB (System Message
Block) protocol!  You *CAN* _freely_access_ NetBIOS names _regardless_
of assigned "[SMB] workgroup" or "[SMB] domainname."  Anyone who has
used Samba's client tools knows what I'm talking about.

Unfortunately, Windows tries to "simplify" things by not letting you do
so.  It's a really complicated mess I can describe to you sometime, but
understand there is a _lot_ of "assumptions" that Windows makes in the
effort to "simplify" things with the "workgroup/domain" thing. 
UNIX/Samba will bypass them and give you greater flexibility.

With that said, remember, "Windows Networking" (NetBIOS) networks are
"flat" where you have a single name, no hierarchy.  If you say computer
"joe" -- there can only be one "joe" in your entire network (and you
better not have a username or groupname of the same either with NetBIOS
or things get fucked up quickly ;-).  Again, such Windows Networks do
NOT have to worry about hierarchy issues like UNIX/DNS networks nor any
other networking using a hierarchy like ActiveDirectory.

> If I add a nework drive, like my wifes, and her computer is "pams"
> then I need to type \pams\C to be able to access her C drive.

\\hostname\share (e.g., "\\mycomputer\bjsmith") is part of Microsoft's
Common Internet Filesystem's (CIFS's) Universal Naming Convention
(UNC).  *BUT* you _can_also_ use \\hostname.domainname\share (e.g.,
"\\mycomputer.home.smithconcepts.com\bjsmith") with at least Win/NT
clients systems (i.e. NT 4.0, 2K, XP, although I'm not sure about
Win/DOS systems, i.e. 95, 98, ME).  It depends on the server, SMB
protocol version, etc...  I believe if you are using
LDAP/NDS/ActiveDirectory as your directory system, it is using FQDNs
"behind the scenes" by default too.

Same deal on UNIX.  Samba (the UNIX SMB/CIFS service that makes it look
like a Windows server) supports both just the hostname as well as FQDNs
in UNCs.

NFS (the age-old UNIX-to-UNIX network filesystem) exports /home from my
server "myserver" on domain "home.smithconcepts.com" as NFS path
"myserver.home.smithconcepts.com:/home".  Now I can usually just refer
to it as "myserver:/home" because my UNIX system's resolver _assumes_
that just a hostname means the domain name is the same (and appends
"home.smithconcepts.com" to it if it is also on the same subnet), but
just know it is actually still using the FQDN "behind the scenes".

I know this is a bit confusing.  Just understand that UNIX (DNS)
_always_ uses FQDNs, with optional "domain search lists," where as
Windows does not have to (because NetBIOS is "flat").

> Is Qualified Host Name similar to this?

Again, the FQDN is hostname + domainname -- where the domainname is the
DNS domainname *NOT* an SMB domain/workgroup name.

BTW, if you mess with Samba, you'll quickly learn there is
_absolutely_no_difference_ between a "workgroup" (standalone) and
"domain" (PDC/BDC) technically in the SMB/CIFS protocols.  It's just
something that designates a "set of assumptions" on Windows systems
which UNIX/Samba doesn't give a crap about.  Long story -- very long
story.  ;-P

> Even though we are networked and have file and foler "shares", I
> can find my local windows partitions in Linux,

That's because your Windows system is constantly broadcasting all its
information to your network.  SMB/CIFS uses what is known as "broadcast
discovery" by default.  Novell does this as well.  UNIX does NOT.

> but I don't find any of the 'network' drives listed on my
> wife's computer ( or daughter).

In what regard?  I'm a bit confused.

In Windows Networking, you should only share out drives/directories that
are _local_ to a system.  E.g., share out server A's C: drive as \\A\C
(or whatever).  If your wife's system B mounts \\A\C as F: locally, it
should NOT share it out as \\B\F (or whatever).  It is redundant -- let
alone a performance bottleneck and security issue) -- other systems
should _always_ mount \\A\C to get server A's C: drive (with exceptions
like MS DFS -- long story).  But your wife can feel free to share out
her C: drive as \\B\F (or whatever), because it is local to her system.

There's about 2,000 things you need to learn about network filesystems
before I go any deeper.

Furthermore, UNIX network filesystems (like NFS) work _very_differently_
than Windows Networking (SMB/CIFS) -- like multiuser issues and the fact
that UNIX is "passive" (i.e. quiet, doesn't broadcast things about
itself on a network, unlike Netware/Windows).  Now UNIX has services
like Samba to give it access to more limited, SMB/CIFS single-user
network filesystem capabilities with Windows, but Windows does NOT have
an equivalent to match UNIX's multiuser needs.  Again, long, long, long
stories on that.

> Perhaps it's linked to the way I set up the qualified host name.

No, it shouldn't.  For non-AD Windows Networking, if your Windows
systems are on the network, I can access any of their shares under Linux
_regardless_ of what workgroup they are in.  All your Windows systems
are out broadcasting to the world, so Linux captures that information
and "has fun with it."  Windows systems sit there and go "oh, that
wasn't for me so I won't look at it."

Again, the "CIFS workgroup/domain" model has _nothing_ to do with
DNS/FQDNs.  You define your Linux box's _default_ "CIFS
workgroup/domainname" in the /etc[/samba]/smb.conf file with the setting
"workgroup = blah".  You usually do this _after_ installation (unless
you are using SMB authentication in a native NT PDC/BDC domain as a
client -- long story).

Accomodating "Windows Networking" SMB/CIFS directories is usually NOT
something UNIX systems need to address at installation time, _unlike_
DNS which _does_ run the Internet.

-- Bryan J. Smith
   Contributing Author, "Samba Unleashed"

-- 
The US government could be 100x more effective, and 1/100th the
Constitutional worry, if it dictated its policy to Microsoft as
THE MAJOR CUSTOMER it is, and not THE REGULATOR it fails to be.
---------------------------------------------------------------
Bryan J. Smith, SmithConcepts, Inc.   mailto:b.j.smith@ieee.org
Engineers and IT Professionals     http://www.SmithConcepts.com