"A list of protocols that support the network
address translation. Inclusion of the values is
not intended to imply that those protocols
need to be supported. Any change in this
TEXTUAL-CONVENTION should also be reflected in
the definition of NatProtocolMap, which is a
BITS representation of this."
SYNTAX INTEGER {
none (1), -- not specified
other (2), -- none of the following
icmp (3),
udp (4),
tcp (5)
}
NatProtocolMap ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"A bitmap of protocol identifiers that support
the network address translation. Any change
in this TEXTUAL-CONVENTION should also be
reflected in the definition of NatProtocolType."
SYNTAX BITS {
other (0),
icmp (1),
udp (2),
tcp (3)
}
NatAddrMapId ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d"
STATUS current
DESCRIPTION
"A unique id that is assigned to each address map
by a NAT enabled device."
SYNTAX Unsigned32 (1..4294967295)
NatBindIdOrZero ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d"
STATUS current
DESCRIPTION
"A unique id that is assigned to each bind by
a NAT enabled device. The bind id will be zero
in the case of a Symmetric NAT."
SYNTAX Unsigned32 (0..4294967295)
NatBindId ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d"
STATUS current
DESCRIPTION
"A unique id that is assigned to each bind by
a NAT enabled device."
SYNTAX Unsigned32 (1..4294967295)
NatSessionId ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d"
STATUS current
DESCRIPTION
"A unique id that is assigned to each session by
a NAT enabled device."
SYNTAX Unsigned32 (1..4294967295)
NatBindMode ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"An indication of whether the bind is
an address bind or an address port bind."
SYNTAX INTEGER {
addressBind (1),
addressPortBind (2)
}
NatAssociationType ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"An indication of whether the association is
static or dynamic."
SYNTAX INTEGER {
static (1),
dynamic (2)
}
NatTranslationEntity ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"An indication of a) the direction of a session for
which an address map entry, address bind or port
bind is applicable, and b) the entity (source or
destination) within the session that is subject to
translation."
SYNTAX BITS {
inboundSrcEndPoint (0),
outboundDstEndPoint(1),
inboundDstEndPoint (2),
outboundSrcEndPoint(3)
}
--
-- Default Values for the Bind and NAT Protocol Timers
--
natDefTimeouts OBJECT IDENTIFIER ::= { natMIBObjects 1 }
natNotifCtrl OBJECT IDENTIFIER ::= { natMIBObjects 2 }
--
-- Address Bind and Port Bind related NAT configuration
--
natBindDefIdleTimeout OBJECT-TYPE
SYNTAX Unsigned32 (0..4294967295)
UNITS "seconds"
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The default Bind (Address Bind or Port Bind) idle
timeout parameter.
If the agent is capable of storing non-volatile
configuration, then the value of this object must be
restored after a re-initialization of the management
system."
DEFVAL { 0 }
::= { natDefTimeouts 1 }
--
-- UDP related NAT configuration
--
natUdpDefIdleTimeout OBJECT-TYPE
SYNTAX Unsigned32 (1..4294967295)
UNITS "seconds"
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The default UDP idle timeout parameter.
If the agent is capable of storing non-volatile
configuration, then the value of this object must be
restored after a re-initialization of the management
system."
DEFVAL { 300 }
::= { natDefTimeouts 2 }
--
-- ICMP related NAT configuration
--
natIcmpDefIdleTimeout OBJECT-TYPE
SYNTAX Unsigned32 (1..4294967295)
UNITS "seconds"
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The default ICMP idle timeout parameter.
If the agent is capable of storing non-volatile
configuration, then the value of this object must be
restored after a re-initialization of the management
system."
DEFVAL { 300 }
::= { natDefTimeouts 3 }
--
-- Other protocol parameters
--
natOtherDefIdleTimeout OBJECT-TYPE
SYNTAX Unsigned32 (1..4294967295)
UNITS "seconds"
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The default idle timeout parameter for protocols
represented by the value other (2) in
NatProtocolType.
If the agent is capable of storing non-volatile
configuration, then the value of this object must be
restored after a re-initialization of the management
system."
DEFVAL { 60 }
::= { natDefTimeouts 4 }
--
-- TCP related NAT Timers
--
natTcpDefIdleTimeout OBJECT-TYPE
SYNTAX Unsigned32 (1..4294967295)
UNITS "seconds"
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The default time interval that a NAT session for an
established TCP connection is allowed to remain
valid without any activity on the TCP connection.
If the agent is capable of storing non-volatile
configuration, then the value of this object must be
restored after a re-initialization of the management
system."
DEFVAL { 86400 }
::= { natDefTimeouts 5 }
natTcpDefNegTimeout OBJECT-TYPE
SYNTAX Unsigned32 (1..4294967295)
UNITS "seconds"
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The default time interval that a NAT session for a TCP
connection that is not in the established state
is allowed to remain valid without any activity on
the TCP connection.
If the agent is capable of storing non-volatile
configuration, then the value of this object must be
restored after a re-initialization of the management
system."
DEFVAL { 60 }
::= { natDefTimeouts 6 }
natNotifThrottlingInterval OBJECT-TYPE
SYNTAX Integer32 (0 | 5..3600)
UNITS "seconds"
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This object controls the generation of the
natPacketDiscard notification.
If this object has a value of zero, then no
natPacketDiscard notifications will be transmitted by the
agent.
If this object has a non-zero value, then the agent must
not generate more than one natPacketDiscard
’notification-event’ in the indicated period, where a
’notification-event’ is the generation of a single
notification PDU type to a list of notification
destinations. If additional NAT packets are discarded
within the throttling period, then notification-events
for these changes must be suppressed by the agent until
the current throttling period expires.
If natNotifThrottlingInterval notification generation
is enabled, the suggested default throttling period is
60 seconds, but generation of the natPacketDiscard
notification should be disabled by default.
If the agent is capable of storing non-volatile
configuration, then the value of this object must be
restored after a re-initialization of the management
system.
The actual transmission of notifications is controlled
via the MIB modules in RFC 3413."
DEFVAL { 0 }
::= { natNotifCtrl 1 }
--
-- The NAT Interface Table
--
natInterfaceTable OBJECT-TYPE
SYNTAX SEQUENCE OF NatInterfaceEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table specifies the attributes for interfaces on a
device supporting NAT function."
::= { natMIBObjects 3 }
natInterfaceEntry OBJECT-TYPE
SYNTAX NatInterfaceEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Each entry in the natInterfaceTable holds a set of
parameters for an interface, instantiated by
ifIndex. Therefore, the interface index must have been
assigned, according to the applicable procedures,
before it can be meaningfully used.
Generally, this means that the interface must exist.
When natStorageType is of type nonVolatile, however,
this may reflect the configuration for an interface whose
ifIndex has been assigned but for which the supporting
implementation is not currently present."
INDEX { ifIndex }
::= { natInterfaceTable 1 }
NatInterfaceEntry ::= SEQUENCE {
natInterfaceRealm INTEGER,
natInterfaceServiceType BITS,
natInterfaceInTranslates Counter64,
natInterfaceOutTranslates Counter64,
natInterfaceDiscards Counter64,
natInterfaceStorageType StorageType,
natInterfaceRowStatus RowStatus
}
natInterfaceRealm OBJECT-TYPE
SYNTAX INTEGER {
private (1),
public (2)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object identifies whether this interface is
connected to the private or the public realm."
DEFVAL { public }
::= { natInterfaceEntry 1 }
natInterfaceServiceType OBJECT-TYPE
SYNTAX BITS {
basicNat (0),
napt (1),
bidirectionalNat (2),
twiceNat (3)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"An indication of the direction in which new sessions
are permitted and the extent of translation done within
the IP and transport headers."
::= { natInterfaceEntry 2 }
natInterfaceInTranslates OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of packets received on this interface that
were translated.
Discontinuities in the value of this counter can occur at
reinitialization of the management system and at other
times as indicated by the value of
ifCounterDiscontinuityTime on the relevant interface."
::= { natInterfaceEntry 3 }
natInterfaceOutTranslates OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of translated packets that were sent out this
interface.
Discontinuities in the value of this counter can occur at
reinitialization of the management system and at other
times as indicated by the value of
ifCounterDiscontinuityTime on the relevant interface."
::= { natInterfaceEntry 4 }
natInterfaceDiscards OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of packets that had to be rejected/dropped due to
a lack of resources for this interface.
Discontinuities in the value of this counter can occur at
reinitialization of the management system and at other
times as indicated by the value of
ifCounterDiscontinuityTime on the relevant interface."
::= { natInterfaceEntry 5 }
natInterfaceStorageType OBJECT-TYPE
SYNTAX StorageType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The storage type for this conceptual row.
Conceptual rows having the value ’permanent’
need not allow write-access to any columnar objects
in the row."
REFERENCE
"Textual Conventions for SMIv2, Section 2."
DEFVAL { nonVolatile }
::= { natInterfaceEntry 6 }
natInterfaceRowStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status of this conceptual row.
Until instances of all corresponding columns are
appropriately configured, the value of the
corresponding instance of the natInterfaceRowStatus
column is ’notReady’.
In particular, a newly created row cannot be made
active until the corresponding instance of
natInterfaceServiceType has been set.
None of the objects in this row may be modified
while the value of this object is active(1)."
REFERENCE
"Textual Conventions for SMIv2, Section 2."
::= { natInterfaceEntry 7 }
--
-- The Address Map Table
--
natAddrMapTable OBJECT-TYPE
SYNTAX SEQUENCE OF NatAddrMapEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table lists address map parameters for NAT."
::= { natMIBObjects 4 }
natAddrMapEntry OBJECT-TYPE
SYNTAX NatAddrMapEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This entry represents an address map to be used for
NAT and contributes to the dynamic and/or static
address mapping tables of the NAT device."
INDEX { ifIndex, natAddrMapIndex }
::= { natAddrMapTable 1 }
NatAddrMapEntry ::= SEQUENCE {
natAddrMapIndex NatAddrMapId,
natAddrMapName SnmpAdminString,
natAddrMapEntryType NatAssociationType,
natAddrMapTranslationEntity NatTranslationEntity,
natAddrMapLocalAddrType InetAddressType,
natAddrMapLocalAddrFrom InetAddress,
natAddrMapLocalAddrTo InetAddress,
natAddrMapLocalPortFrom InetPortNumber,
natAddrMapLocalPortTo InetPortNumber,
natAddrMapGlobalAddrType InetAddressType,
natAddrMapGlobalAddrFrom InetAddress,
natAddrMapGlobalAddrTo InetAddress,
natAddrMapGlobalPortFrom InetPortNumber,
natAddrMapGlobalPortTo InetPortNumber,
natAddrMapProtocol NatProtocolMap,
natAddrMapInTranslates Counter64,
natAddrMapOutTranslates Counter64,
natAddrMapDiscards Counter64,
natAddrMapAddrUsed Gauge32,
natAddrMapStorageType StorageType,
natAddrMapRowStatus RowStatus
}
natAddrMapIndex OBJECT-TYPE
SYNTAX NatAddrMapId
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Along with ifIndex, this object uniquely
identifies an entry in the natAddrMapTable.
Address map entries are applied in the order
specified by natAddrMapIndex."
::= { natAddrMapEntry 1 }
natAddrMapName OBJECT-TYPE
SYNTAX SnmpAdminString (SIZE(1..32))
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Name identifying all map entries in the table associated
with the same interface. All map entries with the same
ifIndex MUST have the same map name."
::= { natAddrMapEntry 2 }
natAddrMapEntryType OBJECT-TYPE
SYNTAX NatAssociationType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This parameter can be used to set up static
or dynamic address maps."
::= { natAddrMapEntry 3 }
natAddrMapTranslationEntity OBJECT-TYPE
SYNTAX NatTranslationEntity
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The end-point entity (source or destination) in
inbound or outbound sessions (i.e., first packets) that
may be translated by an address map entry.
Session direction (inbound or outbound) is
derived from the direction of the first packet
of a session traversing a NAT interface.
NAT address (and Transport-ID) maps may be defined
to effect inbound or outbound sessions.
Traditionally, address maps for Basic NAT and NAPT are
configured on a public interface for outbound sessions,
effecting translation of source end-point. The value of
this object must be set to outboundSrcEndPoint for
those interfaces.
Alternately, if address maps for Basic NAT and NAPT were
to be configured on a private interface, the desired
value for this object for the map entries
would be inboundSrcEndPoint (i.e., effecting translation
of source end-point for inbound sessions).
If TwiceNAT were to be configured on a private interface,
the desired value for this object for the map entries
would be a bitmask of inboundSrcEndPoint and
inboundDstEndPoint."
::= { natAddrMapEntry 4 }
natAddrMapLocalAddrType OBJECT-TYPE
SYNTAX InetAddressType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object specifies the address type used for
natAddrMapLocalAddrFrom and natAddrMapLocalAddrTo."
::= { natAddrMapEntry 5 }
natAddrMapLocalAddrFrom OBJECT-TYPE
SYNTAX InetAddress
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object specifies the first IP address of the range
of IP addresses mapped by this translation entry. The
value of this object must be less than or equal to the
value of the natAddrMapLocalAddrTo object.
The type of this address is determined by the value of
the natAddrMapLocalAddrType object."
::= { natAddrMapEntry 6 }
natAddrMapLocalAddrTo OBJECT-TYPE
SYNTAX InetAddress
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object specifies the last IP address of the range of