[an error occurred while processing this directive]

HP OpenVMS Systems Documentation

Content starts here >

Compaq TCP/IP Services for OpenVMS
Release Notes


Previous Contents


$ NSUPDATE 
> update delete oldhost.example.com A 
> update add newhost.example.com 86400 A 172.16.1.1 
> 

Any A records for oldhost.example.com are deleted, and an A record for newhost.example.com with IP address 172.16.1.1 is added. The newly added record has a TTL value of 86400 seconds (one day).
  • The following example tells the BIND server to verify the prerequisite condition that no resource records of any type exist for nickname.example.com . If any records exist, the update request fails. If no records with that name exist, a CNAME is added for it.
    This prerequisite condition is an RFC restriction that has been relaxed to allow for SIG, KEY, and NXT records to exist.


    $ NSUPDATE 
    > prereq nxdomain nickname.example.com 
    > update add nickname.example.com CNAME somehost.example.com 
    > 
    

    After entering data in interactive mode, press Return (or Enter) on a line with no data to complete the input. The nsupdate utility then processes all update entries in one operation.

    C.5.8 Configuring Cluster Failover and Redundancy

    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.

    1. Run the TCPIP$CONFIG command procedure, and from the Servers menu enable the BIND service.
    2. Edit the BIND configuration file, SYS$SPECIFIC:[TCPIP$BIND]TCPIP$BIND.CONF.
      1. Configure the node as a master server.
      2. Add or edit the options statement. The directory substatement should be as follows:


        options { 
                 directory "TCPIP$BIND_COMMON"; 
        }; 
        

        TCPIP$BIND_COMMON is a logical name defined in the TCPIP$BIND_COMMON_STARTUP.COM command procedure as a search list. The search list consists of the SYS$SPECIFIC:[TCPIP$BIND] directory and the common directory. In the next step, the setup command procedure prompts you to specify the device on which the common directory is to reside. If you do not specify a device, the default device and directory is common_device:[TCPIP$BIND_COMMON], where common_device is generated automatically in the following manner:
        • If the SYSUAF logical is defined, the common disk is determined from its definition.
        • If the SYSUAF logical is not defined, the system uses SYS$SYSDEVICE as the default device.
    3. Run the SYS$MANAGER:TCPIP$BIND_CLUSTER_SETUP.COM command procedure.
      This procedure creates two other command procedures that manage the startup and shutdown processes of the BIND component in a cluster environment:
      • SYS$MANAGER:TCPIP$BIND_COMMON_STARTUP.COM
      • SYS$MANAGER:TCPIP$BIND_COMMON_SHUTDOWN.COM

      These files define the BIND system logicals and accounting information. To remove the failover setup from your system, delete these two files.
    4. Place any database files to be shared in the common directory.

      Note

      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 might not be the result you want.
    5. Start up BIND by entering the following command:


      $ @SYS$MANAGER:TCPIP$BIND_STARTUP.COM 
      

    Caution

    The use of dynamic updates in conjunction with a master BIND server that is participating in cluster failover and redundancy is not supported and might cause serious problems.

    C.5.8.1 Changing the BIND Database

    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 that is 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, they default to:


    common_device:[TCPIP$BIND_COMMON]  
    

    In this case, common_device is generated automatically in the following manner:

    • If the SYSUAF logical is defined, the the common disk is determined from its definition.
    • If SYSUAF logical is not defined, the system uses SYS$SYSDEVICE as the default device.

    C.6 Populating the BIND Server Databases

    To populate the BIND server database files, use one of the following methods:

    • Convert an existing host database with the CONVERT/UNIX BIND command.
    • Manually edit the ZONE.DB files.

    C.6.1 Using Existing Databases

    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:

    • Creates a BIND server database (if needed).
    • Extracts data from the hosts database. (The BIND server uses UNIX style formatted files.)
    • Extracts Mail Exchange (MX) information from the routes database.
    • Populates the BIND server database with the host and MX records.
    • Creates a forward translation file with the following characteristics:
      • It has address, canonical name, and MX entries.
      • If a file with the same name as the output file already exists, the serial number from that file's start-of-authority (SOA) entry increments and becomes the serial number of the new output file.
      • If no previous version of the output file exists, the serial number for the new file is 1.

      When you specify forward translation (by omitting the /DOMAIN qualifier), any host in the hosts database that is not qualified with a domain is included in the target domain. For example, if the local domain is x.y.z. , the CONVERT/UNIX BIND command includes: a , b.x.y.z , c.x.y.z.z but does not include d.x.y.h .
    • Creates a reverse translation file if you specify /DOMAIN=(domain.name) and the end of domain.name is IN-ADDR.ARPA.
      The created reverse translation file has the following characteristics:
      • Only records applicable to the domain you specify are placed into the output file.
      • The output file has domain name pointer entries.
      • If a file with the same name as the output file already exists, the serial number from that file's SOA entry increments and becomes the serial number of the new output file.
      • If no previous version of the output file exists, the serial number for the new file is 1.
      • The file selects hosts with IP addresses that match the partial IP address from domain.name. For example, /DOMAIN=16.99.IN-ADDR.ARPA does a reverse translation and selects hosts whose addresses begin with 99.16.

    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 
     
    

    C.6.2 Manually Editing Zone Files

    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 you edit any BIND files. Table C-21 describes the standard resource records (RR).

    Table C-21 Standard Resource Record Types
    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 C-21 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.

    C.6.2.1 Setting TTLs

    The time to live (TTL) of the RR field is a 32-bit integer that represents the number of seconds that an RR can be cached before it should be discarded. The following types of TTL values are used in a zone file:

    • SOA
      The last field in the SOA is the negative caching TTL. This controls how long other servers cache no-such-domain (NXDOMAIN) responses from you.
      The maximum time for negative caching is 3 hours (3h).
    • $TTL
      The $TTL directive at the top of the zone file (before the SOA) gives a default TTL for every RR without a specific TTL set.
    • RR TTLs
      Each RR can have a TTL as the second field in the RR, which controls how long other servers can cache it.

    All of these TTLs default to units of seconds, though units can be explicitly specified (for example, 1h30m for 1 hour and 30 minutes).

    C.6.2.2 Zone File Directives

    While the master file format itself is class independent, all records in a master file must be of the same class. The master file directives are described in the following list:

    • $ORIGIN domain-name [comment ]
      Sets the domain name that is appended to any unqualified records. When a zone is first read, an implicit $ORIGIN zone-name directive is applied.
      If domain specified is not absolute, the current $ORIGIN is appended to it.
      For example, the following are interpreted the same way:


      $ORIGIN example.com 
      WWW     CNAME   MAIN-SERVER 
      

      And:


      WWW.EXAMPLE.COM. CNAME MAIN-SERVER.EXAMPLE.COM. 
      
    • $INCLUDE filename [ origin ] [ comment ]
      Reads and processes the specified file as if it were included into the file at this point. If origin is specified, the file is processed with $ORIGIN set to that value; otherwise, the current $ORIGIN is used.
      Once the file has been read, the origin and the current domain name revert to the values they had prior to the $INCLUDE.
    • $TTL default-ttl [