mirror of
https://github.com/isc-projects/bind9.git
synced 2026-02-28 04:21:07 -05:00
Bring the files describing Windows-specific aspects of building and installing BIND up to date. Remove the parts which are either outdated (e.g. 32-bit build instructions), already included elsewhere (e.g. the list of Windows systems BIND is known to run on), or inconvenient to keep up to date in the long run (e.g. ARM chapter numbers).
145 lines
6.1 KiB
Text
145 lines
6.1 KiB
Text
KIT INSTALLATION:
|
|
|
|
Unpack the kit into any convenient directory and run the BINDInstall
|
|
program. This will install the named and associated programs into
|
|
the correct directories and set up the required registry keys.
|
|
|
|
Usually BINDInstall must be run by/as Administrator or it can fail
|
|
to operate on the filesystem or the registry or even return messages
|
|
like "A referral was returned from the server". The best way to
|
|
avoid this kind of problems on Windows 7 or newer is:
|
|
- open a "Windows Explorer" window
|
|
- go where the distribution was extracted
|
|
- click right on the BINDInstall application
|
|
- open "Properties" (last) menu
|
|
- open "Compatibility" (second) tab
|
|
- check the (last) "Run this program as an administrator" box
|
|
Unfortunately this is not saved by zip (or any archiver?) as
|
|
it is a property saved in the Registry.
|
|
|
|
BINDInstall requires that you install it under an account with
|
|
restricted privileges. The installer will prompt you for an account
|
|
name (the default is "named") and a password for that account. It
|
|
will also check for the existence of that account. If it does not
|
|
exist is will create it with only the privileges required to run
|
|
BIND 9. If the account does exist it will check that it has only the
|
|
one privilege required: "Log on as a service". If it has too many
|
|
privileges it will prompt you if you want to continue.
|
|
|
|
With BIND 9 running under an account name, it is necessary for all
|
|
files and directories that BIND 9 uses to have permissions set up for
|
|
the named account if the files are on an NTFS disk. BIND 9 requires
|
|
that the account have read and write access to the directory for
|
|
the pid file, any files that are maintained either for slave zones
|
|
or for master zones supporting dynamic updates. The account will
|
|
also need read access to the named.conf and any other file that it
|
|
needs to read.
|
|
|
|
"NT AUTHORITY\LocalService" is also an acceptable account
|
|
(and the only acceptable on some recent versions of Windows).
|
|
This account is built into Windows and no password is required.
|
|
Appropriate file permissions will also need to be set for "NT
|
|
AUTHORITY\LocalService" similar to those that would have been
|
|
required for the "named" account.
|
|
|
|
It is important that on Windows the directory directive is used in
|
|
the options section to tell BIND 9 where to find the files used in
|
|
named.conf (default "%ProgramFiles%\ISC BIND 9\etc\named.conf"). For
|
|
example:
|
|
|
|
options {
|
|
directory "C:\Program Files (x86)\ISC BIND 9\etc";
|
|
};
|
|
|
|
for a 32 bit BIND 9 on a 64 bit US Domestic Windows system.
|
|
Messages are logged to the Application log in the EventViewer.
|
|
|
|
CONTROLLING BIND 9:
|
|
|
|
Windows uses the same rndc program as is used on Unix systems. The
|
|
rndc.conf file must be configured for your system in order to work.
|
|
You will need to generate a key for this. To do this use the
|
|
rndc-confgen program. The program will be installed in the same
|
|
directory as named: "%ProgramFiles%\ISC BIND 9\bin". From the DOS
|
|
prompt, use the command this way:
|
|
|
|
rndc-confgen -a
|
|
|
|
which will create a rndc.key file in the "%ProgramFiles%\ISC BIND 9\etc"
|
|
directory. This will allow you to run rndc without an explicit
|
|
rndc.conf file or key and control entry in named.conf file. See
|
|
the ARM for details of this. An rndc.conf can also be generated by
|
|
running:
|
|
|
|
rndc-confgen > rndc.conf
|
|
|
|
which will create the rndc.conf file in the current directory, but
|
|
not copy it to the "%ProgramFiles%\ISC BIND 9\etc" directory where
|
|
it needs to reside. If you create rndc.conf this way you will need
|
|
to copy the same key statement into named.conf.
|
|
|
|
The additions look like the following:
|
|
|
|
key "rndc-key" { algorithm hmac-sha256; secret "xxxxxxxxx=="; };
|
|
|
|
controls {
|
|
inet 127.0.0.1 port 953 allow { localhost; } keys { "rndc-key"; };
|
|
};
|
|
|
|
Note that the value of the secret must come from the key generated
|
|
above for rndc and must be the same key value for both. Details of
|
|
this may be found in the ARM. If you have rndc on a Unix box you can
|
|
use it to control BIND 9 on the Windows box as well as using the Windows
|
|
version of rndc to control a BIND 9 daemon on a Unix box. However you
|
|
must have key statements valid for the servers you wish to control,
|
|
specifically the IP address and key in both named.conf and rndc.conf.
|
|
Again see the ARM for details.
|
|
|
|
In order to run rndc from a different system it is important to
|
|
ensure that the clocks are synchronized. The clocks must be kept
|
|
within 5 minutes of each other or the rndc commands will fail
|
|
authentication. Use NTP or other time synchronization software to
|
|
keep your clocks accurate. NTP can be found at http://www.ntp.org/.
|
|
|
|
In addition BIND 9 is installed as a win32 system service, can be
|
|
started and stopped in the same way as any other service and
|
|
automatically starts whenever the system is booted. Signals are not
|
|
supported and are in fact ignored.
|
|
|
|
Note: Unlike most Windows applications, named does not change its
|
|
working directory when started as a service. If you wish to use
|
|
relative files in named.conf you will need to specify a working
|
|
directory using the directory directive options.
|
|
|
|
DOCUMENTATION:
|
|
|
|
This kit includes Documentation in HTML format. The documentation
|
|
is not copied during the installation process so you should move
|
|
it to any convenient location for later reference. Of particular
|
|
importance is the BIND 9 Administrator's Reference Manual (Bv9ARM*.html)
|
|
which provides detailed information on BIND 9. In addition, there
|
|
are HTML pages for each of the BIND 9 applications.
|
|
|
|
IMPORTANT NOTE ON USING BIND 9 TOOLS:
|
|
|
|
It is no longer necessary to create a resolv.conf file on Windows
|
|
as BIND 9 tools will look in the registry for the required name server
|
|
information. However, if you do create a resolv.conf file as follows,
|
|
the tools will use it in preference to the registry name server
|
|
entries.
|
|
|
|
Place resolv.conf the "%ProgramFiles%\ISC BIND 9\etc" directory.
|
|
It must contain a list of recursive server addresses. The format
|
|
of this file is:
|
|
|
|
nameserver 1.2.3.4
|
|
nameserver 5.6.7.8
|
|
|
|
Replace the above IP addresses with the real name server addresses.
|
|
127.0.0.1 is a valid address if you are running a recursive name
|
|
server on the localhost.
|
|
|
|
PROBLEMS:
|
|
|
|
Please report bugs at https://gitlab.isc.org/isc-projects/bind9.
|
|
Other questions can go to the bind-users@isc.org mailing list.
|