bk2_ch3_acl

Upload: do-minh-toan

Post on 03-Jun-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/12/2019 Bk2_Ch3_ACL

    1/30

    Chapter 3

    Using Access Control Lists (ACLs)

    Access control lists (ACLs)enable you to permit or deny packets based on source and destination IP address,

    IP protocol information, or TCP or UDP protocol information. You can configure the following types of ACLs: Standard Permits or denies packets based on source IP address. Valid standard ACL IDs are 1 99 or a

    string.

    Extended Permits or denies packets based on source and destination IP address and also based on IP

    protocol information. Valid extended ACL IDs are a number from 100 199 or a string.

    This chapter also describes Policy-Based Routing (PBR), a feature that allows you to use ACLs and route maps to

    selectively modify and route IP packets based on their source IP address.

    NOTE: This chapter describes IP forwarding ACLs and management access ACLs only. For information about

    ACLs used for BGP4 filtering, see Configuring BGP4 on page 10-1.

    NOTE: For optimal performance, apply deny ACLs to inbound ports instead of outbound ports. This way, traffic

    is dropped as it tries to enter the HP device, instead of being dropped after it has been forwarded internally to the

    outbound port.

    NOTE: Outbound ACLs do not filter broadcast traffic or any traffic (including ICMP replies) generated by the HP

    device itself.

    Overview

    The following section describes ACLs. To configure ACLs, go to the following sections:

    Disabling or Re-Enabling Access Control Lists (ACLs) on page 3-4

    Configuring Standard ACLs on page 3-5

    Configuring Extended ACLs on page 3-9

    Configuring Named ACLs on page 3-18

    Modifying ACLs on page 3-19

    Applying an ACL to a Subset of Ports on a Virtual Interface on page 3-21

    Enabling Strict TCP or UDP Mode on page 3-21

    Displaying ACLs on page 3-23

    3 - 1

    http://hp_bgp4.pdf/http://hp_bgp4.pdf/
  • 8/12/2019 Bk2_Ch3_ACL

    2/30

    Installation and Getting Started Guide

    Displaying the Log Entrieson page 3-23

    Policy-Based Routing (PBR)on page 3-24

    Usage Guidelines for Access Control Lists (ACLs)

    This section provides some guidelines for implementing ACLs to ensure wire-speed ACL performance.

    For optimal ACL performance, use the following guidelines:

    Apply ACLs to inbound traffic rather than outbound traffic.

    Use the default filtering behavior as much as possible. For example, if you are concerned with filtering only a

    few specific addresses, create deny entries for those addresses, then create a single entry to permit all other

    traffic. For tighter control, create explicit permit entries and use the default deny action for all other

    addresses.

    Use deny ACLs sparingly. When a deny ACL is applied to an interface, the software sends all packets sent or

    received on the interface (depending on the traffic direction of the ACL) to the CPU for examination.

    Adjust system resources if needed:

    If IP traffic is going to be high, increase the size of the IP forwarding cache to allow more routes. To do

    so, use the system-max ip-cache command at the global CONFIG level of the CLI.

    If much of the IP traffic you are filtering is UDP traffic, increase the size of the session table to allow more

    ACL sessions. To do so, use the system-max session-limit command at the global CONFIG

    level of the CLI.

    Avoid the following implementations when possible:

    Do not apply ACLs to outbound traffic. The system creates separate inbound ACLs to ensure that an

    outbound ACL is honored for traffic that normally would be forwarded to other ports.

    Do not enable the strict TCP ACL mode unless you need it for tighter security.

    Avoid ICMP-based ACLs where possible. If you are interested in providing protection against ICMP Denial of

    Service (DoS) attacks, use HPs DoS protection features. See Protecting Against Denial of Service Attacks

    on page B-1.

    If the IP traffic in your network is characterized by a high volume of short sessions, this also can affect ACLperformance, since this traffic initially must go to the CPU. All ICMP ACLs go to the CPU, as do all TCP SYN,

    SYN/ACK, FIN, and RST packets and the first UDP packet of a session.

    ACL Support on the HP Products

    HP ACLs have two basic types of uses:

    Filtering forwarded traffic through the device described in this chapter

    Controlling management access to the device itself described in the Securing Accesschapter in the

    Installation and Getting Started Guide

    ACL IDs and Entries

    ACLs consist of ACL IDs and ACL entries:

    ACL ID An ACL ID is a number from 1 99 (for a standard ACL) or 100 199 (for an extended ACL) or a

    character string. The ACL ID identifies a collection of individual ACL entries. When you apply ACL entries to

    an interface, you do so by applying the ACL ID that contains the ACL entries to the interface, instead of

    applying the individual entries to the interface. This makes applying large groups of access filters (ACL

    entries) to interfaces simple.

    NOTE: This is different from IP access policies. If you use IP access policies, you apply the individual

    policies to interfaces.

    3 - 2

    http://hp_dos_protection.pdf/http://hp_dos_protection.pdf/http://hp_dos_protection.pdf/http://hp_dos_protection.pdf/http://hp_dos_protection.pdf/http://hp_dos_protection.pdf/
  • 8/12/2019 Bk2_Ch3_ACL

    3/30

    Using Access Control Lists (ACLs)

    ACL entry An ACL entry is a filter command associated with an ACL ID. The maximum number of ACL

    entries you can configure is a system-wide parameter and depends on the device you are configuring. You

    can configure up to the maximum number of entries in any combination in different ACLs. The total number of

    entries in all ACLs cannot exceed the system maximum.

    NOTE: Up to 1024 entries are supported on routing switches.

    You configure ACLs on a global basis, then apply them to the incoming or outgoing traffic on specific ports. Youcan apply only one ACL to a ports inbound traffic and only one ACL to a ports outbound traffic. The software

    applies the entries within an ACL in the order they appear in the ACLs configuration. As soon as a match is found,

    the software takes the action specified in the ACL entry (permit or deny the packet) and stops further comparison

    for that packet.

    Default ACL Action

    The default action when no ACLs are configured on a device is to permit all traffic. However, once you configure

    an ACL and apply it to a port, the default action for that port is to deny all traffic that is not explicitly permitted on

    the port.

    If you want to tightly control access, configure ACLs consisting of permit entries for the access you want to

    permit. The ACLs implicitly deny all other access.

    If you want to secure access in environments with many users, you might want to configure ACLs that consistof explicit deny entries, then add an entry to permit all access to the end of each ACL. The software permits

    packets that are not denied by the deny entries.

    NOTE: The software generates log entries only when packets are explicitly denied by ACLs. The software does

    not generate log entries for explicitly permitted entries or for entries that are implicitly denied.

    NOTE: Do not apply an empty ACL (an ACL ID without any corresponding entries) to an interface. If you

    accidentally do this, the software applies the default ACL action, deny all, to the interface and thus denies all

    traffic.

    Controlling Management Access to the Device

    You can use standard ACLs to control Telnet, Web, and SNMP access to a device. See the Securing Access

    chapter in the Installation and Getting Started Guide.

    ACL Logging

    ACL logging is disabled by default. However, when you configure an ACL entry, you can enable logging for that

    entry by adding the logparameter to the end of the CLI command for the entry.

    When you enable logging for an ACL entry, statistics for packets that match the deny conditions of the ACL entry

    are logged. For example, if you configure a standard ACL entry to deny all packets from source address

    209.157.22.26, statistics for packets that are explicitly denied by the ACL entry are logged in the HP devices

    Syslog buffer and in SNMP traps sent by the device.

    The first time an ACL entry denies a packet, the software immediately generates a Syslog entry and SNMP trap.

    The software also starts a five-minute timer. The timer keeps track of all packets explicitly denied by the ACL

    entries. After five minutes, the software generates a single Syslog entry for each ACL entry that has denied a

    packet. The message indicates the number of packets denied by the ACL entry during the previous five minutes.

    If no ACL entries explicitly deny packets during an entire five-minute timer interval, the timer stops. The timer

    restarts when an ACL entry explicitly denies a packet.

    NOTE: The timer for logging packets denied by Layer 2 filters is separate.

    The following sections describe how to configure standard and extended ACLs.

    3 - 3

  • 8/12/2019 Bk2_Ch3_ACL

    4/30

    Installation and Getting Started Guide

    NOTE: The following sections describe how to configure ACLs using the HP devices CLI. You also can create

    and modify ACLs using a text editor on a file server, then copy them to the devices running-config file. In fact, this

    method is a convenient way to reorder individual ACL entries within an ACL. See Modifying ACLson page 3-19.

    Disabling or Re-Enabling Access Control Lists (ACLs)

    A routing switch cannot actively use both IP access policies and ACLs for filtering IP traffic. When you boot a

    routing switch with software release 06.6.x or higher, the software checks the device s startup-config file for ip

    access-policy-groupcommands, which associate IP access policies with ports. If the software finds an ip

    access-policy-groupcommand in the file, the software disables all packet-forwarding ACLs (those associated

    with specific ports) and also prevents you from applying an ACL to a port.

    The next time you save the startup-config file, the software adds the following command near the top of the file,

    underneath the ver(software version) statement:

    ip dont-use-acl

    This command disables all packet-forwarding ACLs (those associated with specific ports) and also prevents you

    from associating an ACL with a port. However, the command does not remove existing ACLs from the startup

    config file. In addition, the command does not affect ACLs used for controlling management access to the device.

    Enabling ACL Mode

    If you try to apply an ACL to a port when the ACL mode is disabled (when the ip dont-use-acl command is in

    effect), a message is displayed, as shown in the following CLI example:

    HP9300(config-if-e1000-1/1)# ip access-group 1 out

    Must enable ACL mode first by using no ip dont-use-acl command and removing all ip

    access-policy-group commands from interfaces, write memory and reload

    As the message states, if you want to use ACLs, you must first enable the ACL mode. To do so, use either of the

    following methods.

    USING THE CLI

    To enable the ACL mode, enter the following commands:

    HP9300(config-if-e1000-1/1)# exitHP9300(config)# no ip dont-use-acl

    HP9300(config)# write memory

    HP9300(config)# end

    HP9300# reload

    The write memory command removes the ip dont-use-acl command from the startup-config file. The reload

    command reloads the software. When the software finishes loading, you can apply ACLs to ports.

    The commands that configure the IP access policies and apply them to ports remain in the startup-config file in

    case you want to use them again, but they are disabled. If you later decide you want to use the IP access policies

    again instead of ACLs, you must disable the ACL mode again. See the following section.

    USING THE WEB MANAGEMENT INTERFACE

    1. Log on to the device using a valid user name and password for read-write access. The System configuration

    panel is displayed.

    2. Click on the plus sign next to Configure in the tree view to expand the list of configuration options.

    3. Click on the plus sign next to IP in the tree view to expand the list of IP option links.

    4. Click on the General link to display the IP configuration panel.

    5. Select the Enable radio button next to Access Control List.

    6. Click the Apply button to save the change to the devices running-config file.

    3 - 4

  • 8/12/2019 Bk2_Ch3_ACL

    5/30

    Using Access Control Lists (ACLs)

    7. Select the Save link at the bottom of the dialog. Select Yes when prompted to save the configuration change

    to the startup-config file on the devices flash memory.

    Disabling ACL Mode

    If the ACL mode is enabled, a message is displayed when you try to apply an IP access policy to a port, as shown

    in the following CLI example:

    HP9300(config-if-e1000-1/1)# ip access-policy-group 1 inMust disable ACL mode first by using ip dont-use-acl command, write memory and

    reload

    To use the IP access policies, you first must disable the ACL mode using either of the following methods.

    USING THE CLI

    To disable the ACL mode, enter the following commands:

    HP9300(config-if-e1000-1/1)# exit

    HP9300(config)# ip dont-use-acl

    HP9300(config)# write memory

    HP9300(config)# end

    HP9300# reload

    USING THE WEB MANAGEMENT INTERFACE

    1. Log on to the device using a valid user name and password for read-write access. The System configuration

    panel is displayed.

    2. Click on the plus sign next to Configure in the tree view to expand the list of configuration options.

    3. Click on the plus sign next to IP in the tree view to expand the list of IP option links.

    4. Click on the General link to display the IP configuration panel.

    5. Select the Disable radio button next to Access Control List.

    6. Click the Apply button to save the change to the devices running-config file.

    7. Select the Save link at the bottom of the dialog. Select Yes when prompted to save the configuration change

    to the startup-config file on the devices flash memory.

    Configuring Standard ACLs

    This section describes how to configure standard ACLs with numeric IDs.

    For configuration information on named ACLs, see Configuring Named ACLson page 3-18.

    For configuration information on extended ACLs, see Configuring Extended ACLson page 3-9.

    Standard ACLs permit or deny packets based on source IP address. You can configure up to 99 standard ACLs.

    You can configure up to 1024 individual ACL entries on a device. There is no limit to the number of ACL entries an

    ACL can contain except for the system-wide limitation of 1024 total ACL entries.

    USING THE CLI

    To configure a standard ACL and apply it to outgoing traffic on port 1/1, enter the following commands.

    HP9300(config)# access-list 1 deny host 209.157.22.26 log

    HP9300(config)# access-list 1 deny 209.157.29.12 log

    HP9300(config)# access-list 1 deny host IPHost1 log

    HP9300(config)# access-list 1 permit any

    HP9300(config)# int eth 1/1

    HP9300(config-if-1/1)# ip access-group 1 out

    HP9300(config)# write memory

    3 - 5

  • 8/12/2019 Bk2_Ch3_ACL

    6/30

    Installation and Getting Started Guide

    The commands in this example configure an ACL to deny packets from three source IP addresses from being

    forwarded on port 1/1. The last ACL entry in this ACL permits all packets that are not explicitly denied by the first

    three ACL entries.

    Standard ACL Syntax

    Syntax: [no] access-list deny | permit | [log]

    or

    Syntax: [no] access-list deny | permit / | [log]

    Syntax: [no] access-list deny | permit host | [log]

    Syntax: [no] access-list deny | permit any [log]

    Syntax: [no] ip access-group in | out

    The parameter is the access list number and can be from 1 99.

    The deny | permitparameter indicates whether packets that match a policy in the access list are denied

    (dropped) or permitted (forwarded).

    The parameter specifies the source IP address. Alternatively, you can specify the host name.

    NOTE: To specify the host name instead of the IP address, the host name must be configured using the HP

    devices DNS resolver. To configure the DNS resolver name, use the ip dns server-addresscommand at the

    global CONFIG level of the CLI.

    The parameter specifies the mask value to compare against the host address specified by the

    parameter. The is a four-part value in dotted-decimal notation (IP address format)

    consisting of ones and zeros. Zeros in the mask mean the packets source address must match the .

    Ones mean any value matches. For example, the and values 209.157.22.26 0.0.0.255

    mean that all hosts in the Class C sub-net 209.157.22.x match the policy.

    If you prefer to specify the wildcard (mask value) in CIDR format, you can enter a forward slash after the IP

    address, then enter the number of significant bits in the mask. For example, you can enter the CIDR equivalent of

    209.157.22.26 0.0.0.255as 209.157.22.26/24. The CLI automatically converts the CIDR number into the

    appropriate ACL mask (where zeros instead of ones are the significant bits) and changes the non-significant

    portion of the IP address into ones. For example, if you specify 209.157.22.26/24 or 209.157.22.26 0.0.0.255,then save the changes to the startup-config file, the value appears as 209.157.22.0/24 (if you have enabled

    display of sub-net lengths) or 209.157.22.0 0.0.0.255 in the startup-config file.

    If you enable the software to display IP sub-net masks in CIDR format, the mask is saved in the file in

    /format. To enable the software to display the CIDR masks, enter theip show-subnet-length

    command at the global CONFIG level of the CLI. You can use the CIDR format to configure the ACL entry

    regardless of whether the software is configured to display the masks in CIDR format.

    NOTE: If you use the CIDR format, the ACL entries appear in this format in the running-config and startup-config

    files, but are shown with sub-net mask in the display produced by the

    show access-listand show ip access-listcommands.

    The host | parameter lets you specify a host IP address or name. When you use this

    parameter, you do not need to specify the mask. A mask of all zeros (0.0.0.0) is implied.

    The anyparameter configures the policy to match on all host addresses.

    The logargument configures the device to generate Syslog entries and SNMP traps for packets that are denied

    by the access policy.

    3 - 6

  • 8/12/2019 Bk2_Ch3_ACL

    7/30

    Using Access Control Lists (ACLs)

    NOTE: You can enable logging on ACLs and filters that support logging even when the ACLs and filters are

    already in use. To do so, re-enter the ACL or filter command and add the logparameter to the end of the ACL or

    filter. The software replaces the ACL or filter command with the new one. The new ACL or filter, with logging

    enabled, takes effect immediately.

    The in | outparameter specifies whether the ACL applies to incoming traffic or outgoing traffic on the interface to

    which you apply the ACL. You can apply the ACL to an Ethernet port or virtual interface.

    NOTE: If the ACL is for the inbound traffic direction on a virtual routing interface, you also can specify a subset of

    ports within the VLAN containing that interface when assigning an ACL to the interface. See Configuring Named

    ACLson page 3-18.

    USING THE WEB MANAGEMENT INTERFACE

    To configure a standard ACL:

    1. Log on to the device using a valid user name and password for read-write access. The System configuration

    dialog is displayed.

    2. Click on the plus sign next to Configure in the tree view to display the list of configuration options.

    3. Click on the plus sign next to System or IP to display more configuration options. You can access the ACL

    configuration panels from either location.

    4. Select the Standard ACL link.

    If the device does not already have some standard ACLs, the Standard ACL configuration panel is

    displayed, as shown in the following example.

    Otherwise, if the device already has some standard ACLs, the Standard ACL table is displayed. This

    table lists the configured ACLs. Select the Add Standard ACL link to display the Standard ACL

    configuration panel, as shown in the following example.

    5. Change the ACL number in the Standard ACL Number field or use the ACL number displayed in the field.

    NOTE: You cannot specify a name.

    6. Select the ACL action. You can select Permit or Deny:

    Permit Forwards traffic or allows management access for the specified IP source.

    Deny Drops traffic or denies management access for the specified IP source.

    3 - 7

  • 8/12/2019 Bk2_Ch3_ACL

    8/30

  • 8/12/2019 Bk2_Ch3_ACL

    9/30

    Using Access Control Lists (ACLs)

    Configuring Extended ACLs

    This section describes how to configure extended ACLs.

    For configuration information on named ACLs, see Configuring Named ACLson page 3-18.

    For configuration information on standard ACLs, see Configuring Standard ACLson page 3-5.

    Extended ACLs let you permit or deny packets based on the following information: IP protocol

    Source IP address or host name

    Destination IP address or host name

    Source TCP or UDP port (if the IP protocol is TCP or UDP)

    Destination TCP or UDP port (if the IP protocol is TCP or UDP)

    The IP protocol can be one of the following well-known names or any IP protocol number from

    0 255:

    Internet Control Message Protocol (ICMP)

    Internet Group Management Protocol (IGMP)

    Internet Gateway Routing Protocol (IGRP)

    Internet Protocol (IP)

    Open Shortest Path First (OSPF)

    Transmission Control Protocol (TCP)

    User Datagram Protocol (UDP)

    For TCP and UDP, you also can specify a comparison operator and port name or number. For example, you can

    configure a policy to block web access to a specific website by denying all TCP port 80 (HTTP) packets from a

    specified source IP address to the websites IP address.

    USING THE CLI

    To configure an extended access list that blocks all Telnet traffic received on port 1/1 from IP host 209.157.22.26,

    enter the following commands.

    HP9300(config)# access-list 101 deny tcp host 209.157.22.26 any eq telnet log

    HP9300(config)# access-list 101 permit ip any any

    HP9300(config)# int eth 1/1

    HP9300(config-if-1/1)# ip access-group 101 in

    HP9300(config)# write memory

    Here is another example of commands for configuring an extended ACL and applying it to an interface. These

    examples show many of the syntax choices. Notice that some of the entries are configured to generate log entries

    while other entries are not thus configured.

    HP9300(config)# access-list 102 perm icmp 209.157.22.0/24 209.157.21.0/24

    HP9300(config)# access-list 102 deny igmp host rkwong 209.157.21.0/24 log

    HP9300(config)# access-list 102 deny igrp 209.157.21.0/24 host rkwong log

    HP9300(config)# access-list 102 deny ip host 209.157.21.100 host 209.157.22.1 log

    HP9300(config)# access-list 102 deny ospf any any log

    HP9300(config)# access-list 102 permit ip any any

    The first entry permits ICMP traffic from hosts in the 209.157.22.xnetwork to hosts in the 209.157.21.xnetwork.

    The second entry denies IGMP traffic from the host device named rkwongto the 209.157.21.xnetwork.

    The third entry denies IGRP traffic from the 209.157.21.xnetwork to the host device named rkwong.

    3 - 9

  • 8/12/2019 Bk2_Ch3_ACL

    10/30

    Installation and Getting Started Guide

    The fourth entry denies all IP traffic from host 209.157.21.100to host 209.157.22.1 and generates Syslog entries

    for packets that are denied by this entry.

    The fifth entry denies all OSPF traffic and generates Syslog entries for denied traffic.

    The sixth entry permits all packets that are not explicitly denied by the other entries. Without this entry, the ACL

    would deny all incoming or outgoing IP traffic on the ports to which you assign the ACL.

    The following commands apply ACL 102 to the incoming and outgoing traffic on port 1/2 and to the incoming traffic

    on port 4/3.

    HP9300(config)# int eth 1/2

    HP9300(config-if-1/2)# ip access-group 102 in

    HP9300(config-if-1/2)# ip access-group 102 out

    HP9300(config-if-1/2)# exit

    HP9300(config)# int eth 4/3

    HP9300(config-if-4/3)# ip access-group 102 in

    HP9300(config)# write memory

    Here is another example of an extended ACL.

    HP9300(config)# access-list 103 deny tcp 209.157.21.0/24 209.157.22.0/24

    HP9300(config)# access-list 103 deny tcp 209.157.21.0/24 eq ftp 209.157.22.0/24

    HP9300(config)# access-list 103 deny tcp 209.157.21.0/24 209.157.22.0/24 lt telnet

    neq 5

    HP9300(config)# access-list 103 deny udp any range 5 6 209.157.22.0/24 range 7 8

    HP9300(config)# access-list 103 permit any any

    The first entry in this ACL denies TCP traffic from the 209.157.21.xnetwork to the 209.157.22.x network.

    The second entry denies all FTP traffic from the 209.157.21.xnetwork to the 209.157.22.x network.

    The third entry denies TCP traffic from the 209.157.21.xnetwork to the 209.157.22.xnetwork, if the TCP port

    number of the traffic is less than the well-known TCP port number for Telnet (23), and if the TCP port is not equal

    to 5. Thus, TCP packets whose TCP port numbers are 5 or are greater than 23 are allowed.

    The fourth entry denies UDP packets from any source to the 209.157.22.xnetwork, if the UDP port number from

    the source network is 5 or 6 and the destination UDP port is 7 or 8.

    The fifth entry permits all packets that are not explicitly denied by the other entries. Without this entry, the ACL

    would deny all incoming or outgoing IP traffic on the ports to which you assign the ACL.

    The following commands apply ACL 103 to the incoming and outgoing traffic on ports 2/1 and 2/2.

    HP9300(config)# int eth 2/1

    HP9300(config-if-2/1)# ip access-group 103 in

    HP9300(config-if-2/1)# ip access-group 103 out

    HP9300(config-if-2/1)# exit

    HP9300(config)# int eth 2/2

    HP9300(config-if-2/2)# ip access-group 103 in

    HP9300(config-if-2/2)# ip access-group 103 out

    HP9300(config)# write memory

    Filtering on IP Precedence and TOS Values

    To configure an extended IP ACL that matches based on IP precedence, enter commands such as the following:

    HP9300(config)# access-list 103 deny tcp 209.157.21.0/24 209.157.22.0/24 precedence

    internet

    HP9300(config)# access-list 103 deny tcp 209.157.21.0/24 eq ftp 209.157.22.0/24

    precedence 6

    HP9300(config)# access-list 103 permit any any

    The first entry in this ACL denies TCP traffic from the 209.157.21.xnetwork to the 209.157.22.x network, if the

    traffic has the IP precedence option internet(equivalent to 6).

    3 - 10

  • 8/12/2019 Bk2_Ch3_ACL

    11/30

    Using Access Control Lists (ACLs)

    The second entry denies all FTP traffic from the 209.157.21.xnetwork to the 209.157.22.x network, if the traffic

    has the IP precedence value 6(equivalent to internet).

    The third entry permits all packets that are not explicitly denied by the other entries. Without this entry, the ACL

    would deny all incoming or outgoing IP traffic on the ports to which you assign the ACL.

    To configure an IP ACL that matches based on TOS, enter commands such as the following:

    HP9300(config)# access-list 104 deny tcp 209.157.21.0/24 209.157.22.0/24 tos normal

    HP9300(config)# access-list 104 deny tcp 209.157.21.0/24 eq ftp 209.157.22.0/24 tos

    13

    HP9300(config)# access-list 104 permit any any

    The first entry in this IP ACL denies TCP traffic from the 209.157.21.xnetwork to the 209.157.22.x network, if the

    traffic has the IP TOS option normal(equivalent to 0).

    The second entry denies all FTP traffic from the 209.157.21.xnetwork to the 209.157.22.x network, if the traffic

    has the IP precedence value 13(equivalent to max-throughput, min-delay, and min-monetary-cost).

    The third entry permits all packets that are not explicitly denied by the other entries. Without this entry, the ACL

    would deny all incoming or outgoing IP traffic on the ports to which you assign the ACL.

    Extended ACL Syntax

    Syntax: access-list deny | permit | [] | [ ]

    [precedence | ] [tos | ] [log]

    Syntax: [no] access-list deny | permit host any any [log]

    Syntax: [no] ip access-group in | out

    The parameter indicates the ACL number and be from 100 199 for an extended ACL.

    The deny | permitparameter indicates whether packets that match the policy are dropped or forwarded.

    The parameter indicates the type of IP packet you are filtering. You can specify one of the following:

    icmp

    igmp

    igrp

    ip

    ospf

    tcp

    udp

    The | parameter specifies the source IP host for the policy. If you want the policy to

    match on all source addresses, enter any.

    The parameter specifies the portion of the source IP host address to match against. The is

    a four-part value in dotted-decimal notation (IP address format) consisting of ones and zeros. Zeros in the mask

    mean the packets source address must match the . Ones mean any value matches. For example,

    the and values 209.157.22.26 0.0.0.255 mean that all hosts in the Class C sub-net

    209.157.22.x match the policy.

    If you prefer to specify the wildcard (mask value) in Classless Interdomain Routing (CIDR) format, you can enter a

    forward slash after the IP address, then enter the number of significant bits in the mask. For example, you can

    enter the CIDR equivalent of 209.157.22.26 0.0.0.255as 209.157.22.26/24. The CLI automatically converts

    the CIDR number into the appropriate ACL mask (where zeros instead of ones are the significant bits) and

    changes the non-significant portion of the IP address into zeros. For example, if you specify 209.157.22.26/24 or

    3 - 11

  • 8/12/2019 Bk2_Ch3_ACL

    12/30

    Installation and Getting Started Guide

    209.157.22.26 0.0.0.255, then save the changes to the startup-config file, the value appears as 209.157.22.0/24

    (if you have enabled display of sub-net lengths) or 209.157.22.0 0.0.0.255 in the startup-config file.

    If you enable the software to display IP sub-net masks in CIDR format, the mask is saved in the file in

    /format. To enable the software to display the CIDR masks, enter theip show-subnet-length

    command at the global CONFIG level of the CLI. You can use the CIDR format to configure the ACL entry

    regardless of whether the software is configured to display the masks in CIDR format.

    NOTE: If you use the CIDR format, the ACL entries appear in this format in the running-config and startup-config

    files, but are shown with sub-net mask in the display produced by the show access-listand show ip access-list

    commands.

    The | parameter specifies the destination IP host for the policy. If you want the

    policy to match on all destination addresses, enter any.

    The parameter specifies a comparison operator for the TCP or UDP port number. This parameter

    applies only when you specify tcpor udpas the IP protocol. For example, if you are configuring an entry for

    HTTP, specify tcp eq http. You can enter one of the following operators:

    eq The policy applies to the TCP or UDP port name or number you enter after eq.

    gt The policy applies to TCP or UDP port numbers greater than the port number or the numeric equivalent

    of the port name you enter after gt.

    lt The policy applies to TCP or UDP port numbers that are less than the port number or the numeric

    equivalent of the port name you enter after lt.

    neq The policy applies to all TCP or UDP port numbers except the port number or port name you enter after

    neq.

    range The policy applies to all TCP or UDP port numbers that are between the first TCP or UDP port name

    or number and the second one you enter following the rangeparameter. The range includes the port names

    or numbers you enter. For example, to apply the policy to all ports between and including 23 (Telnet) and 53

    (DNS), enter the following: range 23 53. The first port number in the range must be lower than the last

    number in the range.

    established This operator applies only to TCP packets. If you use this operator, the policy applies to TCP

    packets that have the ACK (Acknowledgment) or RST (Reset) bits set on (set to 1) in the Control Bits field of

    the TCP packet header. Thus, the policy applies only to established TCP sessions, not to new sessions. SeeSection 3.1, Header Format, in RFC 793 for information about this field.

    NOTE: This operator applies only to destination TCP ports, not source TCP ports.

    The parameter specifies the TCP or UDP port number or well-known name. The device

    recognizes the following well-known names. For other ports, you must specify the port number.

    NOTE: The following lists are organized alphabetically. In the CLI, these port names are listed according to

    ascending port number.

    TCP port names recognized by the software:

    bgp

    dns

    ftp

    http

    imap4

    ldap

    nntp

    3 - 12

  • 8/12/2019 Bk2_Ch3_ACL

    13/30

    Using Access Control Lists (ACLs)

    pop2

    pop3

    smtp

    ssl

    telnet

    UDP port names recognized by the software:

    bootps

    bootpc

    dns

    ntp

    radius

    radius-old

    rip

    snmp

    snmp-trap

    tftp

    The in | outparameter specifies whether the ACL applies to incoming traffic or outgoing traffic on the interface to

    which you apply the ACL. You can apply the ACL to an Ethernet port or virtual interface.

    NOTE: If the ACL is for the inbound traffic direction on a virtual routing interface, you also can specify a subset of

    ports within the VLAN containing that interface when assigning an ACL to the interface. See Configuring Named

    ACLson page 3-18.

    The precedence | parameter of the ip access-listcommand specifies the IP precedence. The

    precedence option for of an IP packet is set in a three-bit field following the four-bit header-length field of the

    packets header. You can specify one of the following:

    criticalor 5 The ACL matches packets that have the critical precedence. If you specify the option number

    instead of the name, specify number 5.

    flashor 3 The ACL matches packets that have the flash precedence. If you specify the option number

    instead of the name, specify number 3.

    flash-overrideor 4 The ACL matches packets that have the flash override precedence. If you specify the

    option number instead of the name, specify number 4.

    immediateor 2 The ACL matches packets that have the immediate precedence. If you specify the option

    number instead of the name, specify number 2.

    internetor 6 The ACL matches packets that have the internetwork control precedence. If you specify the

    option number instead of the name, specify number 6.

    networkor 7 The ACL matches packets that have the network control precedence. If you specify the option

    number instead of the name, specify number 7.

    priorityor 1 The ACL matches packets that have the priority precedence. If you specify the option number

    instead of the name, specify number 1.

    routineor 0 The ACL matches packets that have the routine precedence. If you specify the option number

    instead of the name, specify number 0.

    The tos | parameter of the ip access-list command specifies the IP TOS.

    3 - 13

  • 8/12/2019 Bk2_Ch3_ACL

    14/30

    Installation and Getting Started Guide

    You can specify one of the following:

    max-reliabilityor 2 The ACL matches packets that have the maximum reliability TOS. The decimal value

    for this option is 2.

    max-throughputor 4 The ACL matches packets that have the maximum throughput TOS. The decimal

    value for this option is 4.

    min-delayor 8 The ACL matches packets that have the minimum delay TOS. The decimal value for this

    option is 8.

    min-monetary-costor 1 The ACL matches packets that have the minimum monetary cost TOS. The

    decimal value for this option is 1.

    normalor 0 The ACL matches packets that have the normal TOS. The decimal value for this option is 0.

    A number from 0 15 that is the sum of the numeric values of the options you want. The TOS field

    is a four-bit field following the Precedence field in the IP header. You can specify one or more of the following.

    To select more than one option, enter the decimal value that is equivalent to the sum of the numeric values of

    all the TOS options you want to select. For example, to select the max-reliability and min-delay options, enter

    number 10. To select all options, select 15.

    The logparameter enables SNMP traps and Syslog messages for packets denied by the ACL.

    NOTE: You can enable logging on ACLs and filters that support logging even when the ACLs and filters arealready in use. To do so, re-enter the ACL or filter command and add the logparameter to the end of the ACL or

    filter. The software replaces the ACL or filter command with the new one. The new ACL or filter, with logging

    enabled, takes effect immediately.

    USING THE WEB MANAGEMENT INTERFACE

    To configure an extended ACL:

    1. Log on to the device using a valid user name and password for read-write access. The System configuration

    dialog is displayed.

    2. Click on the plus sign next to Configure in the tree view to display the list of configuration options.

    3. Click on the plus sign next to System or IP to display more configuration options. You can access the ACLconfiguration panels from either location.

    4. Select the Extended ACL link.

    If the device does not already have some extended ACLs, the Extended ACL configuration panel is

    displayed, as shown in the following example.

    Otherwise, if the device already has some extended ACLs, the Extended ACL table is displayed. This

    table lists the configured ACLs. Select the Add Extended ACL link to display the Extended ACL

    configuration panel, as shown in the following example.

    3 - 14

  • 8/12/2019 Bk2_Ch3_ACL

    15/30

  • 8/12/2019 Bk2_Ch3_ACL

    16/30

    Installation and Getting Started Guide

    must have network access to a DNS server and the server must have an Address record for the host. In

    addition, the device must be configured with a DNS domain name and the IP address of the DNS server.

    8. Enter the destination IP information. The options and requirements are the same as those for entering the

    source IP information.

    9. Select the IP precedence from the IP Precedence pulldown menu (optional). The precedence option for of an

    IP packet is set in a three-bit field following the four-bit header-length field of the packets header. You can

    select one of the following:

    routine The ACL matches packets that have the routine precedence.

    priority The ACL matches packets that have the priority precedence.

    immediate The ACL matches packets that have the immediate precedence.

    flash The ACL matches packets that have the flash precedence.

    flash-override The ACL matches packets that have the flash override precedence.

    critical The ACL matches packets that have the critical precedence.

    internet The ACL matches packets that have the internetwork control precedence.

    network The ACL matches packets that have the network control precedence.

    none The ACL does not use the IP precedence as part of the comparison when filtering.

    10. Select the Type of Service (TOS) from the TOS menu (optional). You can select one or more of the following:

    normal The ACL matches packets that have the normal TOS.

    min-monetary-cost or The ACL matches packets that have the minimum monetary cost TOS.

    max-reliability The ACL matches packets that have the maximum reliability TOS.

    max-throughput The ACL matches packets that have the maximum throughput TOS.

    min-delay The ACL matches packets that have the minimum delay TOS.

    NOTE: To select more than one TOS option, hold the CTRL key while selecting each option.

    11. If you specified the Deny action, optionally enable logging by selecting the Log checkbox. If you enablelogging for this ACL entry, the software generates Syslog entries for traffic that the ACL denies.

    12. Specify the IP protocol. You can specify the protocol by name or by number.

    To specify the IP protocol by name, select the By Name radio button, then select the protocol from the

    pulldown menu. You can select one of the following: icmp, igmp, igrp, ip, ospf, tcp, udp.

    To specify the IP protocol by number, select the By Number radio button, then enter the decimal number

    of the protocol.

    13. If you specified tcpor udpfor the IP protocol, use the following steps to configure the source and

    destination TCP or UDP options. Otherwise, go to Step 18.

    14. Select the Established checkbox if you selected the TCP protocol and you want the ACL to apply to

    established TCP sessions after you apply the ACL to an interface. Specifically, if you select this option, the

    ACL applies to TCP packets that have the ACK (Acknowledgment) or RST (Reset) bits set on (set to 1) inthe Control Bits field of the TCP packet header. If you do not select this option, the ACL applies only to

    sessions that begin after you apply the ACL to an interface.

    15. Select the comparison operator for the source TCP or UDP port. You can select one of the following:

    Equal The ACL applies to the TCP or UDP port you specify in the next step.

    NotEqual The ACL applies to all TCP or UDP ports exceptthe port you specify in the next step.

    LessThan The ACL applies to TCP or UDP ports whose numbers are less than the number of the port

    you specify in the following step.

    3 - 16

  • 8/12/2019 Bk2_Ch3_ACL

    17/30

    Using Access Control Lists (ACLs)

    GreaterThan The ACL applies to TCP or UDP ports whose numbers are greater than the number of the

    port you specify in the following step.

    NOTE: The comparison operators apply only when you are filtering on individual source and destination

    TCP or UDP ports. If you are filtering on a range of ports, the operators do not apply. Instead, the ACL

    matches on any TCP or UDP port that is equal to a port within the specified range.

    16. Specify the source TCP or UDP port. You can specify a single port or a range of ports.

    To specify a single port, select the radio button next to Single Port. Enter the port number in the Port

    field. Alternatively, you can select a well-known port name. To do so, select the Source Port System

    Defined button to change the port number entry field into a pulldown menu containing well-known port

    names. Select the port from the pulldown menu.

    To specify a port range, select the radio button next to Port Range. Enter the low port number in the

    range in the Low Port field and the high port number in the HighPort field. Alternatively, select the Source

    Range System Defined button to change the entry fields into pulldown menus containing well-known

    names. Even if you specify the ports by name, you still must select the lower-numbered port first, then

    select the higher-numbered port.

    17. Specify the destination TCP or UDP port. You can specify a single port or a range of ports. The procedures

    and requirements are the same as those for selecting the source TCP or UDP port. See the previous step.

    18. Select the IP Access Group link from the tree view.

    If the device does not already have some ACLs applied to interfaces, the IP Access Group configuration

    panel is displayed, as shown in the following example.

    Otherwise, if the device already has some ACLs applied to interfaces, the IP Access Group table is

    displayed. Select the Add link to display the IP Access Group configuration panel, as shown in the

    following example.

    19. Select the Slot (if you are configuring a Chassis device) and port from the Slot and Port pulldown menus.

    20. Specify the traffic direction to which the ACL applies. You can select one or both of the following:

    In Bound The ACL applies to traffic received on the port from other devices.

    Out Bound The ACL applies to traffic this HP device queues for transmission on the port.

    21. Enter the ACL number in the ACL Number field.

    NOTE: You cannot specify a named ACL.

    22. Click the Add button to save the ACL and the association of the ACL with an interface to the devices running

    config file.

    23. Select the Save link at the bottom of the dialog. Select Yes when prompted to save the configuration change

    to the startup-config file on the devices flash memory.

    3 - 17

  • 8/12/2019 Bk2_Ch3_ACL

    18/30

    Installation and Getting Started Guide

    NOTE: You also can access the dialog for saving configuration changes by clicking on Command in the tree

    view, then clicking on Save to Flash.

    Configuring Named ACLs

    When you configure an IP ACL, you can refer to the ACL by a numeric ID or by a name.

    If you refer to the ACL by a numeric ID, you can use 1 99 for a standard ACL or 100 199 for an extended

    ACL.

    If you refer to the ACL by a name, you specify whether the ACL is a standard ACL or an extended ACL, then

    specify the name.

    You can configure up to 100 named standard IP ACLs and 100 named extended IP ACLs. You also can configure

    up to 100 standard ACLs and 100 extended ACLs by number. Regardless of how many ACLs you have, the

    device can have a maximum of 1024 ACL entries, associated with the ACLs in any combination. (On HP 9304M

    or HP 9308M Chassis devices with Management II modules, the maximum is 2048.)

    To configure a named IP ACL, use the following CLI method.

    USING THE CLI

    The commands for configuring named ACL entries are different from the commands for configuring numberedACL entries. The command to configure a numbered ACL is access-list. The command for configuring a named

    ACL is ip access-list. In addition, when you configure a numbered ACL entry, you specify all the command

    parameters on the same command. When you configure a named ACL, you specify the ACL type (standard or

    extended) and the ACL number with one command, which places you in the configuration level for that ACL. Once

    you enter the configuration level for the ACL, the command syntax is the same as the syntax for numbered ACLs.

    The following examples show how to configure a named standard ACL entry and a named extended ACL entry.

    Configuration Example for Standard ACL

    To configure a named standard ACL entry, enter commands such as the following.

    HP9300(config)# ip access-list standard Net1

    HP9300(config-std-nac1)# deny host 209.157.22.26 log

    HP9300(config-std-nac1)# deny 209.157.29.12 log

    HP9300(config-std-nac1)# deny host IPHost1 log

    HP9300(config-std-nac1)# permit any

    HP9300(config-std-nac1)# exit

    HP9300(config)# int eth 1/1

    HP9300(config-if-1/1)# ip access-group Net1 out

    The commands in this example configure a standard ACL named Net1. The entries in this ACL deny packets

    from three source IP addresses from being forwarded on port 1/1. Since the implicit action for an ACL is deny,

    the last ACL entry in this ACL permits all packets that are not explicitly denied by the first three ACL entries. For

    an example of how to configure the same entries in a numbered ACL, see Configuring Standard ACLson

    page 3-5.

    Notice that the command prompt changes after you enter the ACL type and name. The stdin the command

    prompt indicates that you are configuring entries for a standard ACL. For an extended ACL, this part of the

    command prompt is ext. The nacl indicates that are configuring a named ACL.

    Syntax: ip access-list extended | standard |

    The extended | standardparameter indicates the ACL type.

    The parameter is the ACL name. You can specify a string of up to 256 alphanumeric characters. You can

    use blanks in the ACL name if you enclose the name in quotation marks (for example, ACL for Net1). The

    parameter allows you to specify an ACL number if you prefer. If you specify a number, you can specify

    from 1 99 for standard ACLs or 100 199 for extended ACLs.

    3 - 18

  • 8/12/2019 Bk2_Ch3_ACL

    19/30

    Using Access Control Lists (ACLs)

    NOTE: For convenience, the software allows you to configure numbered ACLs using the syntax for named ACLs.

    The software also still supports the older syntax for numbered ACLs. Although the software allows both methods

    for configuring numbered ACLs, numbered ACLs are always formatted in the startup-config and running-config

    files in using the older syntax, as follows.

    access-list 1 deny host 209.157.22.26 log

    access-list 1 deny 209.157.22.0 0.0.0.255 logaccess-list 1 permit any

    access-list 101 deny tcp any any eq http log

    The options at the ACL configuration level and the syntax for the ip access-group command are the same for

    numbered and named ACLs and are described in Configuring Standard ACLson page 3-5.

    Configuration Example for Extended ACL

    To configure a named extended ACL entry, enter commands such as the following.

    HP9300(config)# ip access-list extended block Telnet

    HP9300(config-ext-nac1)# deny tcp host 209.157.22.26 any eq telnet log

    HP9300(config-ext-nac1)# permit ip any any

    HP9300(config-ext-nac1)# exit

    HP9300(config)# int eth 1/1

    HP9300(config-if-1/1)# ip access-group block Telnet in

    The options at the ACL configuration level and the syntax for the ip access-group command are the same for

    numbered and named ACLs and are described in Configuring Extended ACLson page 3-9.

    USING THE WEB MANAGEMENT INTERFACE

    You cannot configure IP ACLs using the Web management interface.

    Modifying ACLs

    NOTE: This section applies to standard ACLs and to extended ACLs.

    When you use the HP devices CLI or Web management interface to configure an ACL, the software places theACL entries in the ACL in the order you enter them. For example, if you enter the following entries in the order

    shown below, the software always applies the entries to traffic in the same order.

    HP9300(config)# access-list 1 deny 209.157.22.0/24

    HP9300(config)# access-list 1 permit 209.157.22.26

    Thus, if a packet matches the first ACL entry in this ACL and is therefore denied, the software does not compare

    the packet to the remaining ACL entries. In this example, packets from host 209.157.22.26 will always be

    dropped, even though packets from this host match the second entry.

    You can use the CLI to reorder entries within an ACL by individually removing the ACL entries and then re-adding

    them. To use this method, enter nofollowed by the command for an ACL entry, and repeat this for each ACL

    entry in the ACL you want to edit. After removing all the ACL entries from the ACL, re-add them.

    This method works well for small ACLs such as the example above, but can be impractical for ACLs containingmany entries. Therefore, HP devices provide an alternative method. The alternative method lets you upload an

    ACL list from a TFTP server and replace the ACLs in the devices running-config file with the uploaded list. Thus,

    to change an ACL, you can edit the ACL on the file server, then upload the edited ACL to the device. You then can

    save the changed ACL to the devices startup-config file.

    ACL lists contain only the ACL entries themselves, not the assignments of ACLs to interfaces. You must assign

    the ACLs on the device itself.

    3 - 19

  • 8/12/2019 Bk2_Ch3_ACL

    20/30

    Installation and Getting Started Guide

    NOTE: The only valid commands that are valid in the ACL list are the access-listand endcommands. The HP

    device ignores other commands in the file.

    To modify an ACL by configuring an ACL list on a file server:

    1. Use a text editor to create a new text file. When you name the file, use 8.3 format (up to eight characters in

    the name and up to three characters in the extension).

    NOTE: Make sure the HP device has network access to the TFTP server.

    2. Optionally, clear the ACL entries from the ACLs you are changing by placing commands such as the following

    at the top of the file:

    no access-list 1

    no access-list 101

    When you load the ACL list into the device, the software adds the ACL entries in the file after any entries that

    already exist in the same ACLs. Thus, if you intend to entirely replace an ACL, you must use the

    no access-list command to clear the entries from the ACL before the new ones are added.

    3. Place the commands to create the ACL entries into the file. The order of the separate ACLs does not matter,

    but the order of the entries within each ACL is important. The software applies the entries in an ACL in the

    order they are listed within the ACL. Here is an example of some ACL entries:

    access-list 1 deny host 209.157.22.26 log

    access-list 1 deny 209.157.22.0 0.0.0.255 log

    access-list 1 permit any

    access-list 101 deny tcp any any eq http log

    The software will apply the entries in ACL 1 in the order shown and stop at the first match. Thus, if a packet is

    denied by one of the first three entries, the packet will not be permitted by the fourth entry, even if the packet

    matches the comparison values in this entry.

    4. Enter the command endon a separate line at the end of the file. This command indicates to the software

    that the entire ACL list has been read from the file.

    5. Save the text file.

    6. On the HP device, enter the following command at the Privileged EXEC level of the CLI:

    copy tftp running-config

    NOTE: This command will be unsuccessful if you place any commands other than access-listand end(at

    the end only) in the file. These are the only commands that are valid in a file you load using the copy tftp

    running-configcommand.

    7. To save the changes to the devices startup-config file, enter the following command at the Privileged EXEC

    level of the CLI:

    write memory

    Here is a complete example of an ACL configuration file.

    no access-list 1

    no access-list 101

    access-list 1 deny host 209.157.22.26 log

    access-list 1 deny 209.157.22.0 0.0.0.255 log

    access-list 1 permit any

    access-list 101 deny tcp any any eq http log

    end

    3 - 20

  • 8/12/2019 Bk2_Ch3_ACL

    21/30

    Using Access Control Lists (ACLs)

    NOTE: Do not place other commands in the file. The HP device reads only the ACL information in the file and

    ignores other commands, including ip access-groupcommands. To assign ACLs to interfaces, use the CLI.

    Applying an ACL to a Subset of Ports on a Virtual Interface

    You can apply an ACL to a virtual routing interface. The virtual interface is used for routing between VLANs andcontains all the ports within the VLAN. If the ACL is for the inbound traffic direction, you also can specify a subset

    of ports within the VLAN containing a specified virtual interface when assigning an ACL to that virtual interface.

    Use this feature when you do not want the ACLs to apply to all the ports in the virtual interfaces VLAN or when

    you want to streamline ACL performance for the VLAN.

    NOTE: This feature applies only to a virtual interfaces inbound direction. You cannot use this feature to specify

    a subset of ports for a virtual interfaces outbound direction.

    To apply an ACL to a subset of ports within a virtual interface, enter commands such as the following:

    HP9300(config)# vlan 10 name IP-subnet-vlan

    HP9300(config-vlan-10)# untag ethernet 1/1 to 2/12

    HP9300(config-vlan-10)# router-interface ve 1

    HP9300(config-vlan-10)# exit

    HP9300(config)# access-list 1 deny host 209.157.22.26 log

    HP9300(config)# access-list 1 deny 209.157.29.12 log

    HP9300(config)# access-list 1 deny host IPHost1 log

    HP9300(config)# access-list 1 permit any

    HP9300(config)# interface ve 1

    HP9300(config-vif-1)# ip access-group 1 in ethernet 1/1 ethernet 1/3 ethernet 2/1 to

    2/4

    The commands in this example configure port-based VLAN 10, add ports 1/1 2/12 to the VLAN, and add virtual

    routing interface 1 to the VLAN. The commands following the VLAN configuration commands configure ACL 1.

    Finally, the last two commands apply ACL 1 to a subset of the ports associated with virtual interface 1.

    Syntax: [no] ip access-group in ethernet [...] to

    Enabling Strict TCP or UDP Mode

    By default, when you use ACLs to filter TCP or UDP traffic, the HP device does not compare all TCP or UDP

    packets against the ACLs.

    TCP By default, the device compares TCP control packets against the ACLs, but not data packets. Control

    packets include packet types such as SYN (Synchronization) packets, FIN (Finish) packets, and RST (Reset)

    packets

    UDP By default, the device compares the source and destination information against entries in the session

    table. The session table contains forwarding entries based on Layer 3 and Layer 4 information.

    If the session table contains a matching entry, the device forwards the packet, assuming that the first

    packet the device received that contains the same address information was permitted by the ACLs.

    If the session table does not contain a matching entry, the device sends the packet to the CPU, wherethe software compares the packet against the ACLs. If the ACLs permit the packet (explicitly by a permit

    ACL entry or implicitly by the absence of a deny ACL entry), the CPU creates a session table entry for

    the packets forwarding information and forwards the packet.

    For tighter access or forwarding control, you can enable the device to perform strict TCP or UDP ACL processing.

    Strict ACL processing causes every TCP or UDP packet to go to the CPU for examination. The following sections

    describe the strict modes in more detail.

    3 - 21

  • 8/12/2019 Bk2_Ch3_ACL

    22/30

    Installation and Getting Started Guide

    Enabling Strict TCP Mode

    By default, when you use ACLs to filter TCP traffic, the HP device does not compare all TCP packets against the

    ACLs. Instead, the device compares TCP control packets against the ACLs, but not data packets. Control

    packets include packet types such as SYN (Synchronization) packets, FIN (Finish) packets, and RST (Reset)

    packets.

    In normal TCP operation, TCP data packets are present only if a TCP control session for the packets also is

    established. For example, data packets for a session never occur if the TCP SYN for that session is dropped.Therefore, by filtering the control packets, the HP device also implicitly filters the data packets associated with the

    control packets. This mode of filtering optimizes forwarding performance for TCP traffic by forwarding data

    packets without examining them. Since the data packets are present in normal TCP traffic only if a corresponding

    TCP control session is established, comparing the packets for the control session to the ACLs is sufficient for

    filtering the entire session including the data.

    However, it is possible to generate TCP data packets without corresponding control packets, in test or research

    situations for example. In this case, the default ACL mode does not filter the data packets, since there is no

    corresponding control session to filter. To filter this type of TCP traffic, use the strict ACL TCP mode. This mode

    compares all TCP packets to the configured ACLs, regardless of whether the packets are control packets or data

    packets.

    Regardless of whether the strict mode is enabled or disabled, the device always compares TCP control packets

    against the configured ACLs.

    To enable the strict ACL TCP mode, use the following CLI method.

    NOTE: If the devices configuration currently has ACLs associated with interfaces, remove the ACLs from the

    interfaces before changing the ACL mode.

    To enable the strict ACL TCP mode, enter the following command at the global CONFIG level of the CLI:

    HP9300(config)# ip strict-acl-tcp

    Syntax: [no] ip strict-acl-tcp

    This command configures the device to compare all TCP packets against the configured ACLs before forwarding

    them.

    To disable the strict ACL mode and return to the default ACL behavior, enter the following command:

    HP9300(config)# no ip strict-acl-tcp

    Enabling Strict UDP Mode

    By default, when you use ACLs to filter UDP traffic, the HP device does not compare all UDP packets against the

    ACLs. Instead, the device does the following:

    Compares the source and destination information against entries in the session table. The session table

    contains forwarding entries based on Layer 3 and Layer 4 information.

    If the session table contains a matching entry, the device forwards the packet, assuming that the first

    packet the device received that contains the same address information was permitted by the ACLs.

    If the session table does not contain a matching entry, the device sends the packet to the CPU, where

    the software compares the packet against the ACLs. If the ACLs permit the packet (explicitly by a permit

    ACL entry or implicitly by the absence of a deny ACL entry), the CPU creates a session table entry forthe packets forwarding information and forwards the packet.

    For tighter control, the software provides the strict ACL UDP mode. When you enable strict UDP processing, the

    device sends every UDP packet to the CPU and compares the packet against the configured ACLs.

    To enable the strict ACL UDP mode, use the following CLI method.

    3 - 22

  • 8/12/2019 Bk2_Ch3_ACL

    23/30

    Using Access Control Lists (ACLs)

    NOTE: If the devices configuration currently has ACLs associated with interfaces, remove the ACLs from the

    interfaces before changing the ACL mode.

    To enable the strict ACL UDP mode, enter the following command at the global CONFIG level of the CLI:

    HP9300(config)# ip strict-acl-udp

    Syntax: [no] ip strict-acl-udpThis command configures the device to compare all UDP packets against the configured ACLs before forwarding

    them.

    To disable the strict ACL mode and return to the default ACL behavior, enter the following command:

    HP9300(config)# no ip strict-acl-udp

    Displaying ACLs

    To display the ACLs configured on a device, use the following method.

    USING THE CLI

    To display detailed information for the ACLs and their entries, enter the following command at any level of the CLI.

    HP9300(config)# show access-list

    Access-list = 101

    TCP applicable filters

    Port 80

    deny M:209.157.22.26:255.255.255.255

    M:209.157.22.26:255.255.255.255, tcp eq 80 log

    Any other port applicable filters

    UDP applicable filters

    Any other port applicable filters

    ICMP applicable filters

    Other protocol applicable filters

    Syntax: show access-list []

    To display the syntax for the entries in the ACLs, enter the show ip access-listscommand. Here is an example:

    HP9300(config)# show access-list

    Extended IP access list 101

    deny tcp host 209.157.22.26 host 209.157.22.26 eq http log

    Syntax: show ip access-lists []

    Displaying the Log Entries

    The first time an entry in an ACL denies a packet and logging is enabled for that entry, the software generates a

    Syslog message and an SNMP trap. Messages for packets denied by ACLs are at the warning level of the Syslog.

    When the first Syslog entry for a packet denied by an ACL is generated, the software starts a five-minute ACL

    timer. After this, the software sends Syslog messages every five minutes. The messages list the number of

    packets denied by each ACL during the previous five-minute interval. If an ACL entry does not deny any packets

    during the five-minute interval, the software does not generate a Syslog entry for that ACL entry.

    NOTE: For an ACL entry to be eligible to generate a Syslog entry for denied packets, logging must be enabled

    for the entry. The Syslog contains entries only for the ACL entries that deny packets and have logging enabled.

    3 - 23

  • 8/12/2019 Bk2_Ch3_ACL

    24/30

    Installation and Getting Started Guide

    To display Syslog entries, use one of the following methods.

    USING THE CLI

    Enter the following command from any CLI prompt:

    HP9300(config)# show log

    Syslog logging: enabled (0 messages dropped, 0 flushes, 0 overruns)

    Buffer logging: level ACDMEINW, 38 messages loggedlevel code: A=alert C=critical D=debugging M=emergency E=error

    I=informational N=notification W=warning

    Log Buffer (50 entries):

    21d07h02m40s:warning:list 101 denied tcp 209.157.22.191(0)(Ethernet 4/18

    0010.5a1f.77ed) -> 198.99.4.69(http), 2 packets

    00d07h03m30s:warning:list 101 denied tcp 209.157.22.26(0)(Ethernet 4/18

    0010.5a1f.77ed) -> 198.99.4.69(http), 2 packets

    00d06h58m30s:warning:list 101 denied tcp 209.157.22.198(0)(Ethernet 4/18

    0010.5a1f.77ed) -> 198.99.4.69(http), 1 packets

    In this example, the two-line message at the bottom is the first entry, which the software immediately generatesthe first time an ACL entry permits or denies a packet. In this case, an entry in ACL 101 denied a packet. The

    packet was a TCP packet from host 209.157.22.198 and was destined for TCP port 80 (HTTP) on host

    198.99.4.69.

    When the software places the first entry in the log, the software also starts the five-minute timer for subsequent log

    entries. Thus, five minutes after the first log entry, the software generates another log entry and SNMP trap for

    denied packets.

    In this example, the software generates the second log entry five minutes later. The second entry indicates that

    the same ACL denied two packets.

    The time stamp for the third entry is much later than the time stamps for the first two entries. In this case, no ACLs

    denied packets for a very long time. In fact, since no ACLs denied packets during the five-minute interval following

    the second entry, the software stopped the ACL log timer. The software generated the third entry as soon as the

    ACL denied a packet. The software restarted the five-minute ACL log timer at the same time. As long as at least

    one ACL entry permits or denies a packet, the timer continues to generate new log entries and SNMP traps every

    five minutes.

    USING THE WEB MANAGEMENT INTERFACE

    1. Select the Show link to display the Show Statistics panel.

    2. Select the System Log link.

    Policy-Based Routing (PBR)

    Policy-Based Routing (PBR) allows you to use ACLs and route maps to selectively modify and route IP packets

    based on their source IP address.

    NOTE: PBR is supported only on chassis routing switches.

    NOTE: Source routing occurs in the CPU, not in the ASICs.

    You can configure the routing switch to perform the following types of PBR based on a packets Layer 3 and Layer

    4 information:

    Select the next-hop gateway. (See Configuration Exampleson page 3-27 for a complete configuration

    example.)

    3 - 24

  • 8/12/2019 Bk2_Ch3_ACL

    25/30

    Using Access Control Lists (ACLs)

    Specify the default next-hop IP address if there is no explicit next-hop selection for the packet.

    Send the packet to the null interface (null0).

    HPs PBR routing is based on standard and extended ACLs and route-maps. The ACLs classify the traffic. Route

    maps that match on the ACLs set routing attributes for the traffic. HP's implementation of PBR uses high

    performance switching algorithms including route caches and route tables.

    Configuring PBRTo configure PBR:

    Configure ACLs that contain the source IP addresses for the IP traffic to which you want to apply PBR.

    Configure a route map that matches on the ACLs and sets route information.

    Apply the route map globally or to individual interfaces.

    NOTE: All the procedures in the following sections are for the CLI.

    Configure the ACLs

    PBR uses route maps to change the routing attributes in IP traffic. This section shows an example of how to

    configure a standard ACL to identify the source sub-net for IP traffic.

    To configure a standard ACL to identify a source sub-net, enter a command such as the following:

    HP9300(config)# access-list 1 permit 209.157.23.0 0.0.0.255

    The command in this example configures a standard ACL that permits traffic from sub-net 209.157.23.0/24. After

    you configure a route map that matches based on this ACL, the software uses the route map to set route attributes

    for the traffic, thus enforcing PBR.

    NOTE: Do not use an access group to apply the ACL to an interface. Instead, use a route map to apply the ACL

    globally or to individual interfaces for PBR, as shown in the following sections.

    Syntax: [no] access-list deny | permit | [log]

    or

    Syntax: [no] access-list deny | permit / | [log]

    Syntax: [no] access-list deny | permit host | [log]

    Syntax: [no] access-list deny | permit any [log]

    The parameter is the access list number and can be from 1 99.

    The deny | permitparameter indicates whether packets that match a policy in the access list are denied

    (dropped) or permitted (forwarded).

    NOTE: If you are configuring the ACL for use in a route map, always specify permit. Otherwise, the routing

    switch drops the traffic instead of further processing the traffic using the route map.

    The parameter specifies the source IP address. Alternatively, you can specify the host name.

    NOTE: To specify the host name instead of the IP address, the host name must be configured using the HP

    devices DNS resolver. To configure the DNS resolver name, use the ip dns server-addresscommand at the

    global CONFIG level of the CLI.

    The parameter specifies the mask value to compare against the host address specified by the

    parameter. The is a four-part value in dotted-decimal notation (IP address format)

    consisting of ones and zeros. Zeros in the mask mean the packets source address must match the .

    Ones mean any value matches. For example, the and values 209.157.22.26 0.0.0.255

    mean that all hosts in the Class C sub-net 209.157.22.x match the policy.

    3 - 25

  • 8/12/2019 Bk2_Ch3_ACL

    26/30

    Installation and Getting Started Guide

    If you prefer to specify the wildcard (mask value) in CIDR format, you can enter a forward slash after the IP

    address, then enter the number of significant bits in the mask. For example, you can enter the CIDR equivalent of

    209.157.22.26 0.0.0.255as 209.157.22.26/24. The CLI automatically converts the CIDR number into the

    appropriate ACL mask (where zeros instead of ones are the significant bits) and changes the non-significant

    portion of the IP address into zeros. For example, if you specify 209.157.22.26/24 or 209.157.22.26 0.0.0.255,

    then save the changes to the startup-config file, the value appears as 209.157.22.0/24 (if you have enabled

    display of sub-net lengths) or 209.157.22.0 0.0.0.255 in the startup-config file.

    If you enable the software to display IP sub-net masks in CIDR format, the mask is saved in the file in

    /format. To enable the software to display the CIDR masks, enter theip show-subnet-length

    command at the global CONFIG level of the CLI. You can use the CIDR format to configure the ACL entry

    regardless of whether the software is configured to display the masks in CIDR format.

    NOTE: If you use the CIDR format, the ACL entries appear in this format in the running-config and startup-config

    files, but are shown with sub-net mask in the display produced by the show access-listand show ip access-list

    commands.

    The host | parameter lets you specify a host IP address or name. When you use this

    parameter, you do not need to specify the mask. A mask of all zeros (0.0.0.0) is implied.

    The anyparameter configures the policy to match on all host addresses.

    The logargument configures the device to generate Syslog entries and SNMP traps for packets that are permittedor denied by the access policy.

    NOTE: You can enable logging on ACLs and filters that support logging even when the ACLs and filters are

    already in use. To do so, re-enter the ACL or filter command and add the logparameter to the end of the ACL or

    filter. The software replaces the ACL or filter command with the new one. The new ACL or filter, with logging

    enabled, takes effect immediately.

    Configure the Route Map

    After you configure the ACLs, you can configure a PBR route map that matches based on the ACLs and sets

    routing information in the IP traffic.

    For example, to configure a PBR route map named test-route, you would enter the following commands:

    HP9300(config)# route-map test-route permit 1HP9300(config-routemap test-route)# match ip address 1

    HP9300(config-routemap test-route)# set ip next-hop 192.168.2.1

    HP9300(config-routemap test-route)# exit

    The commands in this example configure an entry in a route map named test-route. The matchstatement

    matches on IP information in ACL 1. The setstatement changes the next-hop IP address for packets that match

    to 192.168.2.1.

    Syntax: route-map permit | deny

    The is a string of characters that names the map. Map names can be up to 32 characters in length.

    You can define up 50 route maps on the routing switch.

    The permit | denyparameter specifies the action the routing switch will take if a route matches a match

    statement.

    If you specify deny, the routing switch does not advertise or learn the route.

    If you specify permit, the routing switch applies the match and set statements associated with this route map

    instance.

    The parameter specifies the instance of the route map you are defining. Each route map can have up to

    50 instances. Routes are compared to the instances in ascending numerical order. For example, a route is

    compared to instance 1, then instance 2, and so on.

    Syntax: match ip address

    3 - 26

  • 8/12/2019 Bk2_Ch3_ACL

    27/30

    Using Access Control Lists (ACLs)

    The parameter specifies a standard or extended ACL number or name.

    Syntax: set ip [default] next hop

    This command sets the next-hop IP address for traffic that matches a match statement in the route map.

    If you specify default, the route map sets the next-hop gateway only if the routing switch does not already have

    explicit routing information for the traffic.

    Syntax: set [default] interface null0

    This command redirects the traffic to the specified interface. You can send the traffic to the null0 interface, which

    is the same as dropping the traffic.

    If you specify default, the route map redirects the traffic to the specified interface only if the routing switch does

    not already have explicit routing information for the traffic.

    Enabling PBR

    After you configure the ACLs and route map entries, you can enable PBR globally, on individual interfaces, or both

    as described in this section. To enable PBR, you apply a route map you have configured for PBR globally or

    locally.

    Enabling PBR Globally

    To enable PBR globally, enter a command such as the following at the global CONFIG level:

    HP9300(config)# ip policy route-map test-route

    This command applies a route map named test-routeto all interfaces on the device for PBR.

    Syntax: ip policy route-map

    Enabling PBR Locally

    To enable PBR locally, enter commands such as the following:

    HP9300(config)# interface ve 1

    HP9300(config-vif-1)# ip policy route-map test-route

    The commands in this example change the CLI to the Interface level for virtual interface 1, then apply the test

    routeroute map to the interface. You can apply a PBR route map to Ethernet ports or virtual interfaces.

    Syntax: ip policy route-map

    Configuration Examples

    The following sections provide configuration examples for the following uses of PBRs:

    Setting the next hop

    Setting the next hop, if the routing switch does not have an explicit next hop configured for the traffic

    Discarding traffic by sending it to a null interface

    Setting the Next Hop

    The following commands configure the routing switch to apply PBR to traffic from IP sub-nets 209.157.23.x,

    209.157.24.x, and 209.157.25.x. In this example, route maps specify the next-hop gateway for packets from each

    of these sub-nets.

    Packets from 209.157.23.x are sent to 192.168.2.1.

    Packets from 209.157.24.x are sent to 192.168.2.2.

    Packets from 209.157.25.x are sent to 192.168.2.3.

    The following commands configure three standard ACLs. Each ACL contains one of the ACLs listed above. Make

    sure you specify permitinstead of deny in the ACLs, so that the routing switch permits the traffic that matches the

    3 - 27

  • 8/12/2019 Bk2_Ch3_ACL

    28/30

    Installation and Getting Started Guide

    ACLs to be further evaluated by the route map. If you specify deny, the routing switch denies the traffic from

    further evaluation and instead drops the packets. Notice that these ACLs specify anyfor the destination address.

    HP9300(config)# access-list 1 permit 209.157.23.0 0.0.0.255

    HP9300(config)# access-list 2 permit 209.157.24.0 0.0.0.255

    HP9300(config)# access-list 3 permit 209.157.25.0 0.0.0.255

    The following commands configure three entries in a route map called test-route. The first entry (permit 1)

    matches on the IP address information in ACL 1 above. For IP traffic from sub-net 209.157.23.0/24, this routemap entry sets the next-hop IP address to 192.168.2.1.

    HP9300(config)# route-map test-route permit 1

    HP9300(config-routemap test-route)# match ip address 1

    HP9300(config-routemap test-route)# set ip next-hop 192.168.2.1

    HP9300(config-routemap test-route)# exit

    The following commands configure the second entry in the route map. This entry (permit 2) matches on the IP

    address information in ACL 2 above. For IP traffic from sub-net 209.157.24.0/24, this route map entry sets the

    next-hop IP address to 192.168.2.2.

    HP9300(config)# route-map test-route permit 2

    HP9300(config-routemap test-route)# match ip address 2

    HP9300(config-routemap test-route)# set ip next-hop 192.168.2.2

    HP9300(config-routemap test-route)# exit

    The following commands configure the third entry in the test-route route map. This entry (permit 3) matches on

    the IP address information in ACL 3 above. For IP traffic from sub-net 209.157.25.0/24, this route map entry sets

    the next-hop IP address to 192.168.2.3.

    HP9300(config)# route-map test-route permit 3

    HP9300(config-routemap test-route)# match ip address 3

    HP9300(config-routemap test-route)# set ip next-hop 192.168.2.3

    HP9300(config-routemap test-route)# exit

    The following command enables PBR by globally applying the test-route route map to all interfaces.

    HP9300(config)# ip policy route-map test-route

    Alternatively, you can enable PBR on specific interfaces, as shown in the following example. The commands in

    this example configure IP addresses in the three source sub-nets identified in ACLS 1, 2, and 3, then apply route

    map test-route the interface.

    HP9300(config)# interface ve 1

    HP9300(config-vif-1)# ip address 209.157.23.1/24

    HP9300(config-vif-1)# ip address 209.157.24.1/24

    HP9300(config-vif-1)# ip address 209.157.25.1/24

    HP9300(config-vif-1)# ip policy route-map test-route

    Setting the Next Hop When no Next Hop Is Explicitly Configured

    The following commands configure a PBR to set the next-hop gateway for traffic, but only if the routing switch

    does not already have a next-hop gateway specified for the traffic. In this example, a route map specifies the

    next-hop gateway for packets from sub-net 192.168.1.x.

    The following command configures a standard ACL for the sub-net.

    HP9300(config)# access-list 4 permit 192.168.1.0 0.0.0.255 any

    The following commands configure an entry in a route map called test-route-if-no-gateway. The first entry

    (permit 4) matches on the IP address information in ACL 4 above. For IP traffic from sub-net 192.168.1.0/24, this

    route map entry sets the next-hop IP address to 192.111.1.1, but only if the routing switch does not already have a

    gateway configured for the sub-net.

    HP9300(config)# route-map test-route-if-no-gateway permit 4

    HP9300(config-routemap test-route-if-no-gateway)# match ip address 4

    HP9300(config-routemap test-route-if-no-gateway)# set ip default next-hop

    192.111.1.1

    3 - 28

  • 8/12/2019 Bk2_Ch3_ACL

    29/30

  • 8/12/2019 Bk2_Ch3_ACL

    30/30

    Installation and Getting Started Guide