-- extracted from draft-hibbs-dns-server-mib-00.txt -- at Wed Nov 14 06:06:48 2001 DNS-SERVER-MIB DEFINITIONS ::= BEGIN IMPORTS mib-2 FROM RFC-1213 Counter64, Counter32, Gauge32, Unsigned32, mib-2, MODULE-IDENTITY, OBJECT-TYPE, OBJECT-IDENTITY, IpAddress FROM SNMPv2-SMI TEXTUAL-CONVENTION, RowStatus, DisplayString, TruthValue, DateAndTime FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF; dns OBJECT-IDENTITY STATUS current DESCRIPTION "The dns branch in the standard network management framework." ::= { mib-2 32 } -- IANA will make official assignment dnsServerMIB MODULE-IDENTITY LAST-UPDATED "2001-11-12 14:52:11" ORGANIZATION "Richard Barr Hibbs, P.E." CONTACT-INFO " Barr Hibbs Nominum, Inc. 950 Charter Street Redwood City, California 94063 Phone: +1-(415)-648-3920 Fax: +1-(415)-648-9017 E-mail: Barr.Hibbs@Nominum.com" DESCRIPTION "The DNS branch in the standard management framework consists of two parts: the DNS server and the DNS resolver. This is the branch point for distinguishing the two parts." ::= { dns 1 } dnsServerMIBObjects OBJECT-IDENTITY STATUS current DESCRIPTION "The MIB module for entities implementing the server side of the Domain Name System (DNS) protocol. This MIB does not include support for Dynamic DNS (DDNS)." ::= { dnsServerMIB 1 } -- Textual conventions defined by this memo DnsQueryClass ::= TEXTUAL-CONVENTION DISPLAY-HINT "2d" STATUS current DESCRIPTION "This data type is used to represent the class values that appear in DNS Resource Records. A 16-bit unsigned integer is used to allow room for new classes of records to be defined. Existing standard classes are listed in the DNS specifications." REFERENCE "RFC1035 section 3.2.4." SYNTAX INTEGER (0..65535) DnsName ::= TEXTUAL-CONVENTION -- A DISPLAY-HINT would be nice, but difficult to express. STATUS current DESCRIPTION "A DNS name is a sequence of labels. When DNS names are displayed, the boundaries between labels are typically indicated by dots (e.g., 'Acme' and 'COM' are labels in the name 'Acme. COM'). In the DNS protocol, however, no such separators are needed because each label is encoded as a length octet followed by the indicated number of octets of label. For example, 'Acme.COM' is encoded as the octet sequence: { 4, 'A', 'c', 'm', 'e', 3, 'C', 'O', 'M', 0 } where the final 0 is the length of the name of the root domain, which appears implicitly at the end of any DNS name. This MIB uses the same encoding as the DNS protocol. Each label that comprises a DNS name is restricted to 63 octets, and the entire DNS name restricted to 255 octets. A DNS name may be composed of an arbitrary number of labels, as long as it fits within the maximum overall length. A DNS name is not restricted to alphabetic, numeric, and a limited set of special characters as might be inferred from the example above. Names may be stored in any character coding appropriate for the use, subject only to the length restrictions. A DnsName must always be a fully qualified name. It is an error to encode a relative domain name as a DnsName without first making it a fully qualified name." REFERENCE "RFC-1034 section 3.1." SYNTAX OCTET STRING (SIZE (0..255)) DnsNameAsIndex ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "This textual convention is like a DnsName, but is used as an index componant in tables. Alphabetic characters in names of this type are restricted to uppercase: the characters 'a' through 'z' are mapped to the characters 'A' through 'Z'. This restriction is intended to make the lexical ordering imposed by SNMP useful when applied to DNS names. Note that it is theoretically possible for a valid DNS name to exceed the allowed length of an SNMP object identifer, and thus be impossible to represent in tables in this MIB that are indexed by DNS name. Sampling of DNS names in current use on the Internet suggests that this limit does not yet pose a serious problem in practice, but requires further study. This convention is no longer appropriate, given the support for binary labels and internationalized domain names. This definition MUST be updated to be in conformance with current status of DNS names." REFERENCE "RFC-1034 section 3.1, RFC-1448 section 4.1; RFC-2673." SYNTAX DnsName DnsOpCode ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "This textual convention is used to represent the DNS OPCODE values used in the header section of DNS messages. Existing standard OPCODE values are listed in the DNS specifications." REFERENCE "RFC1035 section 4.1.1." SYNTAX INTEGER (0..15) DnsQueryClass ::= TEXTUAL-CONVENTION DISPLAY-HINT "2d" STATUS current DESCRIPTION "This data type is used to represent the Qclass values which appear in Resource Records in the DNS. A 16-bit unsigned integer is used to allow room for new Qclass records to be defined. Existing standard Qclasses are listed in the DNS specification." REFERENCE "RFC1035 section 3.2.5." SYNTAX INTEGER (0..65535) DnsQueryType ::= TEXTUAL-CONVENTION DISPLAY-HINT "2d" STATUS current DESCRIPTION "This data type is used to represent the Qtype values which appear in DNS Resource Records. A 16-bit unsigned integer is used to allow room for new Qtype records to be defined. Existing standard Qtypes are listed in the DNS specification." REFERENCE "RFC1035 section 3.2.3." SYNTAX INTEGER (0..65535) DnsResponseCode ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "This data type is used to represent the DNS RCODE value in DNS response messages. Existing standard RCODE values are listed in the DNS specifications." REFERENCE "RFC1035 section 4.1.1." SYNTAX INTEGER (0..15) DnsTime ::= TEXTUAL-CONVENTION DISPLAY-HINT "5d" STATUS current DESCRIPTION "DnsTime values are 32-bit unsigned integers that measure time in seconds." REFERENCE "RFC-1035." SYNTAX Unsigned32 DnsTimeInterval ::= TEXTUAL-CONVENTION DISPLAY-HINT "2d.3d" STATUS current DESCRIPTION "DnsTimeInterval values are 32-bit unsigned integers that measures time in milliseconds. If the host system does not support millisecond clock resolution, this value is computed from the closest available resolution." SYNTAX Unsigned32 -- (Old-style) groups in the DNS server MIB. dnsServerIdentification OBJECT IDENTIFIER ::= { dnsServerMibObjects 1 } dnsServerConfiguration OBJECT IDENTIFIER ::= { dnsServerMibObjects 2 } dnsServerCounters OBJECT IDENTIFIER ::= { dnsServerMibObjects 3 } dnsServerOptCounters OBJECT IDENTIFIER ::= { dnsServerMibObjects 4 } dnsServerOptStats OBJECT IDENTIFIER ::= { dnsServerMibObjects 5 } dnsServerZone OBJECT IDENTIFIER ::= { dnsServerMibObjects 6 } dnsServerIdentification OBJECT-IDENTITY STATUS current DESCRIPTION "Group of objects that are related to the overall system." ::= { dnsServerMIBObjects 1 } dnsServerConfiguration OBJECT-IDENTITY STATUS current DESCRIPTION Group of objects that report server configuration." ::= { dnsServerMIBObjects 2 } dnsBasicCounters OBJECT-IDENTITY STATUS current DESCRIPTION "Group of objects that count various DNS events." ::= { dnsServerMIBObjects 3 } dnsOptionalCounters OBJECT-IDENTITY STATUS current DESCRIPTION "Group of objects that count various DNS events." ::= { dnsServerMIBObjects 4 } dnsStatsistics OBJECT-IDENTITY STATUS current DESCRIPTION "Group of objects that measure various DNS statistics." ::= { dnsServerMIBObjects 5 } dnsZones OBJECT-IDENTITY STATUS current DESCRIPTION "Group of objects that report server zone information." ::= { dnsServerMIBObjects 6 } -- serverIdentification Group dnsServerIdentificationDescription OBJECT-TYPE SYNTAX DisplayString (SIZE (0..255)) MAX-ACCESS read-only STATUS current DESCRIPTION "A textual description of the server. This value should include the full name and version identification of the server. This string MUST contain only printable NVT ASCII characters." ::= { dnsServerIdentification 1 } dnsServerIdentificationObjectID OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-only STATUS current DESCRIPTION "The vendor's authoritative identification of the network management subsystem contained in this entity. This value is allocated within the SMI enterprise subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining what kind of server is being managed. For example, if vendor 'VeryBigServers, Inc.' is assigned the subtree 1.3.6.1.4.1.4242, it may assign the identifier 1.3.6.1.4.1.4242.1.1 to its 'Nomenclator' DNS server." ::= { dnsServerIdentification 2 } dnsServerIdentificationUpTime OBJECT-TYPE SYNTAX DnsTimeInterval MAX-ACCESS read-only STATUS current DESCRIPTION "If the server has a persistent state (e.g., a process), this value will be the time elapsed since it started. For software without persistant state, this value will be zero." ::= { dnsServerIdentification 3 } dnsServerIdentificationOperatingState OBJECT-TYPE SYNTAX INTEGER { other(1), initializing(2), running(4) } MAX-ACCESS read-only STATUS current DESCRIPTION "Status object to report the persistant name server state, returning one of the following values: other(1) - server in some unknown state; initializing(2) - server (re)initializing; running(4) - server currently running." ::= { dnsServerIdentification 4 } -- Server Configuration Group dnsServerConfigurationRecursion OBJECT-TYPE SYNTAX INTEGER { available(1), restricted(2), unavailable(4) } MAX-ACCESS read-write STATUS current DESCRIPTION "This represents the recursion services offered by this name server. The values of this object are: available(1) - performs recursion on requests from clients. restricted(2) - recursion is performed on requests only from certain clients, for example; clients on an access control list. unavailable(4) - recursion is not available." ::= { dnsServerConfiguration 1 } -- Server Basic Counters Group -- Authoritative Answer Counters dnsServerCountersAuthoritativeAnswers OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of queries which were authoritatively answered." REFERENCE "RFC1035 section 4.1.1. Corresponds to responses with RCODE value 0 and the AA bit set." ::= { dnsServerCounters 1 } dnsServerCountersAuthoritativeNoNames OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of queries for which 'authoritative no such name' responses were made." REFERENCE "RFC1035 section 4.1.1. Corresponds to responses with RCODE value 3 and the AA bit set." ::= { dnsServerCounters 2 } dnsServerCountersAuthNoDataResps OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of queries for which 'authoritative no such data' (empty answer) responses were made." REFERENCE "RFC1035 section 4.1.1. Corresponds to RCODE 0 with ANCOUNT and ARCOUNT both 0, and the AA bit set." ::= { dnsServerCounters 3 } -- Non-Authoritative Answer Counters dnsServerCountersNonAuthAnswers OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of queries which were non-authoritatively answered (cached data)." REFERENCE "RFC1035 section 4.1.1. Corresponds to replies with RCODE 0 and the AA bit NOT set." ::= { dnsServerCounters 5 } dnsServerCountersNonAuthNoData OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of queries which were non-authoritatively answered with no data (empty answer)." REFERENCE "RFC1035 section 4.1.1. Corresponds to RCODE 0 with ANCOUNT and ARCOUNT both 0, and the AA bit NOT set." ::= { dnsServerCounters 6 } dnsServerCountersReferrals OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of requests that were referred to other servers." ::= { dnsServerCounters 7 } -- Error Counters dnsServerCountersFormatErrors OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of requests the server has processed that were answered with RCODE value 1." REFERENCE "RFC1035 section 4.1.1." ::= { dnsServerCounters 9 } dnsServerCountersServerFailures OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of requests the server has processed that were answered with RCODE value 2." REFERENCE "RFC1035 section 4.1.1." ::= { dnsServerCounters 10 } dnsServerCountersNotImplemented OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of requests the server has processed that were answered with RCODE value 4." REFERENCE "RFC1035 section 4.1.1." ::= { dnsServerCounters 11 } dnsServerCountersRequestsRefused OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of DNS requests refused by the server." REFERENCE "RFC1035 section 4.1.1. Corresponds to responses with RCODE value 5." ::= { dnsServerCounters 12 } -- DNS Server Counters Table dnsServerOpCodeCountersTable OBJECT-TYPE SYNTAX SEQUENCE OF dnsServerOpCodeCountersEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Counters of queries received by DNS OPCODE value. This table should contain one row for each OPCODE value, but may be configured, using some unspecified external mechanism, to contain only rows of interest to the server administrator, plus one row (with a zero index value) corresponding to 'all other OPCODES.'" ::= { dnsServerCounters 15 } dnsServerQClassCountersTable OBJECT-TYPE SYNTAX SEQUENCE OF dnsServerQClassCountersEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Counters of queries received by DNS class. This table contains one row for every class to be counted as configured by the server administrator using some unspecified external mechanism. For example, the administrator may only with to count queries for a few specific classes. In this case, the table would contain one row for each class to be counted, plus one row (with zero index value) for 'all other classes.'" ::= { dnsServerCounters 16 } dnsServerQtypeCountersTable OBJECT-TYPE SYNTAX SEQUENCE OF dnsServerQTypeCountersEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Counters of queries received by DNS RR type. This table contains one row for every RR type to be counted as configured by the server administrator using some unspecified external mechanism. For example, the administrator may only wish to count queries for A and PTR records, plus 'Any.' In this case the table would contain only three rows. In the context of this MIB, a value of zero for RR type means 'all other RR types.'" ::= { dnsServerCounters 17 } dnsServerTransportCountersTable OBJECT-TYPE SYNTAX SEQUENCE OF dnsServerTransportCountersEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Counters of queries received by DNS transport protocol." ::= { dnsServerCounters 18 } dnsServerOpCodeCountersEntry OBJECT-TYPE SYNTAX DnsServerOpCodedCountersEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "" INDEX { dnsServerCountersOpCode } ::= { dnsServerCountersTable 1 } dnsServerQClassCountersEntry OBJECT-TYPE SYNTAX DnsServerQClassCountersEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "" INDEX { dnsServerCountersQueryClass } ::= { dnsServerCountersTable 2 } dnsServeQTypeCountersEntry OBJECT-TYPE SYNTAX DnsServerQTypeCountersEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "" INDEX { dnsServerCountersQueryType } ::= { dnsServerCountersTable 3 } dnsServerTransportCountersEntry OBJECT-TYPE SYNTAX DnsServerTransportCountersEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "" INDEX { dnsServerCountersTransport } ::= { dnsServerCountersTable 4 } DnsServerOpCodeCountersEntry ::= SEQUENCE { DnsServerCountersOpCode DnsOpCode, DnsServerCountersOpCodeRequests Counter32, } DnsServerQClassCountersEntry ::= SEQUENCE { DnsServerCountersQueryClass DnsQueryClass, DnsServerCountersQClassRequests Counter32, } DnsServerQTypeCountersEntry ::= SEQUENCE { DnsServerCountersQueryType DnsQueryType, DnsServerCountersQTypeRequests Counter32, } DnsServerTransportCountersEntry ::= SEQUENCE { DnsServerCountersTransport INTEGER, DnsServerCountersTransportRequests Counter32, } dnsServerCountersOpCode OBJECT-TYPE SYNTAX DnsOpCode MAX-ACCESS not-accessible STATUS current DESCRIPTION "The DNS OPCODE being counted in this row of the table." ::= { dnsServerOpCodeCountersEntry 1 } dnsServerCountersopCodeRequests OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of requests (queries) that have been recorded in this row of the table." ::= { dnsServerOpCodeCountersEntry 2 } dnsServerCountersQueryClass OBJECT-TYPE SYNTAX DnsQueryClass MAX-ACCESS not-accessible STATUS current DESCRIPTION "The class of record being counted in this row of the table." ::= { dnsServerQClassCountersEntry 1 } dnsServerCountersQClassRequests OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of requests (queries) that have been recorded in this row of the table." ::= { dnsServerQClassCountersEntry 2 } dnsServerCountersQueryType OBJECT-TYPE SYNTAX DnsQueryType MAX-ACCESS not-accessible STATUS current DESCRIPTION "The type of record which is being counted in this row in the table." ::= { dnsServerQTypeCountersEntry 1 } dnsServerCountersQTypeRequests OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of requests (queries) that have been recorded in this row of the table." ::= { dnsServerQTypeCountersEntry 2 } dnsServerCountersTransport OBJECT-TYPE SYNTAX INTEGER { udp(1), tcp(2), other(4) } MAX-ACCESS not-accessible STATUS current DESCRIPTION "A value of udp(1) indicates that the queries reported on this row were sent using UDP. A value of tcp(2) indicates that the queries reported on this row were sent using TCP. A value of other(3) indicates that the queries reported on this row were sent using a transport that was neither TCP nor UDP." ::= { dnsServerTransportCountersEntry 1 } dnsServerCountersTransportRequests OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of requests (queries) that have been recorded in this row of the table." ::= { dnsServerTransportCountersEntry 2 } -- Server Optional Counters Group -- [None defined at this time] -- dnsStatsistics group dnsStatsMinArrivalInterval OBJECT-TYPE SYNTAX DnsTimeInterval MAX-ACCESS read-only STATUS current DESCRIPTION "The minimum amount of time between receiving two DNS messages. A message is received at the server when the server is able to begin processing the message. This typically occurs immediately after the message is read into server memory. If no messages have been received, then this object contains a zero value." ::= { dnsStatsistics 1 } dnsStatsMaxArrivalInterval OBJECT-TYPE SYNTAX DnsTimeInterval MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum amount of time between receiving two DNS messages. A message is received at the server when the server is able to begin processing the message. This typically occurs immediately after the message is read into server memory. If no messages have been received, then this object contains a zero value." ::= { dnsStatsistics 2 } dnsStatsSumArrivalTime OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The sum of the DNS packet inter-arrival times in milli- seconds. This value may be used to compute the arithmetic mean of the DNS arrival times." ::= { dnsStatsistics 3 } dnsStatsSumSquaresArrivalTime OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The sum of the squared DNS packet inter-arrival times in micro-seconds. This value may be used to compute the variance and standard deviation of the DNS arrival times. Note that a micro-second resolution of this object requires a clock resolution to the milli-second since the square of a milli- second value produces a value with micro-second resolution." ::= { dnsStatsistics 4 } -- Server Zone Group -- DNS Management Zone Configuration Table -- This table contains zone configuration information. dnsServerZoneTable OBJECT-TYPE SYNTAX SEQUENCE OF DnsServZoneEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Table of zones for which this name server provides information. Each of the zones may be loaded from stable storage via an implementation-specific mechanism or may be obtained from another name server via a zone transfer. If name server doesn't load any zones, this table is empty." ::= { dnsServerZone 1 } dnsServerZoneEntry OBJECT-TYPE SYNTAX DnsServZoneEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the name server zone table. New rows may be added either via SNMP or by the name server itself." INDEX { dnsServerZoneName, dnsServerZoneClass } ::= { dnsServerZoneTable 1 } DnsServerZoneEntry ::= SEQUENCE { DnsServerZoneName DnsNameAsIndex, DnsServerZoneClass DnsQueryClass, DnsServerZoneLastReloadSuccess DnsTime, DnsServerZoneLastReloadAttempt DnsTime, DnsServerZoneLastSourceAttempt IpAddress, DnsServerZoneStatus RowStatus, dnsServerZoneSerial Counter32, dnsServerZoneCurrent TruthValue, dnsServerZoneLastSourceSuccess IpAddress } dnsServerZoneName OBJECT-TYPE SYNTAX DnsNameAsIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "DNS name of the zone described by this row of the table. This is the owner name of the SOA RR that defines the top of the zone. This is name is in uppercase: characters 'a' through 'z' are mapped to 'A' through 'Z' in order to make the lexical ordering useful. This definition is obsolete and must be replaced to accommodate binary labels and internationalized domain names." ::= { dnsServerZoneEntry 1 } dnsServerZoneClass OBJECT-TYPE SYNTAX DnsQueryClass MAX-ACCESS not-accessible STATUS current DESCRIPTION "DNS class of the RRs in this zone." ::= { dnsServerZoneEntry 2 } dnsServerZoneLastReloadSuccess OBJECT-TYPE SYNTAX DnsTime MAX-ACCESS read-only STATUS current DESCRIPTION "Elapsed time in seconds since last successful reload of this zone. This definition requires update to account for new update methods." ::= { dnsServerZoneEntry 3 } dnsServerZoneLastReloadAttempt OBJECT-TYPE SYNTAX DnsTime MAX-ACCESS read-only STATUS current DESCRIPTION "Elapsed time in seconds since last attempted reload of this zone. This definition requires update to account for new update methods." ::= { dnsServerZoneEntry 4 } dnsServerZoneLastSourceAttempt OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "IP address of host from which most recent zone transfer of this zone was attempted. This value should match the value of dnsServerZoneSourceSuccess if the attempt was succcessful. If zone transfer has not been attempted within the memory of this name server, this value should be 0.0.0.0." This definition requires update to account for new update methods." ::= { dnsServerZoneEntry 5 } dnsServerZoneStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of the information represented in this row of the table." ::= { dnsServerZoneEntry 6 } dnsServerZoneSerial OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Zone serial number (from the SOA RR) of the zone represented by this row of the table. If the zone has not been successfully loaded within the memory of this name server, the value of this variable is zero." ::= { dnsServerZoneEntry 7 } dnsServerZoneCurrent OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "Whether the server's copy of the zone represented by this row of the table is currently valid. If the zone has never been successfully loaded or has expired since it was last succesfully loaded, this variable will have the value false(2), otherwise this variable will have the value true(1)." ::= { dnsServerZoneEntry 8 } dnsServerZoneLastSourceSuccess OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS read-only STATUS current DESCRIPTION "IP address of host which was the source of the most recent successful zone transfer for this zone. If unknown (e.g., zone has never been successfully transfered) or irrelevant (e.g., zone was loaded from stable storage), this value should be 0.0.0.0." ::= { dnsServerZoneEntry 9 } -- DNS Zone Source Table dnsServerZoneSourceTable OBJECT-TYPE SYNTAX SEQUENCE OF DnsServZoneSourceEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table is a list of IP addresses from which the server will attempt to load zone information using DNS zone transfer operations. A reload may occur due to SNMP operations that create a row in dnsServerZoneTable or a SET to object dnsServerZoneReload. This table is only used when the zone is loaded via zone transfer." ::= { dnsServerZone 2 } dnsServerZoneSourceEntry OBJECT-TYPE SYNTAX DnsServZoneSourceEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the name server zone source table." INDEX { dnsServerZoneSourceName, dnsServerZoneSourceClass, dnsServerZoneSourceAddr } ::= { dnsServerZoneSourceTable 1 } DnsServZoneSourceEntry ::= SEQUENCE { DnsServerZoneSourceName DnsNameAsIndex, DnsServerZoneSourceClass DnsQueryClass, DnsServerZoneSourceAddr IpAddress, DnsServerZoneSourceStatus RowStatus } dnsServerZoneSourceName OBJECT-TYPE SYNTAX DnsNameAsIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "DNS name of the zone to which this entry applies." ::= { dnsServerZoneSourceEntry 1 } dnsServerZoneSourceClass OBJECT-TYPE SYNTAX DnsQueryClass MAX-ACCESS not-accessible STATUS current DESCRIPTION "DNS class of zone to which this entry applies." ::= { dnsServerZoneSourceEntry 2 } dnsServerZoneSourceAddr OBJECT-TYPE SYNTAX IpAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "IP address of name server host from which this zone might be obtainable." ::= { dnsServerZoneSourceEntry 3 } dnsServerZoneSourceStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of the information represented in this row of the table." ::= { dnsServerZoneSourceEntry 4 } -- SNMPv2 groups. dnsServerMibGroups OBJECT IDENTIFIER ::= { dnsServerMib 2 } dnsServerIdentificationGroup OBJECT-GROUP OBJECTS { dnsServerIdentificationIdentifier, dnsServerIdentificationUpTime, dnsServerIdentificationResetTime, dnsServerIdentificationOperatingState } STATUS current DESCRIPTION "A collection of objects providing identification of a DNS name server." ::= { dnsServerMibGroups 1 } dnsServerConfigurationGroup OBJECT-GROUP OBJECTS { dnsServerConfigurationRecursion } STATUS current DESCRIPTION "A collection of objects providing basic configuration of a DNS name server." ::= { dnsServerMibGroups 2 } dnsServerCountersGroup OBJECT-GROUP OBJECTS { dnsServerCountersAuthoritativeAnswers , dnsServerCountersAuthoritativeNoNames, dnsServerCountersAuthNoDataResps, dnsServerCountersNonAuthAnswers, dnsServerCountersNonAuthNoData, dnsServerCountersReferrals, dnsServerCountersFormatErrors, dnsServerCountersServerFailures, dnsServerCountersNotImplemented, dnsServerCountersRequestsRefused, dnsServerCountersReqUnparses, dnsServerCountersOtherErrors, dnsServerCountersOpCode, dnsServerCountersQueryClass, dnsServerCountersQueryType, dnsServerCountersTransport, dnsServerCountersRequests, dnsServerCountersResponses } STATUS current DESCRIPTION "A collection of objects providing basic instrumentation of a DNS name server." ::= { dnsServerMibGroups 3 } dnsServerOptCountersGroup OBJECT-GROUP OBJECTS { } STATUS current DESCRIPTION "A collection of objects providing extended instrumentation of a DNS name server." ::= { dnsServerMibGroups 4 } dnsServerStatisticsGroup OBJECT-GROUP OBJECTS { } STATUS current DESCRIPTION "A collection of objects providing extended instrumentation of a DNS name server." ::= { dnsServerMibGroups 5 } dnsServerZoneGroup OBJECT-GROUP OBJECTS { dnsServerZoneName, dnsServerZoneClass, dnsServerZoneLastReloadSuccess, dnsServerZoneLastReloadAttempt, dnsServerZoneLastSourceAttempt, dnsServerZoneLastSourceSuccess, dnsServerZoneStatus, dnsServerZoneSerial, dnsServerZoneCurrent, dnsServerZoneSourceName, dnsServerZoneSourceClass, dnsServerZoneSourceAddr, dnsServerZoneSourceStatus } STATUS current DESCRIPTION "A collection of objects providing configuration control of a DNS name server which loads authoritative zones." ::= { dnsServerMibGroups 6 } -- serverNotifyObjects: Objects which are used only in notifications -- [no new objects defined in this MIB] -- Notifications serverServerStart NOTIFICATION-TYPE OBJECTS { serverNotifyServer } STATUS current DESCRIPTION "This notification signifies that the server of the specified type has started on the host from which this notification has been sent." ::= { dnsServerMIBNotifications 3 } serverServerStop NOTIFICATION-TYPE OBJECTS { serverNotifyServer } STATUS current DESCRIPTION "This notification signifies that the server of the specified type has stopped normally on the host from which this notification has been sent." ::= { dnsServerMIBNotifications 4 } -- Compliances. dnsServerMibCompliances OBJECT IDENTIFIER ::= { dnsServerMib 3 } dnsServerMibCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for agents implementing the DNS name server MIB extensions." MODULE -- This MIB module MANDATORY-GROUPS { dnsServerIdentificationGroup, dnsServerConfigurationGroup, dnsServerCountersGroup } GROUP dnsServerOptCountersGroup DESCRIPTION "The server optional counter group is unconditionally optional." GROUP dnsServerStatisticsGroup DESCRIPTION "The server statistics group is unconditionally optional." GROUP dnsServerZoneGroup DESCRIPTION "The server zone group is mandatory for any name server that acts as an authoritative server for any DNS zone." -- Conformance dnsServerMIBConformance OBJECT-IDENTITY STATUS current DESCRIPTION "DNS Server MIB objects are all defined in this branch." ::= { dnsServerMIB 3 } dnsServerMIBCompliances OBJECT IDENTIFIER ::= { dnsServerMIBConformance 1 } dnsServerMIBGroups OBJECT IDENTIFIER ::= { dnsServerMIBConformance 2 } -- Compliance groups dnsServerMIBCompliance MODULE-COMPLIANCE MODULE -- this module MANDATORY-GROUPS { serverIdentificationGroup, dnsBasicCountersGroup, dnsOptionalCountersGroup, dnsStatsisticsGroup, serverConfigurationGroup } STATUS current DESCRIPTION "Describes the requirements for conformance to the DNS Server MIB." ::= { dnsServerMIBCompliances 1 } dnsBasicCountersGroup OBJECT-GROUP OBJECTS { } STATUS current DESCRIPTION "Objects belonging to the dnsBasicCountersGroup." ::= { dnsServerMIBGroups 3 } dnsOptionalCountersGroup OBJECT-GROUP OBJECTS { } STATUS current DESCRIPTION "Objects belonging to the dnsOptionalCountersGroup." ::= { dnsServerMIBGroups 3 } dnsStatisticsGroup OBJECT-GROUP OBJECTS { dnsStatsMinArrivalInterval, dnsStatsMaxArrivalInterval, dnsStatsSumArrivalTime, dnsStatsSumSquaresArrivalTime } STATUS current DESCRIPTION "Objects belonging to the dnsStatisticsGroup." ::= { dnsServerMIBGroups 5 } serverZoneGroup OBJECT-GROUP OBJECTS { dnsServerZoneName, dnsServerZoneClass, dnsServerZoneLastReloadSuccess, dnsServerZoneLastReloadAttempt, dnsServerZoneLastSourceAttempt, dnsServerZoneLastSourceSuccess, dnsServerZoneStatus, dnsServerZoneSerial, dnsServerZoneCurrent, dnsServerZoneSourceName, dnsServerZoneSourceClass, dnsServerZoneSourceAddr, dnsServerZoneSourceStatus } STATUS current DESCRIPTION "Objects belonging to the serverConfigurationGroup." ::= { dnsServerMIBGroups 6 } serverNotifyObjectsGroup OBJECT-GROUP OBJECTS { serverNotifyServer } STATUS current DESCRIPTION "DNS Server MIB objects used in notifications." ::= { dnsServerMIBGroups 7 } serverNotificationsGroup NOTIFICATION-GROUP NOTIFICATIONS { serverServerStart, serverServerStop, serverDNSQueueTooBig } STATUS current DESCRIPTION "Notifications which are implemented by the DNS Server agent." ::= { dnsServerMIBGroups 8 } END -- -- Copyright (C) The Internet Society (2001). All Rights Reserved. -- -- This document and translations of it may be copied and furnished to -- others, and derivative works that comment on or otherwise explain it -- or assist in its implementation may be prepared, copied, published -- and distributed, in whole or in part, without restriction of any -- kind, provided that the above copyright notice and this paragraph are -- included on all such copies and derivative works. However, this -- document itself may not be modified in any way, such as by removing -- the copyright notice or references to the Internet Society or other -- Internet organizations, except as needed for the purpose of -- developing Internet standards in which case the procedures for -- copyrights defined in the Internet Standards process must be -- followed, or as required to translate it into languages other than -- English. -- -- The limited permissions granted above are perpetual and will not be -- revoked by the Internet Society or its successors or assigns. -- This document and the information contained herein is provided on an -- "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING -- TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING -- BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION -- HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF -- MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.