Why use ACLs
* Limits network traffic to increase network performance.
* ACLs provides traffic flow control by restricting the delivery of routing updates.
* It can be used as additional security.
* Controls which type of traffic are forwarded or blocked by the router.
* Ability to control which areas a client access.
Types of Access Control Lists
Standard access-list
- Standard access lists create filters based on source addresses and are used for server based filtering.
- Address based access lists distinguish routes on a network you want to control by using network address number (IP).
- Address-based access lists consist of a list of addresses or address ranges and a statement as to whether access to or from that address is permitted or denied.
Example of the command syntax for configuring a standard numbered IP ACL:
R1(config)# access-list {1-99} {permit | deny} source-addr [source-wildcard]
- The first value {1-99} specifies the standard ACL number range.
- The second value specifies whether to permit or deny the configured source IP address traffic.
- The third value is the source IP address that must be matched.
- The fourth value is the wildcard mask to be applied to the previously configured IP address to indicate the range.
Extended access lists
- Extended access lists create filters based on source addresses, destination addresses, protocol, port number and other features and are used for packet based filtering for packets that traverse the network.
Example of the command syntax for configuring an extended numbered IP ACL:
Router(config)# access-list {100-199} {permit | deny} protocol source-addr [source-wildcard] [operator operand] destination-addr [destination-wildcard] [operator operand] [established]
- Like the standard ACLs, the first value {100-199 or 2000 - 2699} specifies the ACL number range.
- The next value specifies whether to permit or deny according to the criteria that follows.
- The third value specifies protocol type ( IP, TCP, UDP, or other specific IP sub-protocols). The source IP address and wildcard mask determine traffic source. The destination IP address and its wildcard mask are used to indicate the final destination of the network traffic. When the destination IP address and mask are configured, the port number must be specified to match, either by number or by a well-known port name, otherwise all traffic to that destination will be dropped.
Standard and Extended access lists can be applied base on the use of ip access-list command.
Access lists use the deny or permit statement to define which packet is allowed or denied entry into a server or network.
Masks
- Masks are used with IP addresses in IP ACLs to specify what should be permitted and denied. Masks in order to configure IP addresses on interfaces start with 255 and have the large values on the left side, for example, IP address 172.16.2.14 with a 255.255.255.0 mask. Masks for IP ACLs are the reverse, for example, mask 0.0.0.255. This is sometimes called an inverse mask or a wildcard mask. When the value of the mask is broken down into binary (0s and 1s), the results determine which address bits are to be considered in processing the traffic. A 0 indicates that the address bits must be considered (exact match); a 1 in the mask is a "no".
Note these ACL equivalents.
- The source/source-wildcard of 0.0.0.0/255.255.255.255 means "any".
- The source/wildcard of 10.1.1.2/0.0.0.0 is the same as "host 10.1.1.2".
- If you subtract 255.255.255.0 (normal mask) from 255.255.255.255, it yields 0.0.0.255.
- The command below defines an ACL that permits this network 192.168.1.0 0.0.0.255.
access-list acl_permit permit ip 192.168.1.0 0.0.0.255
- Inbound traffic to the router is compared to access lists entries based on the order that the entries occur in the router. The router looks through the entries until it has a match. If the router found no match when it reaches the end of the list, the traffic is denied. For this reason, you should have the frequently hit entries at the top of the list. There is an implied deny for traffic that is not permitted. Single-entry access lists with only one deny entry has the effect of denying all traffic. You must have at least one permit statement in an ACL or all traffic is blocked.
- Access lists implicitly deny all access that is not expressly permitted. The following line is auto-appended to all access-lists:
deny ip any any
- If it is desirable to over-ride this implicit denial statement, enter a permit ip any any statement as the last entry in the access-list.