LMHOSTS

From Wikipedia, the free encyclopedia - View original article

 
Jump to: navigation, search

The LMHOSTS (LAN Manager Hosts) file is used to enable domain name resolution under Windows when other methods, such as WINS, fail. It is used in conjunction with workgroups and domains. If you are looking for a simple, general mechanism for the local specification of IP addresses for specific hostnames (server names), use the HOSTS file, not the LMHOSTS file.

The file, if it exists, is read as the LMHOSTS setting file. A sample file (lmhosts.sam) is provided. It contains documentation for manually configuring the file.

Contents

File Locations

Windows 95, 98, Millennium Edition

The file located in %windir%\, and a sample file lmhosts.sam is installed here. The %windir% is an environmental variable.

Windows NT 4.0, Windows 2000, Windows XP, Vista, 7, Windows Server 2003, Windows Server 2008 and Windows Server 2008 R2

The file is located in %windir%\system32\drivers\etc\, and a sample file lmhosts.sam is installed here.

Default contents

 # #      #PRE #      #DOM:<domain> #      #INCLUDE <filename> #      #BEGIN_ALTERNATE #      #END_ALTERNATE #      \0xnn (non-printing character support) # # Following any entry in the file with the characters "#PRE" will cause # the entry to be preloaded into the name cache. By default, entries are # not preloaded, but are parsed only after dynamic name resolution fails. # # Following an entry with the "#DOM:<domain>" tag will associate the # entry with the domain specified by <domain>. This affects how the # browser and logon services behave in TCP/IP environments. To preload # the host name associated with #DOM entry, it is necessary to also add a # #PRE to the line. The <domain> is always preloaded although it will not # be shown when the name cache is viewed. # # Specifying "#INCLUDE <filename>" will force the RFC NetBIOS (NBT) # software to seek the specified <filename> and parse it as if it were # local. <filename> is generally a UNC-based name, allowing a # centralized lmhosts file to be maintained on a server. # It is ALWAYS necessary to provide a mapping for the IP address of the # server prior to the #INCLUDE. This mapping must use the #PRE directive. # In addition the share "public" in the example below must be in the # LanManServer list of "NullSessionShares" in order for client machines to # be able to read the lmhosts file successfully. This key is under # \machine\system\currentcontrolset\services\lanmanserver\parameters\nullsessionshares # in the registry. Simply add "public" to the list found there. # # The #BEGIN_ and #END_ALTERNATE keywords allow multiple #INCLUDE # statements to be grouped together. Any single successful include # will cause the group to succeed. # # Finally, non-printing characters can be embedded in mappings by # first surrounding the NetBIOS name in quotations, then using the # \0xnn notation to specify a hex value for a non-printing character. #  # The following example illustrates all of these extensions: # # 102.54.94.97     rhino              #PRE #DOM:networking  #net group's DC # 102.54.94.102    "appname  \0x14"                         #special app server # 102.54.94.123    popular            #PRE                  #source server # 102.54.94.117    localsrv           #PRE                  #needed for the include # # #BEGIN_ALTERNATE # #INCLUDE \\localsrv\public\lmhosts # #INCLUDE \\rhino\public\lmhosts # #END_ALTERNATE # # In the above example, the "appname" server contains a special # character in its name, the "popular" and "localsrv" server names are # preloaded, and the "rhino" server name is specified so it can be used #  to later #INCLUDE a centrally maintained lmhosts file if the "localsrv" # system is unavailable. # # Note that the whole file is parsed including comments on each lookup, # so keeping the number of comments to a minimum will improve performance. # Therefore it is not advisable to simply add lmhosts file entries onto the # end of this file. 

External links

See also