CISCO 네트워크 - ACL

2022. 12. 12. 13:55네트워크

ACCESS LIST

 

ACL(접근제어목록)
 - ACL(Access Control List)은 패킷의 주소를 기반으로 출입을 제어하는 기능이다.

 

ACL의 종류

트래픽(Traffic)
 - Inbound traffic : 들어오는 패킷
 - Outbound traffic : 나가는 패킷
 - 패기 패킷을 inbound로 처리하면 네트워크 자원을 사용함으로 outbound로 처리하는 것이 좋
   지만 이는 관리 주체가 동일한 경우만 가능하다. 그리고 ACL은 라우터의 빈약한 자원을 이용
   함으로 과도한 설정은 지양한다.

 

표준 ACL 실습 환경

 

표준 ACL

access‐list  ##  [permit | deny | remark]  src_add wildcard_mask

 - ## : # of ACL, 1~99 1300~1999
 - [permit | deny | remark]
   ‐ 허용, 폐기, ACL 주석
 - src add : Sender IP address
 - wildcard mask : 호스트 주소의 범위
   0.0.0.0 : host
   0.0.0.255 : C class
   0.0.1.255 : 2*C class ex) #.#.0.0~#.#.1.255, #.#.2.0~#.#.3.255, ......
   255.255.255.255 : any, 모든 네트워크

 

Ex)
     2.2.2.3 0.0.0.0 또는 host 2.2.2.3
     0.0.0.0 255.255.255.255 또는 any

 

ACL 설정
① access‐list 설정
② 인터페이스 적용

interfce [인터페이스]
ip access‐group ## [in | out]

 - ## : 적용할 ACL 번호
 - [in | out] : ACL을 해당 인터페이스의 inbound 또는 outbound에 적용
 - 인터페이스에 ACL을 적용하고 ACL을 정의해도 된다.

 

ACL 확인

# show ip access‐lists [##]

 - ## : 확인할 ACL번호
   - 지정하지 않으면 모든 ACL을 확인한다.

 

 

표준 ACL 설정 1
호스트 차단
 - R1에서 2.2.2.3 호스트 차단

R1(config)# access‐list 1 deny 2.2.2.3 0.0.0.0  [access‐list 1 deny host 2.2.2.3]
R1(config)# access‐list 1 permit any
R1(config)# int s0/0/0
R1(config‐if)# ip access‐group 1 in

 - ACL의 기본은 ALL DENY이므로 반드시 PERMIT을 지정해야 한다.
   : ACL 설정은 access‐list명령이 유효할 때 활성화 된다.
 - 설정 확인

R1# show run
......
interface Serial0/0/0
ip address 12.1.1.1 255.255.255.0
ip access‐group 1 in
......
access‐list 1 deny host 2.2.2.3
access‐list 1 permit any
......

 

표준 ACL 설정 2

네트워크 설정
 - R1
   permit : 2.2.0.0/24, 2.2.1.0/24

R1(config)# access‐list 1 permit 2.2.0.0 0.0.1.255
R1(config)# int s0/0/0
R1(config‐if)# ip access‐group 1 in
R1# show ip access‐lists
Standard IP access list 1
10 permit 2.2.0.0 0.0.1.255
R1# show run
......
interface Serial0/0/0
ip address 12.1.1.1 255.255.255.0
ip access‐group 1 in
......
access‐list 1 permit 2.2.0.0 0.0.1.255
......

 

표준 ACL 설정 3

 ACL 삭제
 - 아래와 같이 ACL을 새로 설정한다.

R1# show ip access‐lists
Standard IP access list 1
10 permit 2.2.0.0 0.0.0.255
20 permit 2.2.1.0 0.0.0.255
R1# conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)# no access‐list 1 permit 2.2.1.0 0.0.0.255
R1(config)# do show ip access‐lists

 - ACL의 access‐list에서 일부를 삭제하면 전체가 삭제된다.
   no access‐list 1 permit 2.2.1.0 0.0.0.255
   no access‐list 1
 - access‐list는 추가 가능하지만 삭제는 전체 삭제이므로 주의한다.

 

ACL 적용

ACL 적용 순서
① Inbound ACL
② Routing table
③ Outbound ACL

 

Access‐list 적용 순서
 - 첫 번째 access‐list 부터 확인하며 작용되는 access‐list가 있으면 그것을 적용하고 이후 access‐list는 확인하지 않는다.
 - access‐list에 정의하는 대상의 범위가 중첩되는 경우, 반드시 범위가 좁은 것을 먼저 설정한다.
 - Ex) ACL을 설정하고 작동을 확인한다.

R1# show ip access‐lists
Standard IP access list 1
10 permit any (4 match(es))
20 deny 2.2.2.0 0.0.0.255

R1# show ip access‐lists
Standard IP access list 1
10 deny 2.2.2.0 0.0.0.255
20 permit any

 

ACL Remark
각각의 ACL에 대해서 주석을 제공한다.
ACL의 개수가 많은 경우 각 ACL의 용도를 추후 확인하고 개선하기 편하도록 ACL에 주석을 제공한다.

access‐list  ##  remark 주석…

 - 한글 지원 불량
 - 여러 행 지정이 가능하다.

 

