Cisco
Access-Lists
Types of Access-Lists Numbers
| Number | Description |
|---|---|
| <1-99> | IP Standard Access Lists |
| <100-199> | IP Extended Access Lists |
| <1000-1099> | IPX SAP access Lists |
| <1100-1199> | Extended 48-bit MAC address access Lists |
| <1200-1299> | IPX summary address list (expanded range) |
| <1300-1399> | IP standard access list (expanded range) |
| <200-299> | Protocol type-code access list |
| <2000-2699> | IP Extended access lists (expanded range) |
| <300-399> | DECnet access list |
| <600-699> | Appletalk access list |
| <700-799> | 48-bit MAC address access list |
| <800-899> | IPX standard access list |
| <900-999> | IPX extended access list |
| compiled | Enable IP access-list compilation |
| dynamic-extended | Extend the dynamic ACL absolute timer |
| rate-limit | Simple rate-limit specific access list |
- Cisco 번호 목록
Standard Command
- Standard Command의 경우는 패킷 내의 Source IP만 비교해서 패킷 수용 여부를 판단한다.
access-list {1-99 | 1300-1999} {permit | deny} {source [source-wildcard]}
- example
| Command | Description |
|---|---|
| access-list 1 permit 172.16.5.4 | source IP가 172.16.5.4인 패킷을 허용한다. |
| access-list 2 permit 192.168.6.0 0.0.0.255 | source IP가 subnet 192.168.6.0/24에 속한 경우 허용한다. |
| access-list 3 permit 192.168.0.0 0.0.255.255 | source IP가 subnet 192.168.0.0/16에 속한 패킷을 허용한다. |
| access-list 4 permit any | source IP에 상관없이 패킷을 허용한다. |
| access-list 5 permit 10.1.200.0 0.0.7.255 | source IP가 subnet 10.1.200.0/21에 속한 경우 패킷을 허용한다. |
| access-list 6 permit 10.1.200.0 0.0.0.31 | source IP가 subnet 10.1.200.0/28에 속한 패킷을 허용한다. |
| access-list 7 permit 172.20.112.0 0.0.1.255 | source IP가 subnet 172.20.112.0/23에 속한 패킷을 허용한다. |
- Place Standard ACLs as close as possible to the destination of the packet.
Extended Command
- Extended Command의 경우는 패킷 내의 1) 포트번호 2) Source IP 3) Destination IP를 비교해서 패킷 수용 여부를 판단한다.
- Extended Command는 포트 번호에도 제한을 줄 수 있다.
access-list (number) [deny|permit] protocol (source [source-wildcard]) (destination [destination-wildcard]) [log | log-input]
access-list (number) [deny|permit] (tcp | udp) (soruce [source-wildcard]) [operator|port] (destination [wildcard)] [operator [port]] [established] [log]
access-list (number) remark "text"
ip access-group (number) (in or out)
- Popular Applications and Their Well-Known Port Numbers
| Port Numbers | Protocol | Application | Access-list Command Keyworkd |
|---|---|---|---|
| 20 | TCP | FTP Data | ftp-data |
| 21 | TCP | FTP control | ftp |
| 22 | TCP | SSH | — |
| 23 | TCP | Telnet | telnet |
| 25 | TCP | SMTP | smtp |
| 53 | UDP, TCP | DNS | domain |
| 67 | UDP | DHCP Server | bootps |
| 68 | UDP | DHCP Client | bootpc |
| 69 | UDP | TFTP | tftp |
| 80 | TCP | HTTP | www |
| 110 | TCP | POP3 | pop3 |
| 161 | udp | SNMP | snmp |
| 443 | TCP | SSL | |
| 514 | UDP | Syslog | |
| 16,384~32,767 | UDP | RTP(voice, video) |
- Example
| Command | Description |
|---|---|
| access-list 110 deny ip host 10.1.2.1 10.1.1.0 0.0.0.255 | source-ip가 10.1.2.1이고, destination이 10.1.1.0/24 서브넷에 속한 패킷은 거부한다. |
| access-list 110 deny ip 10.1.2.0 0.0.0.255 10.1.3.0. 0.0.0.255 | protocol에 상관없이 source가 10.1.2.0/24 서브넷, des가 10.1.3.0/24서브넷에 속한하는 패킷이라면 거부한다. |
| access-list 110 permit ip any any | protocol에 상관없이 모든 패킷을 허용한다. |
Named ACLs
- Ex
- configure terminal
- ip access-list extended “name”
- permit tcp host 10.1.1.2 eq www any -> 프로토콜이 tcp이고, source 10.1.1.2인 호스트 포트 번호가 80, destination이 any면 통과
- deny udp host 10.1.1.1 10.1.2.0 0.0.0.255 -> udp프토코롤에 source가 10.1.1.1 des가 10.1.2.0/24인 패킷을 거부
- int fa0/0
- ip access-group “name” [in, out]
- 이런식으로 Named로 설정해줄 수 있다.
- 만약 지우고 싶은 리스트 라인이 있다면? -> 해당 라인을 똑같이 입력 대신 앞에 no를 붙인다.
- ip access-list extended “name”
- no deny udp host 10.1.1.1 10.1.2.0 0.0.0.255