2.2.1.2.197 IP_NAT_INTERFACE_INFO
The IP_NAT_INTERFACE_INFO structure is used to configure the NAT on an interface. This structure is used in the following methods:
The configuration information uses the RTR_INFO_BLOCK_HEADER (section 2.2.1.2.3) structure.
-
typedef struct _IP_NAT_INTERFACE_INFO { ULONG Index; ULONG Flags; RTR_INFO_BLOCK_HEADER Header; } IP_NAT_INTERFACE_INFO, *PIP_NAT_INTERFACE_INFO;
Index: This MUST be set to the interface index that identifies the interface to be configured.
Flags: This specifies the logging level. It MUST be a combination of one or more of the following values.
-
Value
Meaning
IP_NAT_INTERFACE_FLAGS_BOUNDARY
0x00000001
Set to mark the interface as a boundary-interface.
IP_NAT_INTERFACE_FLAGS_NAPT
0x00000002
Set to enable address-sharing via port-translation.
IP_NAT_INTERFACE_FLAGS_DISABLE_PPTP
0x00000004
The PPTP is disabled.
IP_NAT_INTERFACE_FLAGS_FW
0x00000010
Set to enable the firewall mode on the interface. This works with all other flags. An interface in the firewall mode is much more strict on what inbound packets it will allow to propagate up the stack; in general, it will only allow packets that are part of a locally initiated connection flow (for example, packets for which a mapping or ticket exists).
IP_NAT_INTERFACE_FLAGS_DIALUP
0x00000040
This is a dial-up interface.
IP_NAT_INTERFACE_FLAGS_ALL
0x0000007F
All of the above.
Header: This MUST be RTR_INFO_BLOCK_HEADER. The InfoType field of the header MUST be one of the following and the offset MUST point to a structure specified in the following table.
-
Value
Meaning
IP_NAT_PORT_MAPPING_TYPE
0xFFFF0003
IP_NAT_PORT_MAPPING (section 2.2.1.2.199).
IP_NAT_ADDRESS_RANGE_TYPE
0xFFFF0002
IP_NAT_ADDRESS_RANGE (section 2.2.1.2.198).
IP_NAT_ADDRESS_MAPPING_TYPE
0xFFFF0004
IP_NAT_ADDRESS_MAPPING (section 2.2.1.2.200).
IP_NAT_ICMP_CONFIG_TYPE
0xFFFF0005
There is no structure for IP_NAT_ICMP_CONFIG; it's just a ULONG. The flags in the following table define the behavior.
-
The values for IP_NAT_ICMP_CONFIG_TYPE are as follows:
-
Value
Meaning
IP_NAT_ICMP_ALLOW_OB_DEST_UNREACH
0x00000008
The data sent over the Internet that fails to reach this computer due to an error will be discarded and acknowledged with a destination unreachable message explaining the failure.
IP_NAT_ICMP_ALLOW_OB_SOURCE_QUENCH
0x00000010
When this computer's ability to process incoming data cannot keep up with the rate of a transmission, data will be dropped and the sender will be asked to slow down.
IP_NAT_ICMP_ALLOW_REDIRECT
0x00000020
The data sent from this computer will be rerouted if the default path changes.
IP_NAT_ICMP_ALLOW_IB_ECHO
0x00000100
The messages sent to this computer will be repeated back to the sender. This is commonly used for troubleshooting, for example, to ping a machine.
IP_NAT_ICMP_ALLOW_IB_ROUTER
0x00000200
This computer will respond to requests for information about the routes it recognizes.
IP_NAT_ICMP_ALLOW_OB_TIME_EXCEEDED
0x00000800
When this computer discards an incomplete data transmission because the entire transmission required more time than allowed, it will reply to the sender with a time-expired message.
IP_NAT_ICMP_ALLOW_OB_PARAM_PROBLEM
0x00001000
When this computer discards data it has received due to a problematic header, it will reply to the sender with a bad-header error message.
IP_NAT_ICMP_ALLOW_IB_TIMESTAMP
0x00002000
The data sent to this computer can be acknowledged with a confirmation message indicating the time that the data was received.
IP_NAT_ICMP_ALLOW_IB_MASK
0x00020000
This computer will listen for and respond to requests for more information about the public network to which it is attached.