CHAPTER 6 ■ INSTALLING BIND 
107
named_chroot_autoupdate="YES" # Automatically install/update chrooted 
# components of named. See /etc/rc.d/named. 
named_symlink_enable="YES" 
# Symlink the chrooted pid file 
named_wait="NO"  
# Wait for working name service before exiting 
named_wait_host="localhost"  
# Hostname to check if named_wait is enabled 
named_auto_forward="NO"  
# Set up forwarders from /etc/resolv.conf 
named_auto_forward_only="NO"  # Do "forward only" instead of "forward first" 
As an example of how to change the default configuration, to disable the sandbox or chroot jail, add to 
/etc/rc.conf the following line(s): 
named_chrootdir=""                 # disables jail/sandbox 
named_pidfile="/var/run/named/pid" # Must set this in named.conf as well 
# components of named. See /etc/rc.d/named. 
named_symlink_enable="NO"          # Symlink the chrooted pid file 
The FreeBSD BIND 9 installation (either base or nonbase) adds a named.conf (in either /etc/namedb 
or depending on selected options in /usr/local/etc), standards hints file (named.root—what this book 
calls root.servers) in /etc/namedb and forward and reverse mapping files for localhost (IPv4 and IPv6) in 
respectively /etc/namedb/master/localhost-forward.db and /etc/namedb/master/localhost-reverse.db. 
Assuming no changes, the default named.conf file will provide a closed resolver; that is, a caching name 
server that will only support requests from the local machine (accomplished using a listen-on 
{127.0.0.1}; statement). This is a very safe default configuration. In addition, the named.conf file will 
prevent significant numbers of unnecessary queries from being forwarded to the root servers (see 
Chapter 12). Careful perusal of this named.conf file will amply reward the time spent. 
Finally, in spite of the FreeBSD 
options that the user may wish to invoke (see the “BIND 9 Configure Options” section later in this 
chapter). If these options are required, you must build from source.  
Building BIND from Source 
This section describes building BIND from a source tarball. In general, there are only three reasons to 
build BIND using this method: 
1. There is no available package or RPM either for the particular host or OS or with 
the required version number.  
2. Unique features are required that are not satisfied by the standard packages or 
RPMs. The unique features may include, for example, not wishing to update 
dependant libraries that are included with a standard package. 
3. You like to control everything yourself and have a high tolerance for pain. 
While most OS distributions do a remarkable job in keeping packages current—especially 
considering many involve only volunteer effort—there can be unforeseen or unfortunate delays. While 
compiling software from source may seem to many an arcane and anachronistic process, if you want to 
keep your DNS software constantly updated with minimal delays, you really have no other option that to 
build it–perhaps only in exceptional conditions–from the source tarball. Practice the process before 
trying it for the first time under non-optimal circumstances—avoid 3 AM panic. 
Life is not all simple, however, and if building from tarballs, the advantages of any packaged system 
(for instance, RPMs) are not available. Any dependencies on other software will have to be manually 
identified—perhaps even discovered at run time! 
Adding a page to a pdf in preview - insert pages into PDF file in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Guide C# Users to Insert (Empty) PDF Page or Pages from a Supported File Format
add pages to pdf preview; add and remove pages from pdf file online
Adding a page to a pdf in preview - VB.NET PDF Page Insert Library: insert pages into PDF file in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Easy to Use VB.NET APIs to Add a New Blank Page to PDF Document
add page numbers to a pdf file; add page numbers to pdf in preview
CHAPTER 6 ■ INSTALLING BIND 
108 
The test build was run under the Ubuntu Server installation described earlier but the process is
similar for FreeBSD and notes are included where necessary. The objective of this procedure was to
update the existing Ubuntu BIND installation using software built from the tarball. Prior to starting the
process, you must install the following two packages (either login as root or precede all commands with
sudo): 
# apt-get install build-essential
# apt-get install libssl-dev 
The first installs the required tools and compilers and the second installs essential openssl library
files. 
Note If BIND is already installed from a package then the configure and build options used to create it may be
obtained using the command 
named -V
. In general, the package builders and maintainers for any distribution will
have selected the most sensible options; this provides a useful starting point for custom tweaking. 
To build BIND 9 from the source tarball, follow these steps (you must be either logged in as root or
precede all commands with sudo): 
1. Download the source tarball from www.isc.org (bind-9.7.1-P2.tar.tz) or one
of its mirrors into /usr/src. You can use any suitable location, but /usr/src is a
general convention. The reader is reminded again to always obtain the latest
stable version of the software. The tarball is signed using various algorithms
(SHA1, SHA256, SHA512) and the signatures may be downloaded from the
same web site. To verify the signature file, you will also need to download ISC’s
OpenPGP key obtained from www.isc.org/about/openpgp. The following
sequence will verify the downloaded tarball (both wget and gnupg are installed
with the base Ubuntu Server; both need to be installed from the ports collection
in FreeBSD): 
# cd /usr/src 
# wget http://ftp.isc.org/isc/bind9/9.7.2-P2/bind-9.7.2-P2.tar.gz 
# wget http://ftp.isc.org/isc/bind9/9.7.2-P2/bind-9.7.2-P2.tar.gz.sha256.asc
# wget https://www.isc.org/files/pgpkey2009.txt 
# gpg –import pgpkey2009.txt 
# gpg –verify bind-9.7.2-P2.tar.gz.sha256.asc bind-9.7.2-P2.tar.gz 
The last command, assuming all is well, will indicate a good signature but with
a warning message to indicate the ISC key is not certified with a verifiable trust
signature. This is simply an artifact of the command sequence used. 
2. Unzip the tarball using the following commands: 
# cd /usr/src 
# tar xzf bind-9.7.2-P2.tar.gz 
3. When this operation is complete, it will have created a new directory named
bind-9.7.2-P2. Move to this directory: 
# cd bind-9.7.2-P2 
C# PDF insert image Library: insert images into PDF in C#.net, ASP
digital photo, scanned signature or logo into PDF document page in C# solve this technical problem, we provide this C#.NET PDF image adding control, XDoc
add page number to pdf reader; adding page to pdf in preview
C# PDF insert text Library: insert text into PDF content in C#.net
Insert formatted text and plain text to PDF page using .NET XDoc.PDF component in C#.NET class. Supports adding text to PDF in preview without adobe reader
add page numbers to pdf document in preview; add pages to pdf document
CHAPTER 6 ■ INSTALLING BIND 
109
4. 
been split for formatting reasons only using \ and should be entered as a single 
line) represents the standard package configure and build options used for 
BIND under Debian/Ubuntu: 
# ./configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info \  
--enable-ipv6 'CFLAGS=-fno-strict-aliasing -DDIG_SIGCHASE -O2' \ 
'LDFLAGS=-Wl,-Bsymbolic-functions' 'CPPFLAGS=' 
The equivalent configure line for FreeBSD, based on the selected options under 
BIND 9 Base Install earlier in the chapter, is: 
'build_alias=i386-portbld-freebsd8.1' CC='cc' CFLAGS='-O2 -pipe -fno-strict-aliasing -
DDIG_SIGCHASE' LDFLAGS='-rpath=/usr/lib:/usr/local/lib' CPP='cpp' CXX='c++' \ 
CXXFLAGS='-O2 -pipe -fno-strict-aliasing' 
The major configure arguments used in this line are 
• 
--prefix: Indicates that named will be installed to /usr/sbin and the tools to 
/usr/bin 
• 
--sysconfdir: Tells named to look for named.conf in /etc/bind/named.conf 
(for Ubuntu) and /etc/namedb for FreeBSD 
• 
--localstatedir: Tells named to write the PID file to /var/run/named.pid 
• 
--enable-threads: The standard option on both systems since BIND 9.6 
• 
--with-openssl: Indicates that DNSSEC services will be built (requires libssl 
to be installed) 
When building for FreeBSD, the arguments --disable-linux-caps and --
with-randomdev=/ dev/random are also used. If the BIND XML statistics option is 
required by Ubuntu (the required XML2 dependency is installed by default), 
then add --with-libxml2=/usr. 
VB.NET PDF insert text library: insert text into PDF content in vb
Studio .NET PDF SDK library supports adding text content to Add text to certain position of PDF page in Visual Add text to PDF in preview without adobe reader
add page to pdf preview; add contents page to pdf
C# Create PDF Library SDK to convert PDF from other file formats
What's more, you can also protect created PDF file by adding digital signature (watermark) on PDF Create a new PDF Document with one Blank Page in C#
adding page numbers pdf; add pages to pdf file
CHAPTER 6  INSTALLING BIND 
110 
Caution The preceding step configures BIND such that after issuing 
make install
(see step 6) it will overwrite 
any currently installed BIND package. If the software built is incorrect or fails, you will have a nonoperational DNS 
system. It may be wiser to use a technique such as described in the “FreeBSD” section and use 
--
prefix=/usr/local
. This will have the effect of installing 
named
to 
/usr/local/sbin
and the tools to 
/user/local/bin
and provide two copies of BIND. The newly built system can then be tested (any currently 
running version will have to be stopped first) and—only when you are completely satisfied—rebuilt using the 
preceding parameters. If anything goes wrong during testing of the new software, DNS service can be restored by 
simply restarting the previous BIND version from 
/usr/sbin/named or (in Ubuntu) /etc/init.d/bind9 start 
or (FreeBSD) /etc/rc.d/named start
5. If anything goes wrong with the configure sequence, check the entered line 
carefully and inspect the file config.log, which contains the output of the 
configure session including error messages. When the configure process is 
finished (less than five minutes on a 1GHz PC), BIND should now be built using 
the following single command: 
# make 
6. The make command outputs voluminous data and took roughly 10 minutes on a 
2GHz PC. On successful completion, issue the following command: 
# make install 
This will install all the various files generated by the build—well over 200. 
Running this command with the ./configure arguments defined earlier will 
replace any existing installed version of BIND—please read the earlier Caution. 
Note In the event that an error occurs during any of the 
configure
make
, or 
make install
procedures, before 
rerunning, issue the command 
make distclean
to remove any previous data before starting the sequence. As 
noted previously, the 
configure
command logs its output to 
config.log
. In the case of 
make
and 
make install
the commands may be run with data being logged to a file, for instance, 
make >make.log
BIND 9 Configure Options 
BIND 9.7 contains a huge number of compile time options. Historically, the majority were concerned 
with the location of programs and configuration files. Increasingly, however, basic functionality is being 
determined by the configure options. To list all the available options use (as root or precede with sudo): 
C# Word - Insert Blank Word Page in C#.NET
This C# .NET Word document page inserting & adding component from RasterEdge is written in managed C# code and designed particularly for .NET class applications
adding page numbers to pdf; add a page to a pdf
C# PowerPoint - Insert Blank PowerPoint Page in C#.NET
This C# .NET PowerPoint document page inserting & adding component from RasterEdge is written in managed C# code and designed particularly for .NET class
adding a page to a pdf file; add pages to pdf reader
CHAPTER 6 ■ INSTALLING BIND 
111
# cd /to/bind/source/directory 
# make --help 
To list only the user options, use: 
# ./configure --help=short 
An edited list of the full options for BIND 9.7.2-P2 is shown below: 
`configure' configures this package to adapt to many kinds of systems. 
Usage: ./configure [OPTION]... [VAR=VALUE]... 
Defaults for the options are specified in brackets. 
Installation directories: 
--prefix=PREFIX         Install architecture-independent files in PREFIX 
[/usr/local] 
--exec-prefix=EPREFIX   Install architecture-dependent files in EPREFIX 
[PREFIX] 
By default, `make install' will install all the files in 
`/usr/local/bin', `/usr/local/lib' etc.  You can specify 
an installation prefix other than `/usr/local' using `--prefix', 
for instance `--prefix=$HOME'. 
For better control, use the options below. 
Fine tuning of the installation directories: 
--bindir=DIR            User executables [EPREFIX/bin] 
--sbindir=DIR           System admin executables [EPREFIX/sbin] 
--libexecdir=DIR        Program executables [EPREFIX/libexec] 
--sysconfdir=DIR        Read-only single-machine data [PREFIX/etc] 
--sharedstatedir=DIR    Modifiable architecture-independent data [PREFIX/com] 
--localstatedir=DIR     Modifiable single-machine data [PREFIX/var] 
--libdir=DIR            Object code libraries [EPREFIX/lib] 
--includedir=DIR        C header files [PREFIX/include] 
--oldincludedir=DIR     C header files for non-gcc [/usr/include] 
--datarootdir=DIR       Read-only arch.-independent data root [PREFIX/share] 
--datadir=DIR           Read-only architecture-independent data [DATAROOTDIR] 
--infodir=DIR           Info documentation [DATAROOTDIR/info] 
--localedir=DIR         Locale-dependent data [DATAROOTDIR/locale] 
--mandir=DIR            Man documentation [DATAROOTDIR/man] 
--docdir=DIR            Documentation root [DATAROOTDIR/doc/PACKAGE] 
--htmldir=DIR           HTML documentation [DOCDIR] 
--dvidir=DIR            Dvi documentation [DOCDIR] 
--pdfdir=DIR            Pdf documentation [DOCDIR] 
--psdir=DIR             Ps documentation [DOCDIR] 
System types: 
--build=BUILD     Configure for building on BUILD [guessed] 
--host=HOST       Cross-compile to build programs to run on HOST [BUILD] 
C# PowerPoint - How to Process PowerPoint
& Insert PowerPoint Page/Slide in C#. Use the provided easy to call and write APIs programmed in C# class to develop user-defined PowerPoint slide adding and
add page numbers to pdf preview; adding page numbers pdf file
C# TIFF: TIFF Editor SDK to Read & Manipulate TIFF File Using C#.
1. Support embedding, removing, adding and updating ICCProfile. 2. Render text to text, PDF, or Word file. You will see the following aspects on this guide page.
add pdf pages together; add page to a pdf
CHAPTER 6  INSTALLING BIND 
112 
Optional Features: 
--disable-option-checking  Ignore unrecognized --enable/--with options 
--disable-FEATURE       Do not include FEATURE (same as --enable-FEATURE=no) 
--enable-FEATURE[=ARG]  Include FEATURE [ARG=yes] 
--enable-shared[=PKGS]  Build shared libraries [default=yes] 
--enable-static[=PKGS]  Build static libraries [default=yes] 
--enable-fast-install[=PKGS] 
Optimize for fast installation [default=yes] 
--disable-libtool-lock  Avoid locking (might break parallel builds) 
--enable-libbind 
Deprecated 
--enable-kqueue         Use BSD kqueue when available [default=yes] 
--enable-epoll          Use Linux epoll when available [default=auto] 
--enable-devpoll        Use /dev/poll when available [default=yes] 
--enable-openssl-version-check 
Check OpenSSL Version [default=yes] 
--enable-openssl-hash   Use OpenSSL for hash functions [default=no] 
--enable-threads 
Enable multithreading 
--enable-largefile 
64-bit file support 
--enable-backtrace      Log stack backtrace on abort [default=yes] 
--enable-symtable       Use internal symbol table for backtrace 
[all|minimal(default)|none] 
--enable-exportlib 
Build exportable library (GNU make required) 
[default=no] 
--enable-ipv6           Use IPv6 default=autodetect 
--enable-getifaddrs     Enable the use of getifaddrs() [yes|no]. 
--disable-isc-spnego    Use SPNEGO from GSSAPI library 
--disable-chroot        Disable chroot 
--disable-linux-caps   Disable linux capabilities 
--enable-atomic 
Enable machine specific atomic operations 
[default=autodetect] 
--enable-fixed-rrset    Enable fixed rrset ordering 
[default=no] 
--enable-filter-aaaa    Enable filtering of AAAA records over IPv4 
[default=no] 
Optional Packages: 
--with-PACKAGE[=ARG]    Use PACKAGE [ARG=yes] 
--without-PACKAGE       Do not use PACKAGE (same as --with-PACKAGE=no) 
--with-gnu-ld           Assume the C compiler uses GNU ld [default=no] 
--with-pic              Try to use only PIC/non-PIC objects [default=use 
both] 
--with-tags[=TAGS]      Include additional configurations [automatic] 
--with-openssl=PATH     Build with OpenSSL yes|no|path. 
(Required for DNSSEC) 
--with-pkcs11=PATH      Build with PKCS11 support yes|no|path 
(PATH is for the PKCS11 provider) 
--with-gssapi=PATH      Specify path for system-supplied GSSAPI 
--with-randomdev=PATH   Specify path for random device 
--with-ptl2  
on NetBSD, use the ptl2 thread library (experimental) 
--with-libxml2=PATH     Build with libxml2 library yes|no|path 
--with-purify=PATH      Use Rational purify 
--with-libtool          Use GNU libtool 
--with-export-libdir=PATH 
C# Word - Insert Image to Word Page in C#.NET
VB.NET How-to, VB.NET PDF, VB.NET Word, VB.NET Excel, VB.NET PowerPoint, VB.NET Tiff, VB.NET Imaging It's a demo code for adding image to word page using C#.
add page numbers to pdf online; adding page numbers in pdf
CHAPTER 6 ■ INSTALLING BIND 
113
installation directory for the export library 
[EPREFIX/lib/bind9] 
--with-export-includedir=PATH 
Installation directory for the header files of the 
export library [PREFIX/include/bind9] 
--with-kame=PATH 
Use Kame IPv6 default path /usr/local/v6 
--with-docbook-xsl=PATH Specify path for Docbook-XSL stylesheets 
--with-idn=MPREFIX      Enable IDN support using idnkit default PREFIX 
--with-libiconv=IPREFIX GNU libiconv are in IPREFIX default PREFIX 
--with-iconv=LIBSPEC    Specify iconv library default -liconv 
--with-idnlib=ARG       Specify libidnkit 
--with-dlz-postgres=PATH   Build with Postgres DLZ driver yes|no|path. 
(Required to use Postgres with DLZ) 
--with-dlz-mysql=PATH   Build with MySQL DLZ driver yes|no|path. 
(Required to use MySQL with DLZ) 
--with-dlz-bdb=PATH   Build with Berkeley DB DLZ driver yes|no|path. 
(Required to use Berkeley DB with DLZ) 
--with-dlz-filesystem=PATH   Build with filesystem DLZ driver yes|no. 
(Required to use file system driver with DLZ) 
--with-dlz-ldap=PATH   Build with LDAP DLZ driver yes|no|path. 
(Required to use LDAP with DLZ) 
--with-dlz-odbc=PATH   Build with ODBC DLZ driver yes|no|path. 
(Required to use ODBC with DLZ) 
--with-dlz-stub=PATH   Build with stub DLZ driver yes|no. 
(Required to use stub driver with DLZ) 
--with-make-clean      Run "make clean" at end of configure [yes|no]. 
Some of the above are self-evident; many are highly exotic and should be used with extreme caution 
--with-dlz all refer to the 
use of BIND-DLZ, which since BIND 9.4.x has been included in the BIND code base. BIND-DLZ allows 
zone files to be read from
MySQL, Postgres, and BDB), LDAP, and other sources. For full information on configuring and using 
BIND-DLZ, see the website (bind-dlz.sourgeforge.net). The option --with-fixed-rrset is used to 
enable the fixed option within the rrset-order statement (see Chapter 12); without this option (which is 
not defaulted in either Ubuntu or FreeBSD standard packages), only random and cyclic ordering is 
supported. In these systems, if you want to support fixed rrset ordering you will need to build from the 
source tarball. 
Due in part to the increase in available options, when named (BIND) is loaded, it now helpfully 
outputs its configure options to the log file and it can be interrogated at any time using the command 
named -V. 
Windows Installation 
A packaged binary version of BIND that will install on either Windows 2003 Server or Windows XP is 
available from the ISC site (www.isc.org). The package also includes standard uninstall functions. The 
basic procedure for installing BIND 9 on all Windows platforms is similar. This section describes 
installation of BIND 9.7.2-P2 under  Windows 7 Home Premium (64 bit) on a modestly powered laptop 
using the standard binary package. Windows 7 is not currently supported by ISC; however, after being in 
daily use for some time (> 2 months), it has yielded no operational problems. It is presented here in the 
hope that it will encourage readers to explore BIND 9 in what is becoming an increasingly popular 
environment—especially since some of the changes in procedure illustrated reflect current Windows 
architectural changes (especially in the area of security practices) and therefore are likely to more useful 
CHAPTER 6  INSTALLING BIND 
114 
over time. The officially supported platforms (Server 2003 and XP) have minor differences that are noted 
Note Many people—especially those who like to experiment—lose patience with the User Account Control 
(UAC) features of modern Windows platforms (Vista, Server 2008, and 7) and turn it off completely. This is entirely 
a matter of choice and taste. The system used to illustrate the installation uses an unmodified Windows 7 UAC. 
There is no need to sacrifice UAC capabilities in order to install and use BIND 9. Windows 7 has many features to 
allow customization of displays and menus. Consequently, some of the screens displayed may not look exactly like 
those on another system. Notes are supplied where there is a high likelihood this may be the case, perhaps 
reflecting the author’s attempts to make all Windows systems look like his much-missed frozen-in-time Windows 
NT 4.0 system wherever possible. 
1. Download Bind 9.7.2-P2.zip from the ISC site (www.isc.org) and unzip it into 
any suitable temporary location, such as c:\temp\bind. As always, readers are 
advised to get the latest stable release of BIND 9. 
2. There is a file called readme1st.txt with the distribution that provides some 
useful information about the installation. In particular, it mentions that BIND 
(or named.exe) will run as a service on Windows and will require a user account 
called named with specific permissions. The install process will create the 
required account and basic permissions. 
3. In the temporary directory (c:\temp\bind), find and right-click 
BindInstall.exe. This will display the screen shown in Figure 6–3. 
Figure 6–3. Run BIND install 
CHAPTER 6 ■ INSTALLING BIND 
115
4. From the popup window, select Run as administrator to provide the right 
permissions required for the installation. 
5. BIND 9 install will display the screen shown in Figure 6–4. 
Figure 6–4. BIND 9 install screen 
CHAPTER 6  INSTALLING BIND 
116 
6. 
readme1st.txt file contains descriptions of other accounts that may not require 
a password if you wish to experiment. The test installation used the default 
Service Account Name, as shown in Figure 6–4. The default install directory is 
c:\Windows\system32\dns (or %SystemRoot%\system32\dns in Windows terms). 
Do not check the box labeled Start BIND Service after Install. The Tools Only 
the tools and not the DNS server. Click the Install button. 
7. Use Windows Explorer to navigate to the directory called 
c:\Windows\sysWOW64\dns\etc
. The install screen indicated 
c:\Windows\system32\dns 
this is a 64-bit version of Windows 7, and 
BIND 9 is a 32-bit application. The Windows 32-bit emulation 
system intercepts all runtime requests for 
c:\Windows\system32 
and 
replaces them with 
c:\Windows\sysWOW64 
(Windows on Windows 64). In 
the case of a 32-bit Windows system, 
c:\Windows\system32\dns 
is the 
location for all installed files and all subsequent paths should be 
modified appropriately. 
Place or create the master.localhost, 
localhost.rev, named.conf, and root.servers files in the 
c:\Windows\sysWOW64\dns\etc subdirectory. The named.conf file is the standard 
example file used in the “Caching-only DNS Server” section in Chapter 7; it’s 
been modified to reflect the Windows path values in the installation and shown 
below. BIND will accept either Windows or Unix line termination conventions. 
// generated by ME 
// CACHING NAME SERVER for WINDOWS  
//  Oct 2010 
//  a. changed directory statement to windows format 
//  b. changed location of log file to named\log\named.log 
//   c. changed location of all zone files to named\zones 
//   d. added pid-file directive in named\run\named.pid 
options { 
directory "C:\Windows\system32\dns\etc"; 
// version added for security, otherwise may be able 
// to exploit known weaknesses 
version "not currently available"; 
pid-file "named.pid"; 
recursion yes; 
// the following statement closed the server but limits 
// limits queries to the location PC only 
// alternatively use allow-recursion {192.188.2/24;}; (change IP as required)  
listen-on {127.0.0.1;}; 
}; 
// log to named.log events from info UP in severity (no debug) 
// defaults to use 3 files in rotation 
// failure messages up to this point are in the event log 
logging{ 
channel my_log{ 
file "named.log" versions 3 size 250k; 
Documents you may be interested
Documents you may be interested