Table Of Contents
ipv6 hello-interval eigrp
ipv6 hold-time eigrp
ipv6 hop-limit
ipv6 host
ipv6 icmp error-interval
ipv6 inspect
ipv6 inspect alert-off
ipv6 inspect audit trail
ipv6 inspect max-incomplete high
ipv6 inspect max-incomplete low
ipv6 inspect name
ipv6 inspect one-minute high
ipv6 inspect one-minute low
ipv6 inspect routing-header
ipv6 inspect tcp idle-time
ipv6 inspect tcp max-incomplete host
ipv6 inspect tcp synwait-time
ipv6 inspect udp idle-time
ipv6 local policy route-map
ipv6 local pool
ipv6 mfib
ipv6 mfib-cef
ipv6 mfib cef output
ipv6 mfib fast
ipv6 mfib forwarding
ipv6 mfib hardware-switching
ipv6 mfib-mode centralized-only
ipv6 mld access-group
ipv6 mld explicit-tracking
ipv6 mld join-group
ipv6 mld limit
ipv6 mld query-interval
ipv6 mld query-max-response-time
ipv6 mld query-timeout
ipv6 mld router
ipv6 mld snooping
ipv6 mld snooping explicit-tracking
ipv6 mld snooping last-member-query-interval
ipv6 mld snooping limit
ipv6 mld snooping mrouter
ipv6 mld snooping querier
ipv6 mld snooping report-suppression
ipv6 mld ssm-map enable
ipv6 mld ssm-map query dns
ipv6 mld ssm-map static
ipv6 mld state-limit
ipv6 mld static-group
ipv6 hello-interval eigrp
To configure the hello interval for the Enhanced Interior Gateway Routing Protocol (EIGRP) for IPv6 routing process designated by an autonomous system number, use the ipv6 hello-interval eigrp command in interface configuration mode. To restore the default value, use the no form of this command.
ipv6 hello-interval eigrp as-number seconds
no ipv6 hello-interval eigrp as-number seconds
Syntax Description
as-number
|
Autonomous system number.
|
seconds
|
Hello interval, in seconds. The range is from 1 to 65535.
|
Command Default
For low-speed, nonbroadcast multiaccess (NBMA) networks, the default hello interval is 60 seconds.
For all other networks, the default hello interval is 5 seconds.
Command Modes
Interface configuration
Command History
Release
|
Modification
|
12.4(6)T
|
This command was introduced.
|
12.2(33)SRB
|
This command was integrated into Cisco IOS Release 12.2(33)SRB.
|
12.2(33)SXH
|
This command was integrated into Cisco IOS Release 12.2(33)SXH.
|
Usage Guidelines
The default of 60 seconds applies only to low-speed, NBMA media. Low speed is considered to be a rate of T1 or slower, as specified with the bandwidth interface configuration command. Note that for the purposes of EIGRP for IPv6, Frame Relay and Switched Multimegabit Data Service (SMDS) networks may be considered to be NBMA. These networks are considered NBMA if the interface has not been configured to use physical multicasting; otherwise, they are considered not to be NBMA.
Examples
The following example sets the hello interval for Ethernet interface 0 to 10 seconds on autonomous system 1:
ipv6 hello-interval eigrp 1 10
Related Commands
Command
|
Description
|
bandwidth (interface)
|
Sets a bandwidth value for an interface.
|
ipv6 hold-time eigrp
|
Configures the hold time for a particular EIGRP for IPv6 routing process designated by the autonomous system number.
|
ipv6 hold-time eigrp
To configure the hold time for a particular Enhanced Interior Gateway Routing Protocol (EIGRP) for IPv6 routing process designated by the autonomous system number, use the ipv6 hold-time eigrp command in interface configuration mode. To restore the default value, use the no form of this command.
ipv6 hold-time eigrp as-number seconds
no ipv6 hold-time eigrp as-number seconds
Syntax Description
as-number
|
Autonomous system number.
|
seconds
|
Hello interval, in seconds. The range is from 1 to 65535.
|
Command Default
For low-speed, nonbroadcast multiaccess (NBMA) networks, the default hold-time interval is
180 seconds.
For all other networks, the default hold-time interval is 15 seconds.
Command Modes
Interface configuration
Command History
Release
|
Modification
|
12.4(6)T
|
This command was introduced.
|
12.2(33)SRB
|
This command was integrated into Cisco IOS Release 12.2(33)SRB.
|
12.2(33)SXH
|
This command was integrated into Cisco IOS Release 12.2(33)SXH.
|
Usage Guidelines
On very congested and large networks, the default hold time might not be sufficient time for all routers and access servers to receive hello packets from their neighbors. In this case, you may want to increase the hold time.
Cisco recommends that the hold time be at least three times the hello interval. If a router does not receive a hello packet within the specified hold time, routes through this router are considered unavailable.
Increasing the hold time delays route convergence across the network.
The default of 180 seconds hold time and 60 seconds hello interval apply only to low-speed, NBMA media. Low speed is considered to be a rate of T1 or slower, as specified with the bandwidth command.
Examples
The following example sets the hold time for Ethernet interface 0 to 40 seconds for AS 1:
ipv6 hold-time eigrp 1 40
Related Commands
Command
|
Description
|
bandwidth (interface)
|
Sets a bandwidth value for an interface.
|
ipv6 hello-interval eigrp
|
Configures the hello interval for the EIGRP for IPv6 routing process designated by an autonomous system number.
|
ipv6 hop-limit
To configure the maximum number of hops used in router advertisements and all IPv6 packets that are originated by the router, use the ipv6 hop-limit command in global configuration mode. To return the hop limit to its default value, use the no form of this command.
ipv6 hop-limit value
no ipv6 hop-limit value
Syntax Description
value
|
The maximum number of hops. The acceptable range is from 1 to 255.
|
Command Default
The default is 64 hops.
Command Modes
Global configuration
Command History
Release
|
Modification
|
12.2(2)T
|
This command was introduced.
|
12.0(21)ST
|
This command was integrated into Cisco IOS Release 12.0(21)ST.
|
12.0(22)S
|
This command was integrated into Cisco IOS Release 12.0(22)S.
|
12.2(14)S
|
This command was integrated into Cisco IOS Release 12.2(14)S.
|
12.2(28)SB
|
This command was integrated into Cisco IOS Release 12.2(28)SB.
|
12.2(25)SG
|
This command was integrated into Cisco IOS Release 12.2(25)SG.
|
12.2(33)SRA
|
This command was integrated into Cisco IOS Release 12.2(33)SRA.
|
12.2(33)SXH
|
This command was integrated into Cisco IOS Release 12.2(33)SXH.
|
Examples
The following example configures a maximum number of 15 hops for router advertisements and all IPv6 packets that are originated from the router:
Router(config)# ipv6 hop-limit 15
ipv6 host
To define a static host name-to-address mapping in the host name cache, use the ipv6 host command in global configuration mode. To remove the host name-to-address mapping, use the no form of this command.
ipv6 host name [port] ipv6-address1 [ipv6-address2...ipv6-address4]
no ipv6 host name
Syntax Description
name
|
Name of the IPv6 host. The first character can be either a letter or a number. If you use a number, the operations you can perform are limited.
|
port
|
(Optional) The default Telnet port number for the associated IPv6 addresses.
|
ipv6-address1
|
Associated IPv6 address.
This argument must be in the form documented in RFC 2373 where the address is specified in hexadecimal using 16-bit values between colons.
|
ipv6-address2... ipv6-.address4
|
(Optional) Additional associated IPv6 addresses. You can bind up to four addresses to a host name.
|
Command Default
Static host name-to-address mapping in the host name cache is not defined.
The default Telnet port is 23.
Command Modes
Global configuration
Command History
Release
|
Modification
|
12.2(2)T
|
This command was introduced.
|
12.0(21)ST
|
This command was integrated into Cisco IOS Release 12.0(21)ST.
|
12.0(22)S
|
This command was integrated into Cisco IOS Release 12.0(22)S.
|
12.2(14)S
|
This command was integrated into Cisco IOS Release 12.2(14)S.
|
12.2(28)SB
|
This command was integrated into Cisco IOS Release 12.2(28)SB.
|
12.2(25)SG
|
This command was integrated into Cisco IOS Release 12.2(25)SG.
|
12.2(33)SRA
|
This command was integrated into Cisco IOS Release 12.2(33)SRA.
|
12.2(33)SXH
|
This command was integrated into Cisco IOS Release 12.2(33)SXH.
|
Usage Guidelines
The ipv6 host command is similar to the ip host command, except that it is IPv6-specific.
The first character of the name can be either a letter or a number. If you use a number, the operations you can perform (such as ping) are limited.
Examples
The following example defines two static mappings:
Router(config)# ipv6 host cisco-sj 2001:0DB8:1::12
Router(config)# ipv6 host cisco-hq 2002:C01F:768::1 2001:0DB8:1::12
Related Commands
Command
|
Description
|
show hosts
|
Displays the default domain name, the style of name lookup service, a list of name server hosts, and the cached list of host names and addresses.
|
ipv6 icmp error-interval
To configure the interval and bucket size for IPv6 Internet Control Message Protocol (ICMP) error messages, use the ipv6 icmp error-interval command in global configuration mode. To return the interval to its default setting, use the no form of this command.
ipv6 icmp error-interval milliseconds [bucketsize]
no ipv6 icmp error-interval
Syntax Description
milliseconds
|
The time interval between tokens being placed in the bucket. The acceptable range is from 0 to 2147483647 with a default of 100 milliseconds.
|
bucketsize
|
(Optional) The maximum number of tokens stored in the bucket. The acceptable range is from 1 to 200 with a default of 10 tokens.
|
Command Default
ICMP rate limiting is enabled by default. To disable ICMP rate limiting, set the interval to zero.
The time interval between tokens placed in the bucket is 100 milliseconds.
The maximum number of tokens stored in the bucket is 10.
Command Modes
Global configuration
Command History
Release
|
Modification
|
12.2(2)T
|
This command was introduced.
|
12.2(8)T
|
Support for IPv6 ICMP rate limiting was extended to use token buckets.
|
12.0(21)ST
|
This command, without the extension to use token buckets, was integrated into Cisco IOS Release 12.0(21)ST.
|
12.0(22)S
|
This command, without the extension to use token buckets, was integrated into Cisco IOS Release 12.0(22)S.
|
12.0(23)S
|
This command, with the support for IPv6 ICMP rate limiting extended to use token buckets, was integrated into Cisco IOS Release 12.0(23)S.
|
12.2(14)S
|
This command was integrated into Cisco IOS Release 12.2(14)S.
|
12.2(28)SB
|
This command was integrated into Cisco IOS Release 12.2(28)SB.
|
12.2(25)SG
|
This command was integrated into Cisco IOS Release 12.2(25)SG.
|
12.2(33)SRA
|
This command was integrated into Cisco IOS Release 12.2(33)SRA.
|
12.2(33)SXH
|
This command was integrated into Cisco IOS Release 12.2(33)SXH.
|
Usage Guidelines
Use the ipv6 icmp error-interval command to limit the rate at which IPv6 ICMP error messages are sent. A token bucket algorithm is used with one token representing one IPv6 ICMP error message. Tokens are placed in the virtual bucket at a specified interval until the maximum number of tokens allowed in the bucket is reached.
The milliseconds argument specifies the time interval between tokens arriving in the bucket. The optional bucketsize argument is used to define the maximum number of tokens allowed in the bucket. Tokens are removed from the bucket when IPv6 ICMP error messages are sent, which means that if the bucketsize is set to 20, a rapid succession of 20 IPv6 ICMP error messages can be sent. When the bucket is empty of tokens, IPv6 ICMP error messages are not sent until a new token is placed in the bucket.
Use the show ipv6 traffic command to display IPv6 ICMP rate-limited counters.
Examples
The following example shows an interval of 50 milliseconds and a bucket size of 20 tokens being configured for IPv6 ICMP error messages:
ipv6 icmp error-interval 50 20
Related Commands
Command
|
Description
|
show ipv6 traffic
|
Displays statistics about IPv6 traffic.
|
ipv6 inspect
To apply a set of inspection rules to an interface, use the ipv6 inspect command in interface configuration mode. To remove the set of rules from the interface, use the no form of this command.
ipv6 inspect inspection-name {in | out}
no ipv6 inspect inspection-name {in | out}
Syntax Description
inspection-name
|
Identifies which set of inspection rules to apply.
|
in
|
Applies the inspection rules to inbound traffic.
|
out
|
Applies the inspection rules to outbound traffic.
|
Command Default
If no set of inspection rules is applied to an interface, no traffic will be inspected by Context-Based Access Control (CBAC).
Command Modes
Interface configuration
Command History
Release
|
Modification
|
12.3(7)T
|
This command was introduced.
|
Usage Guidelines
Use this command to apply a set of inspection rules to an interface.
Typically, if the interface connects to the external network, you apply the inspection rules to outbound traffic; alternately, if the interface connects to the internal network, you apply the inspection rules to inbound traffic.
If you apply the rules to outbound traffic, then return inbound packets will be permitted if they belong to a valid connection with existing state information. This connection must be initiated with an outbound packet.
If you apply the rules to inbound traffic, then return outbound packets will be permitted if they belong to a valid connection with existing state information. This connection must be initiated with an inbound packet.
Examples
The following example applies a set of inspection rules named "outboundrules" to an external interface's outbound traffic. This causes inbound IP traffic to be permitted only if the traffic is part of an existing session, and to be denied if the traffic is not part of an existing session.
ipv6 inspect outboundrules out
Related Commands
Command
|
Description
|
ipv6 inspect name
|
Defines a set of inspection rules.
|
ipv6 inspect alert-off
To disable Context-based Access Control (CBAC) alert messages, which are displayed on the console, use the ipv6 inspect alert off command in global configuration mode. To enable Cisco IOS firewall alert messages, use the no form of this command.
ipv6 inspect alert-off
no ipv6 inspect alert-off
Syntax Description
This command has no arguments or keywords.
Command Default
Alert messages are displayed.
Command Modes
Global configuration
Command History
Release
|
Modification
|
12.3(7)T
|
This command was introduced.
|
Examples
The following example turns off CBAC alert messages:
Related Commands
Command
|
Description
|
ipv6 inspect audit trail
|
Turns on CBAC audit trail messages, which will be displayed on the console after each CBAC session close.
|
ipv6 inspect name
|
Applies a set of inspection rules to an interface.
|
ipv6 inspect audit trail
To turn on Context-based Access Control (CBAC) audit trail messages, which will be displayed on the console after each Cisco IOS firewall session closes, use the ipv6 inspect audit trail command in global configuration mode. To turn off Cisco IOS firewall audit trail message, use the no form of this command.
ipv6 inspect audit trail
no ipv6 inspect audit trail
Syntax Description
This command has no arguments or keywords.
Command Default
Audit trail messages are not displayed.
Command Modes
Global configuration
Command History
Release
|
Modification
|
12.3(7)T
|
This command was introduced.
|
Usage Guidelines
Use this command to turn on CBAC audit trail messages.
Examples
The following example turns on CBAC audit trail messages:
Afterward, audit trail messages such as the following are displayed:
%FW-6-SESS_AUDIT_TRAIL: tcp session initiator (192.168.1.13:33192) sent 22 bytes --
responder (192.168.129.11:25) sent 208 bytes
%FW-6-SESS_AUDIT_TRAIL: ftp session initiator 192.168.1.13:33194) sent 336 bytes --
responder (192.168.129.11:21) sent 325 bytes
These messages are examples of audit trail messages. To determine which protocol was inspected, refer to the responder's port number. The port number follows the responder's IP address.
Related Commands
Command
|
Description
|
ipv6 inspect alert-off
|
Disables CBAC alert messages.
|
ipv6 inspect name
|
Applies a set of inspection rules to an interface.
|
ipv6 inspect max-incomplete high
To define the number of existing half-open sessions that will cause the software to start deleting half-open sessions, use the ipv6 inspect max-incomplete high command in global configuration mode. To reset the threshold to the default of 500 half-open sessions, use the no form of this command.
ipv6 inspect max-incomplete high number
no ipv6 inspect max-incomplete high
Syntax Description
number
|
Specifies the rate of new unestablished TCP sessions that will cause the software to start deleting half-open sessions. The default is 500 half-open sessions. The value range is 1 through 4294967295.
|
Command Default
The default is 500 half-open sessions.
Command Modes
Global configuration
Command History
Release
|
Modification
|
12.3(7)T
|
This command was introduced.
|
Usage Guidelines
An unusually high number of half-open sessions (either absolute or measured as the arrival rate) could indicate that a denial-of-service attack is occurring. For TCP, "half-open" means that the session has not reached the established state. For User Datagram Protocol, "half-open" means that the firewall has detected traffic from one direction only.
Context-based Access Control (CBAC) measures both the total number of existing half-open sessions and the rate of session establishment attempts. Both TCP and UDP half-open sessions are counted in the total number and rate measurements. Measurements are made once a minute.
When the number of existing half-open sessions rises above a threshold (the max-incomplete high number), the software will delete half-open sessions as required to accommodate new connection requests. The software will continue to delete half-open requests as necessary, until the number of existing half-open sessions drops below another threshold (the max-incomplete low number).
The global value specified for this threshold applies to all TCP and UDP connections inspected by CBAC.
Examples
The following example causes the software to start deleting half-open sessions when the number of existing half-open sessions rises above 900, and to stop deleting half-open sessions when the number drops below 800:
ipv6 inspect max-incomplete high 900
ipv6 inspect max-incomplete low 800
Related Commands
Command
|
Description
|
ipv6 inspect max-incomplete low
|
Defines the number of existing half-open sessions that will cause the software to stop deleting half-open sessions.
|
ipv6 inspect one-minute high
|
Defines the rate of new unestablished sessions that will cause the software to start deleting half-open sessions.
|
ipv6 inspect one-minute low
|
Defines the rate of new unestablished TCP sessions that will cause the software to stop deleting half-open sessions.
|
ipv6 inspect tcp max-incomplete host
|
Specifies the threshold and blocking time values for TCP host-specific denial-of-service detection and prevention.
|
ipv6 inspect max-incomplete low
To define the number of existing half-open sessions that will cause the software to stop deleting half-open sessions, use the ipv6 inspect max-incomplete low command in global configuration mode. To reset the threshold to the default of 400 half-open sessions, use the no form of this command.
ipv6 inspect max-incomplete low number
no ipv6 inspect max-incomplete low
Syntax Description
number
|
Specifies the number of existing half-open sessions that will cause the software to stop deleting half-open sessions. The default is 400 half-open sessions. Value range is 1 through 4294967295.
|
Command Default
The default is 400 half-open sessions.
Command Modes
Global configuration
Command History
Release
|
Modification
|
12.3(7)T
|
This command was introduced.
|
Usage Guidelines
An unusually high number of half-open sessions (either absolute or measured as the arrival rate) could indicate that a denial-of-service attack is occurring. For TCP, "half-open" means that the session has not reached the established state. For User Datagram Protocol, "half-open" means that the firewall has detected traffic from one direction only.
Context-based Access Control (CBAC) measures both the total number of existing half-open sessions and the rate of session establishment attempts. Both TCP and UDP half-open sessions are counted in the total number and rate measurements. Measurements are made once a minute.
When the number of existing half-open sessions rises above a threshold (the max-incomplete high number), the software will delete half-open sessions as required to accommodate new connection requests. The software will continue to delete half-open requests as necessary, until the number of existing half-open sessions drops below another threshold (the max-incomplete low number).
The global value specified for this threshold applies to all TCP and UDP connections inspected by CBAC.
Examples
The following example causes the software to start deleting half-open sessions when the number of existing half-open sessions rises above 900, and to stop deleting half-open sessions when the number drops below 800:
ipv6 inspect max-incomplete high 900
ipv6 inspect max-incomplete low 800
Related Commands
Command
|
Description
|
ipv6 inspect max-incomplete high
|
Defines the number of existing half-open sessions that will cause the software to start deleting half-open sessions.
|
ipv6 inspect one-minute high
|
Defines the rate of new unestablished sessions that will cause the software to start deleting half-open sessions.
|
ipv6 inspect one-minute low
|
Defines the rate of new unestablished TCP sessions that will cause the software to stop deleting half-open sessions.
|
ipv6 inspect tcp max-incomplete host
|
Specifies the threshold and blocking time values for TCP host-specific denial-of-service detection and prevention.
|
ipv6 inspect name
To define a set of ipv6 inspection rules, use the ipv6 inspect name command in global configuration mode. To remove the inspection rule for a protocol or to remove the entire set of inspection rules, use the no form of this command.
ipv6 inspect name inspection-name protocol [alert {on | off}] [audit-trail {on | off}] [timeout
seconds]
no ipv6 inspect name inspection-name [protocol]
Syntax Description
inspection-name
|
Names the set of inspection rules. If you want to add a protocol to an existing set of rules, use the same inspection name as the existing set of rules.
|
protocol
|
A specified protocol. Possible protocol values are icmp, udp, tcp, and ftp. This value is optional in the no version of this command.
|
alert {on | off}
|
(Optional) For each inspected protocol, the generation of alert messages can be set be on or off. If no option is selected, alerts are generated based on the setting of the ipv6 inspect alert-off command.
|
audit-trail {on | off}
|
(Optional) For each inspected protocol, the audit trail can be set on or off. If no option is selected, audit trail messages are generated based on the setting of the ipv6 inspect audit-trail command.
|
timeout seconds
|
(Optional) Specifies the number of seconds for a different idle timeout to override the global TCP or User Datagram Protocol (UDP) idle timeouts for the specified protocol.
This timeout overrides the global TCP and UPD timeouts but will not override the global Domain Name System (DNS) timeout.
|
timeout seconds (fragmentation)
|
Configures the number of seconds that a packet state structure remains active. When the timeout value expires, the router drops the unassembled packet, freeing that structure for use by another packet. The default timeout value is 1 second.
If this number is set to a value greater than 1 second, it will be automatically adjusted by the Cisco IOS software when the number of free state structures goes below certain thresholds: when the number of free states is less than 32, the timeout will be divided by 2. When the number of free states is less than 16, the timeout will be set to 1 second.
|
Command Default
No set of inspection rules is defined.
Command Modes
Global configuration
Command History
Release
|
Modification
|
12.3(7)T
|
This command was introduced.
|
12.3(11)T
|
FTP protocol support was added.
|
Usage Guidelines
To define a set of inspection rules, enter this command for each protocol that you want the Cisco IOS firewall to inspect, using the same inspection-name. Give each set of inspection rules a unique inspection-name, which should not exceed the 16-character limit. Define either one or two sets of rules per interface—you can define one set to examine both inbound and outbound traffic, or you can define two sets: one for outbound traffic and one for inbound traffic.
To define a single set of inspection rules, configure inspection for all the desired application-layer protocols, and for TCP, UDP, or Internet Control Message Protocol (ICMP) as desired. This combination of TCP, UDP, and application-layer protocols join together to form a single set of inspection rules with a unique name. (There are no application-layer protocols associated with ICMP.)
To remove the inspection rule for a protocol, use the no form of this command with the specified inspection name and protocol. To remove the entire set of named inspection rules, use the no form of this command with the specified inspection name.
In general, when inspection is configured for a protocol, return traffic entering the internal network will be permitted only if the packets are part of a valid, existing session for which state information is being maintained.
TCP and UDP Inspection
You can configure TCP and UDP inspection to permit TCP and UDP packets to enter the internal network through the firewall, even if the application-layer protocol is not configured to be inspected. However, TCP and UDP inspection do not recognize application-specific commands, and therefore might not permit all return packets for an application, particularly if the return packets have a different port number from the previous exiting packet.
Any application-layer protocol that is inspected will take precedence over the TCP or UDP packet inspection. For example, if inspection is configured for FTP, all control channel information will be recorded in the state table, and all FTP traffic will be permitted back through the firewall if the control channel information is valid for the state of the FTP session. The fact that TCP inspection is configured is irrelevant.
With TCP and UDP inspection, packets entering the network must exactly match an existing session: the entering packets must have the same source or destination addresses and source or destination port numbers as the exiting packet (but reversed). Otherwise, the entering packets will be blocked at the interface.
ICMP Inspection
An ICMP inspection session is on the basis of the source address of the inside host that originates the ICMP packet. Dynamic access control lists (ACLs) are created for return ICMP packets of the allowed types (destination unreachable, echo-reply, time-exceeded, and packet too big) for each session. There are no port numbers associated with an ICMP session, and the permitted IP address of the return packet is wild-carded in the ACL. The wild-card address is because the IP address of the return packet cannot be known in advance for time-exceeded and destination-unreachable replies. These replies can come from intermediate devices rather than the intended destination.
FTP Inspection
Cisco IOS Firewall uses layer 7 support for application modules such as FTP.
Cisco IOS IPv6 Firewall uses RFC 2428 to garner IPv6 addresses and corresponding ports. If an address other than an IPv6 address is present, the FTP data channel is not opened.
IPv6-specific port-to-application mapping (PAM) provides FTP inspection. PAM translates TCP or UDP port numbers into specific network services or applications. By mapping port numbers to network services or applications, an administrator can force firewall inspection on custom configurations not defined by well-known ports. PAM delivers with the standard well-known ports defined as defaults.
Table 31 describes the transport-layer and network-layer protocols.
Table 31 Protocol Keywords—Transport-Layer and Network-Layer Protocols
Protocol
|
Keyword
|
ICMP
|
icmp
|
TCP
|
tcp
|
UDP
|
udp
|
FTP
|
ftp
|
Use of the timeout Keyword
If you specify a timeout for any of the transport-layer or application-layer protocols, the timeout will override the global idle timeout for the interface to which the set of inspection rules is applied.
If the protocol is TCP or a TCP application-layer protocol, the timeout will override the global TCP idle timeout. If the protocol is UDP or a UDP application-layer protocol, the timeout will override the global UDP idle timeout.
If you do not specify a timeout for a protocol, the timeout value applied to a new session of that protocol will be taken from the corresponding TCP or UDP global timeout value valid at the time of session creation.
The default ICMP timeout is deliberately short (10 seconds) due to the security hole that is opened by allowing ICMP packets with a wild-carded source address back into the inside network. The timeout will occur 10 seconds after the last outgoing packet from the originating host. For example, if you send a set of 10 ping packets spaced one second apart, the timeout will expire in 20 seconds or 10 seconds after the last outgoing packet. However, the timeout is not extended for return packets. If a return packet is not seen within the timeout window, the hole will be closed and the return packet will not be allowed in. Although the default timeout can be made longer if desired, it is recommended that this value be kept relatively short.
Examples
The following example causes the software to inspect TCP sessions and UDP sessions:
ipv6 inspect name myrules tcp
ipv6 inspect name myrules udp audit-trail on
Related Commands
Command
|
Description
|
ipv6 inspect alert-off
|
Disables CBAC alert messages.
|
ipv6 inspect audit trail
|
Turns on CBAC audit trail messages, which will be displayed on the console after each CBAC session close.
|
ipv6 inspect one-minute high
To define the rate of new unestablished sessions that will cause the software to start deleting half-open sessions, use the ipv6 inspect one-minute high command in global configuration mode. To reset the threshold to the default of 500 half-open sessions, use the no form of this command.
ipv6 inspect one-minute high number
no ipv6 inspect one-minute high
Syntax Description
number
|
Specifies the rate of new unestablished TCP sessions that will cause the software to start deleting half-open sessions. The default is 500 half-open sessions. Value range is 1 through 4294967295
|
Command Default
The default is 500 half-open sessions.
Command Modes
Global configuration
Command History
Release
|
Modification
|
12.3(7)T
|
This command was introduced.
|
Usage Guidelines
An unusually high number of half-open sessions (either absolute or measured as the arrival rate) could indicate that a denial-of-service attack is occurring. For TCP, "half-open" means that the session has not reached the established state. For User Datagram Protocol, "half-open" means that the firewall has detected traffic from one direction only.
Context-based Access Control (CBAC) measures both the total number of existing half-open sessions and the rate of session establishment attempts. Both TCP and UDP half-open sessions are included in the total number and rate measurements. Measurements are made once a minute.
When the rate of new connection attempts rises above a threshold (the one-minute high number), the software will delete half-open sessions as required to accommodate new connection attempts. The software will continue to delete half-open sessions as necessary, until the rate of new connection attempts drops below another threshold (the one-minute low number). The rate thresholds are measured as the number of new session connection attempts detected in the last one-minute sample period. (The rate is calculated as an exponentially-decayed rate.)
The global value specified for this threshold applies to all TCP and UDP connections inspected by CBAC.
Examples
The following example causes the software to start deleting half-open sessions when more than 1000 session establishment attempts have been detected in the last minute, and to stop deleting half-open sessions when fewer than 950 session establishment attempts have been detected in the last minute:
ipv6 inspect one-minute high 1000
ipv6 inspect one-minute low 950
Related Commands
Command
|
Description
|
ipv6 inspect one-minute low
|
Defines the rate of new unestablished TCP sessions that will cause the software to stop deleting half-open sessions.
|
ipv6 inspect max-incomplete high
|
Defines the number of existing half-open sessions that will cause the software to start deleting half-open sessions.
|
ipv6 inspect max-incomplete low
|
Defines the number of existing half-open sessions that will cause the software to stop deleting half-open sessions.
|
ipv6 inspect tcp max-incomplete host
|
Specifies the threshold and blocking time values for TCP host-specific denial-of-service detection and prevention.
|
ipv6 inspect one-minute low
To define the rate of new unestablished TCP sessions that will cause the software to stop deleting half-open sessions, use the ipv6 inspect one-minute low command in global configuration mode. To reset the threshold to the default of 400 half-open sessions, use the no form of this command.
ipv6 inspect one-minute low number
no ipv6 inspect one-minute low
Syntax Description
number
|
Specifies the rate of new unestablished TCP sessions that will cause the software to stop deleting half-open sessions. The default is 400 half-open sessions. Value range is 1 through 4294967295.
|
Command Default
The default is 400 half-open sessions.
Command Modes
Global configuration
Command History
Release
|
Modification
|
12.3(7)T
|
This command was introduced.
|
Usage Guidelines
An unusually high number of half-open sessions (either absolute or measured as the arrival rate) could indicate that a denial-of-service attack is occurring. For TCP, "half-open" means that the session has not reached the established state. For User Datagram Protocol, "half-open" means that the firewall has detected traffic from one direction only.
Context-based Access Control (CBAC) measures both the total number of existing half-open sessions and the rate of session establishment attempts. Both TCP and UDP half-open sessions are included in the total number and rate measurements. Measurements are made once a minute.
When the rate of new connection attempts rises above a threshold (the one-minute high number), the software will delete half-open sessions as required to accommodate new connection attempts. The software will continue to delete half-open sessions as necessary, until the rate of new connection attempts drops below another threshold (the one-minute low number). The rate thresholds are measured as the number of new session connection attempts detected in the last one-minute sample period. (The rate is calculated as an exponentially decayed rate.)
The global value specified for this threshold applies to all TCP and UDP connections inspected by CBAC.
Examples
The following example causes the software to start deleting half-open sessions when more than 1000 session establishment attempts have been detected in the last minute, and to stop deleting half-open sessions when fewer than 950 session establishment attempts have been detected in the last minute:
ipv6 inspect one-minute high 1000
ipv6 inspect one-minute low 950
Related Commands
Command
|
Description
|
ipv6 inspect max-incomplete high
|
Defines the number of existing half-open sessions that will cause the software to start deleting half-open sessions.
|
ipv6 inspect max-incomplete low
|
Defines the number of existing half-open sessions that will cause the software to stop deleting half-open sessions.
|
ipv6 inspect one-minute high
|
Defines the rate of new unestablished sessions that will cause the software to start deleting half-open sessions.
|
ipv6 inspect tcp max-incomplete host
|
Specifies the threshold and blocking time values for TCP host-specific denial-of-service detection and prevention.
|
ipv6 inspect routing-header
To specify whether Context-based Access Control (CBAC) should inspect packets containing an IPv6 routing header, use the ipv6 inspect routing-header command. To drop packets containing an IPv6 routing header, use the no form of this command.
ipv6 inspect routing-header
no ipv6 inspect routing-header
Syntax Description
This command has no arguments or keywords.
Command Default
Packets containing IPv6 routing header are dropped.
Command Modes
Global configuration
Command History
Release
|
Modification
|
12.3(7)T
|
This command was introduced.
|
Usage Guidelines
An IPv6 source uses the routing header to list one or more intermediate nodes to be visited between the source and destination of the packet. The Cisco IOS firewall uses this header to retrieve the destination host address. Cisco IOS firewall will establish the appropriate inspection session based on the retrieved address from the routing header.
The originating node lists all intermediate nodes that the packet must traverse. The source and destination address pair in the IPv6 header identifies the hop between the originating node and the first intermediate node. Once the first intermediate node receives the packet, it looks for a routing header. If the routing header is present, the next intermediate node address is swapped with the destination address in the IPv6 header and the packet is forwarded to the next intermediate node. This sequence continues for each intermediate node listed in the routing until no more entries exist in the routing header. The last entry in the routing header is the final destination address.
Examples
The following example causes the software to inspect TCP sessions and UDP sessions:
ip inspect routing-header
Related Commands
Command
|
Description
|
ipv6 inspect alert-off
|
Disables CBAC alert messages.
|
ipv6 inspect audit trail
|
Turns on CBAC audit trail messages, which will be displayed on the console after each CBAC session close.
|
ipv6 inspect name
|
Applies a set of inspection rules to an interface.
|
ipv6 inspect tcp idle-time
To specify the TCP idle timeout (the length of time a TCP session will still be managed while there is no activity), use the ipv6 inspect tcp idle-time command in global configuration mode. To reset the timeout to the default of 3600 seconds (1 hour), use the no form of this command.
ipv6 inspect tcp idle-time seconds
no ipv6 inspect tcp idle-time
Syntax Description
seconds
|
Specifies the length of time, in seconds, for which a TCP session will still be managed while there is no activity. The default is 3600 seconds (1 hour).
|
Command Default
The default is 3600 seconds (1 hour)
Command Modes
Global configuration
Command History
Release
|
Modification
|
12.3(7)T
|
This command was introduced.
|
Usage Guidelines
When the software detects a valid TCP packet that is the first in a session, and if Context-based Access Control (CBAC) inspection is configured for the packet's protocol, the software establishes state information for the new session.
If the software detects no packets for the session for a time period defined by the TCP idle timeout, the software will not continue to manage state information for the session.
The global value specified for this timeout applies to all TCP sessions inspected by CBAC. This global value can be overridden for specific interfaces when you define a set of inspection rules with the
ipv6 inspect name (global configuration) command.
Note
This command does not affect any of the currently defined inspection rules that have explicitly defined timeouts. Sessions created based on these rules still inherit the explicitly defined timeout value. If you change the TCP idle timeout with this command, the new timeout will apply to any new inspection rules you define or to any existing inspection rules that do not have an explicitly defined timeout. That is, new sessions based on these rules (having no explicitly defined timeout) will inherit the global timeout value.
Examples
The following example sets the global TCP idle timeout to 1800 seconds (30 minutes):
ipv6 inspect tcp idle-time 1800
The following example sets the global TCP idle timeout back to the default of 3600 seconds (one hour):
no ipv6 inspect tcp idle-time
Related Commands
Command
|
Description
|
ipv6 inspect name
|
Defines a set of IPv6 inspection rules.
|
ipv6 inspect tcp max-incomplete host
To specify threshold and blocking time values for TCP host-specific denial-of-service detection and prevention, use the ipv6 inspect tcp max-incomplete host command in global configuration mode. To reset the threshold and blocking time to the default values, use the no form of this command.
ipv6 inspect tcp max-incomplete host number block-time minutes
no ipv6 inspect tcp max-incomplete host
Syntax Description
number
|
Specifies how many half-open TCP sessions with the same host destination address can exist at a time, before the software starts deleting half-open sessions to the host. Use a number from 1 to 250. The default is 50 half-open sessions. Value range is 1 through 4294967295
|
block-time
|
Specifies blocking of connection initiation to a host. Value range is 0 through 35791.
|
minutes
|
Specifies how long the software will continue to delete new connection requests to the host. The default is 0 minutes.
|
Command Default
The default is 50 half-open sessions and 0 minutes.
Command Modes
Global configuration
Command History
Release
|
Modification
|
12.3(7)T
|
This command was introduced.
|
Usage Guidelines
An unusually high number of half-open sessions with the same destination host address could indicate that a denial-of-service attack is being launched against the host. For TCP, "half-open" means that the session has not reached the established state.
Whenever the number of half-open sessions with the same destination host address rises above a threshold (the max-incomplete host number), the software will delete half-open sessions according to one of the following methods:
•
If the block-time minutes timeout is 0 (the default):
The software will delete the oldest existing half-open session for the host for every new connection request to the host. This ensures that the number of half-open sessions to a given host will never exceed the threshold.
•
If the block-time minutes timeout is greater than 0:
The software will delete all existing half-open sessions for the host, and then block all new connection requests to the host. The software will continue to block all new connection requests until the block-time expires.
The software also sends syslog messages whenever the max-incomplete host number is exceeded and when blocking of connection initiations to a host starts or ends.
The global values specified for the threshold and blocking time apply to all TCP connections inspected by Context-based Access Control (CBAC).
Examples
The following example changes the max-incomplete host number to 40 half-open sessions, and changes the block-time timeout to 2 minutes (120 seconds):
ipv6 inspect tcp max-incomplete host 40 block-time 120
The following example resets the defaults (50 half-open sessions and 0 seconds):
no ipv6 inspect tcp max-incomplete host
Related Commands
Command
|
Description
|
ipv6 inspect max-incomplete high
|
Defines the number of existing half-open sessions that will cause the software to start deleting half-open sessions.
|
ipv6 inspect max-incomplete low
|
Defines the number of existing half-open sessions that will cause the software to stop deleting half-open sessions.
|
ipv6 inspect one-minute high
|
Defines the rate of new unestablished sessions that will cause the software to start deleting half-open sessions.
|
ipv6 inspect one-minute low
|
Defines the rate of new unestablished TCP sessions that will cause the software to stop deleting half-open sessions.
|
ipv6 inspect tcp synwait-time
To define how long the software will wait for a TCP session to reach the established state before dropping the session, use the ipv6 inspect tcp synwait-time command in global configuration mode. To reset the timeout to the default of 30 seconds, use the no form of this command.
ipv6 inspect tcp synwait-time seconds
no ipv6 inspect tcp synwait-time
Syntax Description
seconds
|
Specifies how long, in seconds, the software will wait for a TCP session to reach the established state before dropping the session. The default is 30 seconds. Value range is 1 through 2147483
|
Command Default
The default is 30 seconds.
Command Modes
Global configuration
Command History
Release
|
Modification
|
12.3(7)T
|
This command was introduced.
|
Usage Guidelines
Use this command to define how long Cisco IOS software will wait for a TCP session to reach the established state before dropping the session. The session is considered to have reached the established state after the session's first SYN bit is detected.
The global value specified for this timeout applies to all TCP sessions inspected by Context-based Access Control (CBAC).
Examples
The following example changes the "synwait" timeout to 20 seconds:
ipv6 inspect tcp synwait-time 20
The following example changes the "synwait" timeout back to the default (30 seconds):
no ipv6 inspect tcp synwait-time
Related Commands
Command
|
Description
|
ipv6 inspect udp idle-time
|
Specifies the User Datagram Protocol idle timeout (the length of time for which a UDP "session" will still be managed while there is no activity).
|
ipv6 inspect udp idle-time
To specify the User Datagram Protocol idle timeout (the length of time for which a UDP "session" will still be managed while there is no activity), use the ipv6 inspect udp idle-time command in global configuration mode. To reset the timeout to the default of 30 seconds, use the no form of this command.
ipv6 inspect udp idle-time seconds
no ipv6 inspect udp idle-time
Syntax Description
seconds
|
Specifies the length of time a UDP "session" will still be managed while there is no activity. The default is 30 seconds. Value range is 1 through 2147483
|
Command Default
The default is 30 seconds.
Command Modes
Global configuration