9.5 WINS ” The Windows Internetworking Name Server
Use of WINS (either Samba WINS or MS Windows NT Server WINS) is highly recommended. Every NetBIOS machine registers its name together with a name_type value for each of several types of service it has available. It registers its name directly as a unique (the type 0x03) name. It also registers its name if it is running the LanManager compatible server service (used to make shares and printers available to other users) by registering the server (the type 0x20) name.
All NetBIOS names are up to 15 characters in length. The name_type variable is added to the end of the name, thus creating a 16 character name. Any name that is shorter than 15 characters is padded with spaces to the 15th character. Thus, all NetBIOS names are 16 characters long (including the name_type information).
WINS can store these 16-character names as they get registered. A client that wants to log onto the network can ask the WINS server for a list of all names that have registered the NetLogon service name_type. This saves broadcast traffic and greatly expedites logon processing. Since broadcast name resolution cannot be used across network segments this type of information can only be provided via WINS or via a statically configured lmhosts file that must reside on all clients in the absence of WINS.
WINS also serves the purpose of forcing browse list synchronization by all LMBs. LMBs must synchronize their browse list with the DMB (Domain Master Browser) and WINS helps the LMB to identify its DMB. By definition this will work only within a single workgroup. Note that the Domain Master Browser has nothing to do with what is referred to as an MS Windows NT Domain. The later is a reference to a security environment while the DMB refers to the master controller for browse list information only.
WINS will work correctly only if every client TCP/IP protocol stack has been configured to use the WINS servers. Any client that has not been configured to use the WINS server will continue to use only broadcast-based name registration so WINS may never get to know about it. In any case, machines that have not registered with a WINS server will fail name to address lookup attempts by other clients and will therefore cause workstation access errors.
To configure Samba as a WINS server just add wins support = yes to the smb.conf file [global] section.
To configure Samba to register with a WINS server just add wins server = a.b.c.d to your smb.conf file [global] section.
9.5.1 WINS Server Configuration
Either a Samba Server or a Windows NT Server machine may be set up as a WINS server. To configure a Samba Server to be a WINS server you must add to the smb.conf file on the selected Server the following line to the [global] section:
wins support = yes
Versions of Samba prior to 1.9.17 had this parameter default to yes. If you have any older versions of Samba on your network it is strongly suggested you upgrade to a recent version, or at the very least set the parameter to " no " on all these machines.
Machines configured with wins support = yes will keep a list of all NetBIOS names registered with them, acting as a DNS for NetBIOS names.
It is strongly recommended to set up only one WINS server. Do not set the wins support = yes option on more than one Samba server.
To configure Windows NT/200x Server as a WINS server, install and configure the WINS service. See the Windows NT/200x documentation for details. Windows NT/200x WINS servers can replicate to each other, allowing more than one to be set up in a complex subnet environment. As Microsoft refuses to document the replication protocols, Samba cannot currently participate in these replications. It is possible in the future that a Samba-to-Samba WINS replication protocol may be defined, in which case more than one Samba machine could be set up as a WINS server. Currently only one Samba server should have the wins support = yes parameter set.
After the WINS server has been configured, you must ensure that all machines participating on the network are configured with the address of this WINS server. If your WINS server is a Samba machine, fill in the Samba machine IP address in the Primary WINS Server field of the Control Panel- > Network- > Protocols- > TCP- > WINS Server dialogs in Windows 9x/Me or Windows NT/200x. To tell a Samba server the IP address of the WINS server, add the following line to the [global] section of all smb.conf files:
wins server = <name or IP address>
where <name or IP address> is either the DNS name of the WINS server machine or its IP address.
This line must not be set in the smb.conf file of the Samba server acting as the WINS server itself. If you set both the wins support = yes option and the wins server = <name> option then nmbd will fail to start.
There are two possible scenarios for setting up cross-subnet browsing. The first details setting up cross-subnet browsing on a network containing Windows 9x/Me, Samba and Windows NT/200x machines that are not configured as part of a Windows NT Domain. The second details setting up cross-subnet browsing on networks that contain NT Domains.
9.5.2 WINS Replication
Samba-3 permits WINS replication through the use of the wrepld utility. This tool is not currently capable of being used as it is still in active development. As soon as this tool becomes moderately functional, we will prepare man pages and enhance this section of the documentation to provide usage and technical details.
9.5.3 Static WINS Entries
Adding static entries to your Samba WINS server is actually fairly easy. All you have to do is add a line to wins.dat , typically located in /usr/local/samba/var/locks .
Entries in wins.dat take the form of:
"NAME#TYPE" TTL ADDRESS+ FLAGS
where NAME is the NetBIOS name, TYPE is the NetBIOS type, TTL is the time-to-live as an absolute time in seconds, ADDRESS+ is one or more addresses corresponding to the registration and FLAGS are the NetBIOS flags for the registration.
A typical dynamic entry looks like this:
"MADMAN#03" 1055298378 192.168.1.2 66R
To make it static, all that has to be done is set the TTL to 0, like this:
"MADMAN#03" 0 192.168.1.2 66R
Though this method works with early Samba-3 versions, there is a possibility that it may change in future versions if WINS replication is added.