USENIX Technical Program - Abstract - 13th Systems Administration Conference - LISA '99
NetMapper: Hostname Resolution Based on Client Network Location
Josh Goldenhar, Cisco Systems, Inc.
Large buildings, sprawling campuses and multiple remote sites have led
to an explosion in the number of IP networks for corporate computing.
Workgroups are spread over multiple networks. Servers are configured
with multiple network interfaces in an attempt to optimize access.
When geographic or capacity issues arise, separate servers which
replicate desired functionality are placed in network proximity to
their clients. Some of these servers provide tool trees which have
operating system (OS) and architecture specific binaries. The optimal
server or server interface for a given client may or may not
have a presence on the client's network. In such an environment, how
can an administrator guarantee a network client is utilizing the
desired network interface or server?
NetMapper provides a framework
for resolving hostnames (real or virtual) based on the client host's
location within a network hierarchy. For servers with multiple network
interfaces, NetMapper chooses the best interface. For multiple servers
providing replicated services via a virtual hostname, NetMapper
chooses the best server. For file servers providing OS and
architecture specific filesystems, NetMapper chooses the best server
taking into account client OS, architecture and network attributes. In
all cases, 'best' is defined by the NetMapper administrator. As a side
benefit, NetMapper allows systems and network administrators to view
their network hierarchy at-a-glance.
The core of NetMapper
functionality is a Perl module (NetMapper.pm) and a configuration
daemon (nmconfd) which serves the configuration
information to NetMapper clients. NetMapper has been implemented in
the Cisco engineering environment by developing a small program called
localmapper which runs on all UNIX clients and generates
entries in the client's local /etc/hosts file.
localmapper optionally generates a small NFS automounter
map for OS and architecture specific remote partitions. This fairly
small collection of tools allows systems administrators to choose
which servers UNIX network clients use based on geography, workgroup
or any arbitrary rationale that can be defined via groups of networks.