You configure primary and secondary servers with the UCX$BINDSETUP.COM or with SET CONFIGURATION BIND commands. To see your current BIND configuration, issue:
UCX> SHOW CONFIGURATION BIND Primary Domain: 0.0.127.IN-ADDR.ARPA File: NAMED.LOCAL Secondary Domain: 208.20.9.IN-ADDR.ARPA File: 208_20_9_IN-ADDR_ARPA.DB Host: 9.20.208.53 Cache Domain: . File: NAMED.CA
The following sections describe how to manually set up BIND servers.
5.3.1.1 Setting Up a Primary Name Server
To instruct the primary name server to read the appropriate database files using UCX$CONFIGURATION.DAT, issue SET CONFIGURATION BIND commands. Use the command SHOW CONFIGURATION BIND to display BIND information from the UCX configuration database (UCX$CONFIGURATION.DAT).
Example:
The following command tells the name server to read the appropriate
files.
UCX> SET CONFIGURATION BIND /CACHE UCX> SET CONFIGURATION BIND - _UCX> /PRIMARY=(DOMAIN:0.0.127.IN-ADDR.ARPA, FILE:NAMED.LOCAL) UCX> SET CONFIGURATION BIND - _UCX> /PRIMARY=(DOMAIN:UCX.ERN.SEA.COM, FILE:UCX_ERN_SEA_COM.DB) UCX> SET CONFIGURATION BIND - _UCX> /PRIMARY=(DOMAIN:208.20.9.IN-ADDR.ARPA, FILE:208_20_9_IN-ADDR_ARPA.DB)
To view these settings, issue the SHOW CONFIGURATION BIND command, for example:
UCX> SHOW CONFIGURATION BIND
Note
You can configure only one primary name server per OpenVMS Cluster system.
Configure a secondary server to populate itself by copying the DNS database files from the primary server.
To configure a secondary server, issue:
UCX> SET CONFIGURATION BIND /CACHE UCX> SET CONFIGURATION BIND - _UCX> /PRIMARY=(DOMAIN:0.0.127.IN-ADDR.ARPA, FILE:NAMED.LOCAL) UCX> SET CONFIGURATION BIND - _UCX> /SECONDARY=(DOMAIN:UCX.ERN.SEA.COM,FILE:UCX_ERN_SEA_COM.DB,HOST=DOMAIN:UCX.ERN.SEA.COM) UCX> SET CONFIGURATION BIND /SECONDARY=(DOMAIN:208.20.9.IN-ADDR.ARPA, FILE:208_20_9_IN-ADDR_ARPA.DB, HOST:OWL.UCX.ERN.SEA.COM)
Note
You can configure only one secondary name server per OpenVMS Cluster system.
To configure a cache-only server, issue:
SET CONFIGURATION BIND /CACHE
This command points the server to the file NAMED.CA.
5.3.1.4 Setting Up a Forwarder Name Server
Use forwarders to limit off-site DNS traffic. If your site has five or six name servers, they can all potentially send off-site queries to the off-site servers.
Instead, you can designate a server as a forwarder. This way, the forwarder will build a rich cache of information on the off-site queries. It is likely that such a setup will reduce the off-site traffic dramatically.
It is possible to configure an existing primary or secondary server as a forwarder. That way, if the name server receives a query in the zone for which it is authoritative, or is in its cache, it will use its data cache or send a recursive query to the forwarder. To configure a forwarder, issue:
UCX> SET CONFIGURATION BIND /FORWARDER=host
Note
You cannot set up a server to be both a forwarder and caching server.
The BIND server stores its configuration information in the UCX configuration database. This information includes the zone files the server will use to obtain your local domain information.
To populate the BIND server database, use one of the following methods:
To populate the BIND server database by copying information from the hosts database and other UCX database files, issue the CONVERT/ULTRIX BIND command. This command:
a | Yes |
b.x.y.z | Yes |
c.x.y.z.z | Yes |
d.x.y.h | No |
If the BIND server's directory is SYS$SPECIFIC:[UCX$BIND] and you have specified domain abc.def.com, the default output file is named:
SYS$SPECIFIC:[UCX$BIND]ABC_DEF_COM.DB
DIGITAL suggests that you do not change the default directory. If you do, the file is created in your current directory.
On the command line, specify the full OpenVMS file specification. Do not specify a version number, and do not use wildcards.
Example:
This example uses the domain ucx.ern.sea.com, creates a
UCX_ERN_SEA_COM.DB file, creates a 208_20_9_IN-ADDR_ARPA.DB file, and
checks the results by displaying directory listings with the new file.
UCX> CONVERT/ULTRIX BIND /DOMAIN=UCX.ERN.SEA.COM UCX> CONVERT/ULTRIX BIND /DOMAIN=208.20.9.IN-ADDR.ARPA NAMED.LOCAL and NAMED.CA "local and cache files exists/can be retrieved from internet hosts". $ SET DEFAULT SYS$SPECIFIC:[UCX$BIND] $ DIRECTORY Directory SYS$SPECIFIC:[UCX$BIND] 208_20_9_IN-ADDR_ARPA.DB;1 NAMED.CA;1 NAMED.LOCAL;1 UCX_ERN_SEA_COM.DB;1 UCX$BIND_STARTUP.COM;1 UCX$BIND_STARTUP.LOG;1 $ DIRECTORY UCX$HOST Directory SYS$COMMON:[SYSEXE] UCX$HOST.DAT;1 $ DIRECTORY UCX$CONFIGURATION Directory SYS$COMMON:[SYSEXE] UCX$CONFIGURATION.DAT;1
All name server zone files use the same type of records to define domain database information. DIGITAL recommends that you review these resource records before editing any BIND files. The standard resource records (RR) are summarized in Table 5-2.
Record Type | Description |
---|---|
SOA | Start of Authority. Marks the beginning of a zone's data and defines parameters that affect the entire zone. |
NS | Name Server. Identifies a domain's name server. |
A | Address. Maps a host name to an address. |
PTR | Pointer. Maps an address to a host name. |
MX | Identifies where to deliver mail for a given domain. |
CNAME | Defines an alias host name. |
HINFO | Host Information. Describes a host's hardware and operating system. |
WKS | Well Known Service. Advertises network services. |
The format of DNS records is as follows:
[name] [ttl] IN type data
Here,
name | The name of the domain object referenced by a resource record. The string entered for name is the current domain unless it ends with a dot. If the name field is blank, the record applies to the domain object last named. |
ttl | Time-to-live defines the length of time, in seconds, that the information in this resource record should be kept in cache. Usually, this field is left blank and the default ttl, set for the entire zone SOA record is used. |
IN | Identifies the record as an Internet DNS resource record. |
type | Identifies what kind of resource record this is. (See Table 5-2 for the available record types you can specify.) |
data | The information specific to this type of resource record. For example, in an A record, this is the field that contains the actual IP address. |
The name server saves backup copies of the zone data in
SYS$SPECIFIC:[UCX$BIND]. Do not delete your backup copies. When the
primary server is down and the secondary server is started, the
secondary server cannot perform a zone transfer until the primary
server is up. However, with backup copies, the secondary server has
some data, though possibly out of date, to perform its basic tasks.
5.3.3 Sample Database Files
The following sections provide sample BIND database files.
5.3.3.1 NAMED.LOCAL
The following example shows a NAMED.LOCAL file. In NAMED.LOCAL, the network address is usually 127.0.0, and the local host address is usually 127.0.0.1.
; ; BIND data file for local loopback interface. ; ; Provided for DIGITAL TCP/IP Services for OpenVMS." ; @ IN SOA owl.ucx.ern.sea.com. postmaster.owl.ucx.ern.sea.com. ( 1 ; Serial 36000 ; Refresh 300 ; Retry 3600000 ; Expire 3600 ) ; TTL Minimum IN NS owl.ucx.ern.sea.com. 1 IN PTR localhost. localhost. IN A 127.0.0.1
This file is used to convert the loopback address into the name localhost. Here, the SOA record identifies owl.ucx.ern.sea.com as the server originating this zone. The email address postmaster.owl.ucx.ern.sea.com is the point of contact for any questions about the zone.
To create the NAMED.LOCAL file, run the UCX configuration procedure,
select the Server Components Menu, and select the BIND server. The
procedure creates NAMED.LOCAL.
5.3.3.2 NAMED.CA
The following example shows a NAMED.CA file.
; This file holds the information on root name servers needed to ; initialize cache of Internet domain name servers ; (e.g. reference this file in the "cache file" ; configuration file of BIND domain name servers). ; ; This file is made available by InterNIC registration services ; under anonymous FTP as ; file /domain/named.root ; on server FTP.RS.INTERNIC.NET ; -OR- under Gopher at RS.INTERNIC.NET ; under menu InterNIC Registration Services (NSI) ; submenu InterNIC Registration Archives ; file named.root ; ; last update: Jan 22, 1997 ; related version of root zone: 1997012200 ; ; ; formerly NS.INTERNIC.NET ; . 3600000 IN NS A.ROOT-SERVERS.NET. A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4 ; ; formerly NS1.ISI.EDU ; . 3600000 NS B.ROOT-SERVERS.NET. B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107 ; ; formerly C.PSI.NET ; . 3600000 NS C.ROOT-SERVERS.NET. C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12 ; ; formerly TERP.UMD.EDU ; . 3600000 NS D.ROOT-SERVERS.NET. D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90 ; ; formerly NS.NASA.GOV ; . 3600000 NS E.ROOT-SERVERS.NET. E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10 ; ; formerly NS.ISC.ORG ; . 3600000 NS F.ROOT-SERVERS.NET. F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241 ; ; formerly NS.NIC.DDN.MIL ; . 3600000 NS G.ROOT-SERVERS.NET. G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4 ; ; formerly AOS.ARL.ARMY.MIL ; . 3600000 NS H.ROOT-SERVERS.NET. H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53 ; ; formerly NIC.NORDU.NET ; . 3600000 NS I.ROOT-SERVERS.NET. I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17 ; ; temporarily housed at NSI (InterNIC) ; . 3600000 NS J.ROOT-SERVERS.NET. J.ROOT-SERVERS.NET. 3600000 A 198.41.0.10 ; ; temporarily housed at NSI (InterNIC) ; . 3600000 NS K.ROOT-SERVERS.NET. K.ROOT-SERVERS.NET. 3600000 A 198.41.0.11 ; End of File
This cache initialization file contains NS records that name root servers and A records that provide the addresses of root servers.
To create the NAMED.CA file, run the UCX configuration procedure,
select the Server Components Menu, and select the BIND server. The
procedure creates NAMED.CA.
5.3.3.3 DOMAIN_NAME.DB
The DOMAIN_NAME.DB file stores host-name-to-address mapping. For example, for domain ROBIN.BIRD.COM, UCX creates the database file ROBIN_BIRD_COM.DB. The following example shows a DOMAIN_NAME.DB file.
$ORIGIN ucx.ern.sea.com. @ IN SOA owl.ucx.ern.sea.com. pmaster.owl.ern.sea.com. ( 23 ; Serial 600 ; Refresh 300 ; Retry 172800 ; Expire 43200 ) ; Minimum ; IN NS owl.ucx.ern.sea.com. IN NS condor.ucx.ern.sea.com. ; thrush IN A 9.20.208.53 condor IN A 9.20.208.10 birdy IN A 9.20.208.47 IN MX 10 birdy.ucx.ern.sea.com. IN MX 100 inet-gw-1.pa.emu.com. IN MX 100 mts-gw.pa.emu.com. IN MX 200 crl.emu.com. IN MX 300 nester.emu.com. seagull IN A 9.20.208.30 IN MX 10 seagull.ucx.ern.sea.com. IN MX 100 inet-gw-1.pa.emu.com. IN MX 100 mts-gw.pa.emu.com. IN MX 200 crl.emu.com. IN MX 300 nester.emu.com. owl IN A 9.20.208.72 IN MX 10 owl.ucx.ern.sea.com. IN MX 100 inet-gw-1.pa.emu.com. IN MX 100 mts-gw.pa.emu.com. IN MX 200 crl.emu.com. IN MX 300 nester.emu.com. peacock IN A 9.20.208.73 IN MX 10 pultdown.ucx.ern.sea.com. IN MX 100 inet-gw-1.pa.emu.com. IN MX 100 mts-gw.pa.emu.com. IN MX 200 crl.emu.com. IN MX 300 nester.emu.com. redwing IN A 9.20.208.79 IN MX 10 redwing.ucx.ern.sea.com. IN MX 100 inet-gw-1.pa.emu.com. IN MX 100 mts-gw.pa.emu.com. IN MX 200 crl.emu.com. IN MX 300 nester.emu.com. robin IN A 9.20.208.47 IN A 9.20.208.30 IN A 9.20.208.72
This file is created only for the primary server. All other servers obtain this information from the primary server. This file contains most of the domain information. Note, this file
MX records identify the servers in a domain that are used for
forwarding mail. Use MX records and preference numbers to define the
order in which mail servers are used. The lower the preference number,
the more desirable the server.
5.3.3.4 ADDRESS.DB
The ADDRESS.DB file stores address-to-host-name mapping (reverse mapping) information. For example, for the same domain, UCX creates this file with the name 208_20_9_IN-ADDR_ARPA.DB.
The following example shows an ADDRESS.DB file.
$ORIGIN 208.20.9.in-addr.arpa. @ IN SOA owl.ucx.ern.sea.com. pmaster.owl.ucx.ern.sea.com. ( 1 ; Serial 600 ; Refresh 300 ; Retry 172800 ; Expire 43200 ) ; Minimum ; IN NS owl.ucx.ern.sea.com. IN NS condor.ucx.ern.sea.com. ; 53 IN PTR thrush.ucx.ern.sea.com. 10 IN PTR condor.ucx.ern.sea.com. 47 IN PTR birdy.ucx.ern.sea.com. 30 IN PTR seagull.ucx.ern.sea.com. 72 IN PTR owl.ucx.ern.sea.com. 73 IN PTR peacock.ucx.ern.sea.com. 79 IN PTR redwing.ucx.ern.sea.com.
PTR records dominate this file because they are used translate
addresses to host names.
5.4 Displaying Name Server Information
Several SHOW commands provide information to help you monitor the name server. The following example shows the kind of data displayed by the SHOW NAME_SERVICE /STATISTICS command.
UCX> SHOW NAME_SERVICE /STATISTICS BIND Name Server Statistics Boot time: 2-DEC-1997 10:50:05.00 Reset time: 2-DEC-1997 10:50:05.00 In packets: 1208 Out packets: 1311 Queries: 844 Iqueries: 0 Dup. queries: 6 Sys. queries: 28 Responses: 369 Duplicate response: 0 Respok: 707 Respfail: 121 Respformerr: 0 Bad responses: 0 Prime cache: 1 Check NS: 1 Martians: 0 UCX>
The fields in the display have the following meanings:
The BIND server provides two ways to balance system load:
Note
This section uses the term "cluster" to refer to several A resource records for a single host name.
Round-robin scheduling is the default method used by the BIND server for load balancing clusters. If a multiple resource record satisfies a query, the BIND server returns it each time in a round-robin order. The round-robin scheme is a simple rotation where client requests are passed from one cluster member to the next. The server always passes the next incoming request to the last cluster member that received a request. The round-robin scheme is also useful for MX records to share mail loads among multiple equivalent gateways.
Unlike traditional load balancing, round-robin does not take into account the current workload on the cluster members and does not know if these hosts are up or down.
The following example demonstrates how round-robin balancing works.
The cluster alias is defined as ROBIN. In addition, host ROBIN is a member of the cluster. When the BIND server receives queries for ROBIN, it shuffles the records in a round-robin manner, as shown in the example.
; ; TCP/IP cluster load balancing - Round Robin Approach ; cluster name: "robin" robin IN A 9.20.208.47 IN A 9.20.208.30 IN A 9.20.208.72 ;
A user issues the TELNET command, specifying the cluster alias ROBIN. The first query to the name server is the result of the following command:
$ TELNET ROBIN %TELNET-I-TRYING, Trying ... 9.20.208.47 %TELNET-I-SESSION, Session 01, host birdy, port 23 -TELNET-I-ESCAPE, Escape character is ^]
The TELNET client connects to host birdy at IP address 9.20.208.47, the first RR in the list.
The second query to the name server is the result of the following command:
$ TELNET ROBIN %TELNET-I-TRYING, Trying ... 9.20.208.30 %TELNET-I-SESSION, Session 01, host seagull, port 23 -TELNET-I-ESCAPE, Escape character is ^]
The TELNET client connects to host seagull at IP address 9.20.208.30, the next RR in the list.
The third query to the name server is the result of the following command:
$ TELNET ROBIN %TELNET-I-TRYING, Trying ... 9.20.208.72 %TELNET-I-SESSION, Session 01, host owl, port 23 -TELNET-I-ESCAPE, Escape character is ^]
TELNET connects to host owl at IP address 9.20.208.72, the next RR in the list.
The fourth query to the name server is the result of the following command:
$ TELNET ROBIN %TELNET-I-TRYING, Trying ... 9.20.208.47 %TELNET-I-SESSION, Session 01, host birdy, port 23 -TELNET-I-ESCAPE, Escape character is ^]
TELNET again connects to host birdy at IP address 9.20.208.47. This is the start of the cycle repeating. The cycle repeats for the subsequent queries.
The SHOW HOST display for this name server illustrates the shuffling effect in greater detail:
UCX> SHOW HOST ROBIN BIND database Server: 9.20.208.72 owl.ucx.ern.sea.com Host address Host name 9.20.208.47 birdy.ucx.ern.sea.com 9.20.208.30 seagull.ucx.ern.sea.com 9.20.208.72 owl.ucx.ern.sea.com UCX> SHOW HOST ROBIN BIND database Server: 9.20.208.72 owl.ucx.ern.sea.com Host address Host name 9.20.208.30 seagull.ucx.ern.sea.com 9.20.208.72 owl.ucx.ern.sea.com 9.20.208.47 birdy.ucx.ern.sea.com UCX> SHOW HOST ROBIN BIND database Server: 9.20.208.72 owl.ucx.ern.sea.com Host address Host name 9.20.208.72 owl.ucx.ern.sea.com 9.20.208.47 birdy.ucx.ern.sea.com 9.20.208.30 seagull.ucx.ern.sea.com UCX> SHOW HOST ROBIN BIND database Server: 9.20.208.72 owl.ucx.ern.sea.com Host address Host name 9.20.208.47 birdy.ucx.ern.sea.com 9.20.208.30 seagull.ucx.ern.sea.com 9.20.208.72 owl.ucx.ern.sea.com
Define the logical name UCX$BIND_ROUND_ROBIN_OFF to disable round-robind scheduling.
The BIND server automatically uses round-robin scheduling on clusters of multiple A resource records unless a load balancing cluster is defined in the UCX configuration database.