R1(config)# access‐list 1 remark test ACL list

주석확인은 running‐config나 startup‐config를 통해 확인 가능하다.
 - Show access‐lists는 확인불가!

 

 

확장 ACL 실습 환경

 

확장 ACL 설정 1

확장 ACL
 - src, dst, Protocol등 다양한 요소를 통해 패킷을 제어한다.

access‐list  ##  [permit | deny | remark]  protocol src_address dst_address [sub_protocol]

 - ## : # of ACL, 100~199, 2000~2699
 - protocol : tcp, udp, ip, icmp, ospf, eigrp, ahp, esp, gre
 - src, dst_address
    any                      : all add
    host #.#.#.#             : host 주소 지정
    #.#.#.#  wildcard_mask : 네트워크 주소 지정
 - sub_protocol : 서브 프로토콜
   echo, eq 80(eq www),eq 53(eq domain)등 지정 가능

 

확장 ACL 설정 2

예제

R1(config)# access‐list 100 permit ospf host 12.1.1.2 any
R1(config)# access‐list 100 permit tcp 2.2.0.0 0.0.0.255 1.1.1.0 0.0.0.255 eq 80
R1(config)# access‐list 100 permit tcp 2.2.1.0 0.0.0.255 1.1.1.0 0.0.0.255 eq telnet
R1(config)# access‐list 100 permit ip host 2.2.2.3 host 1.1.1.11
R1(config)# access‐list 100 permit ip any any
R1(config)# access‐list 100 permit icmp host 2.2.2.3 any
R1(config)# int s0/0/0
R1(config)# ip access‐group 100 in

ex) 다음 조건에 맞도록 설정한다.
① 2.2.0.0/24, 2.2.1.0/24 에서 1.1.1.0/24 로의 모든 접속을 허용한다.
② 2.2.2.0/24에서 1.1.1.11로 web 접속을 허용한다.
③ 2.2.1.3에서 1.1.1.11로의 web 접속은 불허한다.
     2.2.2.3 ‐> 1.1.1.11 web allow, icmp deny
     2.2.1.3 ‐> 1.1.1.11 web deny, icmp allow

 

확장 ACL 연습

 

named ACL

Name ACL
 - Standard named ACL

ip access‐list standard [acl_name]
[permit | deny | remark] src_add wildcard_mask
exit

 

 - Extended named ACL

ip access‐list extended [acl_name]
[permit | deny | remark]  protocol src_address dst_address [sub_protocol]
exit

 - ACL 설정은 각각 표준, 확장 ACL과 동일하다.

 

ACL 적용

interfce [인터페이스]
ip access‐group acl_name [in | out]

 

named standard ACL

제한 설정
 - R1 : 2.2.2.3(2.2.2.0/24)차단

R1(config)# ip access‐list standard st_test1
R1(config‐std‐nacl)# deny host 2.2.2.3  [or  deny 2.2.2.3 0.0.0.255]
R1(config‐std‐nacl)# permit any [or permit 2.2.0.0 0.0.1.255 주의!!]
R1(config‐std‐nacl)# exit
R1(config)# int s0/0/0
R1(config)# ip access‐group st_test1 in

 - R2에서 : 2.2.2.3(2.2.2.0/24)차단
: access list 설정은 동일

R2(config)# ip access‐list standard st_test1
R2(config‐std‐nacl)# deny host 2.2.2.3  [or  deny 2.2.2.3 0.0.0.255]
R2(config‐std‐nacl)# permit any [or permit 2.2.0.0 0.0.1.255 주의!!]
R2(config‐std‐nacl)# exit
R2(config)# int s0/0/1
R2(config)# ip access‐group st_test1 out

제한 설정
 - 2.2.0.0/24, 2.2.1.0/24 에서 1.1.1.0/24 로의 모든 접속을 허용한다.
 - 2.2.2.0/24에서 1.1.1.11로 web 접속을 허용한다.
 - 2.2.1.3에서 1.1.1.11로의 web 접속은 불허한다.

R1(config)# ip access‐list extended ex_test1
R1(config‐ext‐nacl)# permit ospf host 12.1.1.2 any
R1(config‐ext‐nacl)# deny tcp host 2.2.1.3 host 1.1.1.11 eq 80 (eq www)
R1(config‐ext‐nacl)# permit ip 2.2.0.0 0.0.1.255 1.1.1.0 0.0.0.255
R1(config‐ext‐nacl)# permit tcp 2.2.2.0 0.0.0.255 host 1.1.1.11 eq 80
R1(config‐ext‐nacl)# permit tcp 2.2.2.0 0.0.0.255 host 1.1.1.11 eq 53 (eq domain)
R1(config‐ext‐nacl)# exit
R1(config)# int s0/0/0
R1(config‐if)# ip access‐group ex_test1 in

*2.2.1.0에 대해서 *

 

named ACL 연습

 

'네트워크' 카테고리의 다른 글

CISCO 네트워크 - EIGRP  (0) 2022.12.07
CISCO 네트워크 - OSPF  (0) 2022.12.05
CISCO 네트워크 - 방화벽  (0) 2022.11.30
CISCO 네트워크 - Router  (0) 2022.11.29
CISCO 네트워크 - Switch, STP  (0) 2022.11.23