Previous | Contents | Index |
In the same OpenVMS Cluster, multiple BIND master servers can share a common database, thereby providing redundancy and a failover mechanism when one of the servers becomes unavailable.
To configure a DNS cluster failover and redundancy environment, perform the following steps on each node participating in the cluster.
options { directory "TCPIP$BIND_COMMON"; }; |
Be careful to remove from SYS$SPECIFIC:[BIND] any databases that are to be shared. Using the search list logical, BIND will find any SYS$SPECIFIC:[BIND] databases first and use those. This may not be the result you want. |
$ @SYS$COMMON:[SYSMGR]TCPIP$BIND_STARTUP.COM |
The use of dynamic updates in conjunction with a master BIND server participating in cluster failover and redundancy is not supported and may cause serious problems. |
If multiple master BIND servers are running in a cluster, and a change is made to the common BIND database, the database must be reloaded on each node running the master BIND server. To reload the BIND database on every node in the cluster where the master BIND server is running, enter the following command:
TCPIP> SET NAME_SERVICE /INITIALIZE /CLUSTER=dev:[directory] |
The /CLUSTER qualifier takes the directory specification of the common BIND directory as a value. If you omit the device and directory, it defaults to:
common_device:[TCPIP$BIND_COMMON] |
In this case, common_device is automatically generated in the following manner:
To populate the BIND server database files, use one of the following methods:
To populate the BIND server database by copying information from the hosts database and other database files, enter the CONVERT/UNIX BIND command. This command:
If the BIND server's directory is SYS$SPECIFIC:[TCPIP$BIND] and you have specified domain abc.def.com , the default output file is named SYS$SPECIFIC:[TCPIP$BIND]ABC_DEF_COM.DB.
Compaq suggests that you do not change the default directory name. 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. The following 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.
TCPIP> CONVERT/UNIX BIND /DOMAIN=UCX.ERN.SEA.COM TCPIP> CONVERT/UNIX BIND /DOMAIN=208.20.9.IN-ADDR.ARPA TCPIP> SET DEFAULT SYS$SPECIFIC:[TCPIP$BIND] $ DIRECTORY Directory SYS$SPECIFIC:[TCPIP$BIND] 127_0_0.DB;1 208_20_9_IN-ADDR_ARPA.DB;1 LOCALHOST.DB;1 LOGIN.COM;1 ROOT.HINT;1 TCPIP$BIND.CONF;1 TCPIP$BIND_CONF.TEMPLATE;1 TCPIP$BIND_RUN.LOG;4339 TCPIP$BIND_SERVER.PID;1 UCX_ERN_SEA_COM.DB;5 |
All name server zone files use the same type of records to define domain database information. Compaq recommends that you review these resource records before editing any BIND files. The standard resource records (RR) are summarized in Table 5-11.
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 | Mail Exchange. Identifies where to deliver mail for a given domain. |
CNAME | Canonical name. 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 |
In this format:
name | Specifies 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 | Defines the length of time, in seconds, that the information in this resource record should be kept in cache. Usually, the time-to-live 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-11 for the record types you can specify.) |
data | 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:[TCPIP$BIND]. Do not delete these backup copies. When the
master server is down and the secondary server is started, the
secondary server cannot perform a zone transfer until the master server
is up. However, with backup copies, the secondary server has some data
(though possibly out of date) to perform its basic tasks.
5.4.4 Sample Database Files
The following sections provide sample BIND database files.
5.4.4.1 Local Loopback: Forward and Reverse Translation Files
In the LOCALHOST.DB file, the local host address is usually 127.0.0.1. The following sample LOCALHOST.DB file shows the forward translation for the local loopback interface.
; ; BIND data file for local loopback interface (forward translation). ; ; Provided for Compaq TCP/IP Services for OpenVMS. ; $ORIGIN localhost. @ 1D IN SOA @ root ( 42 ;Serial 3H ;Refresh 15M ;Retry 1W ;Expiry 1D ) ;Minimum ; 1D IN NS @ 1D IN A 127.0.0.1 |
The following sample 127_0_0.DB file shows the reverse translation for the local loopback interface.
; ; BIND data file for local loopback interface (reverse translation). ; ; Provided for Compaq TCP/IP Services for OpenVMS. ; $ORIGIN 0.0.127.in-addr.arpa. @ 1D IN SOA localhost. root.localhost. ( 42 ;Serial 3H ;Refresh 15M ;Retry 1W ;Expiry 1D ) ;Minimum ; 1D IN NS localhost. 1 1D IN PTR localhost. |
These local host databases provide forward and inverse translation for
the widely used LOCALHOST name. The LOCALHOST name is always associated
with the IP address 127.0.0.1 and is used for local loopback traffic.
5.4.4.2 Hint File
This file contains root name server hints. Any name server running on a host without direct Internet connectivity should list the internal roots in its hint file.
The following sample shows a ROOT.HINT file. In earlier releases, this file was called NAMED.CA.
; Data file for initial cache data for root domain servers. ; ; Provided for Compaq TCP/IP Services for OpenVMS. ; ; <<>> DiG 8.1 <<>> @192.5.5.241 ; (1 server found) ;; res options: init recurs defnam dnsrch ;; got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10 ;; flags: qr aa rd; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 13 ;; QUERY SECTION: ;; ., type = NS, class = IN ; ;; ANSWER SECTION: . 6D IN NS H.ROOT-SERVERS.NET. . 6D IN NS B.ROOT-SERVERS.NET. . 6D IN NS C.ROOT-SERVERS.NET. . 6D IN NS D.ROOT-SERVERS.NET. . 6D IN NS E.ROOT-SERVERS.NET. . 6D IN NS I.ROOT-SERVERS.NET. . 6D IN NS F.ROOT-SERVERS.NET. . 6D IN NS G.ROOT-SERVERS.NET. . 6D IN NS J.ROOT-SERVERS.NET. . 6D IN NS K.ROOT-SERVERS.NET. . 6D IN NS L.ROOT-SERVERS.NET. . 6D IN NS M.ROOT-SERVERS.NET. . 6D IN NS A.ROOT-SERVERS.NET. ; ;; ADDITIONAL SECTION: H.ROOT-SERVERS.NET. 5w6d16h IN A 128.63.2.53 B.ROOT-SERVERS.NET. 5w6d16h IN A 128.9.0.107 C.ROOT-SERVERS.NET. 5w6d16h IN A 192.33.4.12 D.ROOT-SERVERS.NET. 5w6d16h IN A 128.8.10.90 E.ROOT-SERVERS.NET. 5w6d16h IN A 192.203.230.10 I.ROOT-SERVERS.NET. 5w6d16h IN A 192.36.148.17 F.ROOT-SERVERS.NET. 5w6d16h IN A 192.5.5.241 G.ROOT-SERVERS.NET. 5w6d16h IN A 192.112.36.4 J.ROOT-SERVERS.NET. 5w6d16h IN A 198.41.0.10 K.ROOT-SERVERS.NET. 5w6d16h IN A 193.0.14.129 L.ROOT-SERVERS.NET. 5w6d16h IN A 198.32.64.12 M.ROOT-SERVERS.NET. 5w6d16h IN A 202.12.27.33 A.ROOT-SERVERS.NET. 5w6d16h IN A 198.41.0.4 ; ;; Total query time: 608 msec ;; FROM: ucx.ern.sea.com to SERVER: 192.5.5.241 ;; WHEN: Mon May 18 15:26:19 1998 ;; MSG SIZE sent: 17 rcvd: 436 |
This cache initialization file contains NS records that name root servers and A records that provide the addresses of root servers.
To create a ROOT.HINT file:
This procedure creates the ROOT.HINT file and places the file in the
SYS$SPECIFIC:[TCPIP$BIND] directory.
5.4.4.3 Forward Translation File
The forward translation file, domain_name.DB, stores host-name-to-address mapping. For example, for the domain ROBIN.BIRD.COM, the following database file is created: 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 master server. All other servers obtain this information from the master server. This file contains most of the domain information and has the following characteristics:
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.4.4.4 Reverse Translation File
The reverse translation file, address.DB, stores address-to-host-name mapping (reverse mapping) information. For example, for the same domain, a file with the name 208_20_9_IN-ADDR_ARPA.DB is created.
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 predominate in this file because they are used to translate
addresses to host names.
5.5 Examining Name Server Statistics
The BIND server collects statistics that record server activity. To examine BIND statistics, use the SHOW NAME_SERVICE/STATISTICS command. This command logs statistics to the file TCPIP$BIND_SERVER_STATISTICS.LOG, located in SYS$SPECIFIC:[TCPIP$BIND].
The following sample shows a statistics log:
34250 time since boot (secs) 15670 time since reset (secs) 12 Unknown query types 20000 A queries 540 SOA queries 2399 MX queries 867 ANY queries 3 AXFR queries ++ Name Server Statistics ++ (Legend) RR RNXD RFwdR RDupR RFail RFErr RErr RAXFR RLame ROpts SSysQ SAns SFwdQ SDupQ SErr RQ RIQ RFwdQ RDupQ RTCP SFwdR SFail SFErr SNaAns SNXD (Global) 2 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 5 0 0 0 0 0 -- Name Server Statistics -- ++ Memory Statistics ++ 3: 9 gets, 2 rem 4: 7 gets, 0 rem (1 bl, 1022 5: 16 gets, 1 rem 6: 7 gets, 5 rem 7: 10 gets, 5 rem 8: 97 gets, 16 rem (1 bl, 485 ff) 13: 6 gets, 4 rem . . . 664: 5 gets, 1 rem (1 bl, 5 ff) 732: 2 gets, 0 rem (1 bl, 5 ff) 1040: 1 gets, 1 rem (1 bl, 2 ff) >= 1100: 23 gets, 9 rem -- Memory Statistics -- --- Statistics Dump --- (907337687) Fri Jan 7 10:14:47 2000 |
The log lists information about how long the server has been running and how long since the last reset, and provides a count of the number of queries processed for each available resource record type.
In the Memory Statistics section, statistics for each size are displayed showing, in the following order:
Previous | Next | Contents | Index |