본문 바로가기
Base/Network

14. ACL(Access Control List, 방화벽)

by 귀멸 2022. 6. 3.

ACL(Access Control List, 방화벽)

 - 개요
   : 기본적으로 ACL은 방화벽과 같은 개념이다.
   : 사용 용도에 따라 Router를 경유하는 Packet을 '트래픽 식별', '필터링(일반적인 사용 용도)',
     '암호화', '분류', '변환작업'을 수행할 수 있다.
 - 단계별 설정
   : 1단계 : 기본 설정
   : 2단계 : 라우팅 테이블 설정
   : 3단계 : 라우팅 프로토콜 설정
   : 4단계 : ACL 적용
 - Types of Access Lists
   : Standard Access List
       ; 'Source Address(출발지 주소)'를 검사한다.
       ; 검사결과에 따라 전체 Protocol Suite에 대한 Packet 출력을 허용하거나 거부한다.
       ; 특정 네트워크 또는 특정 호스트를 차단(Deny) 및 허용(Permit)하고자 할 때 사용한다.

   : Extended Access List
      ; Source Address와 'Destination Address(목적지 주소)'를 모두 검사한다.
      ; 특정 Protocol, Port번호, 다른 매개변수를 검사하여 유연하게 제어가 가능하다.
      ; 특정 네트워크 또는 특정 호스트에서 발생하는 특정 트래픽 차단(Deny) 및 
        허용(Permit)하고자 할 때 사용한다.

 - How to Identify Access Lists
   : Standard 1~99, 1300~1999
   : Extended 100~199, 2000~2699

 - std. ACL 설정
Step 1. access-list 명령어로 IP Traffic Filter list에 Entry를 만든다
   ; 문법
      Router(config)# access-list access-list-number {permit | deny} {test_conditions}
   ; 예제
      Router(config)# access-list 1 permit 172.16.0.0 0.0.255.255

 

Step 2. IP access-group 명령으로 기존 Access-List를 Interface에 적용한다
    ; 문법
       Router(config-if)# {protocol} access-group access-list-number {in | out}
    ; 예제
       Router(config)#interface ethernet 0
       Router(config-if)#ip access-group 1 out
       Router(config)#interface ethernet 1
       Router(config-if)#ip access-group 1 out

  : 적용된 ACL를 제거할 경우에는 다음과 같이 하면 된다. (interface 선택 후 실행)
    ; 문법
       Router(config-if)# no ip access-group access-list-number in
    ; 예제
       Router(config-if)# no ip access-group 1 in

* 01.pkt
  - Static Protocol + ACL
   : 01_R1 설정한 경우(특정IP).pkt
   : 01_R2 설정한 경우(특정IP).pkt
   : 01_R1 설정한 경우(특정대역).pkt
   : 01_R2 설정한 경우(특정대역).pkt
  - Dynamic Protocol(RIPv2) + ACL
  - Dynamic Protocol(EIGRP) + ACL
  - Dynamic Protocol(OSPF) + ACL

  - Static Routing에서 했던 '02.pkt'와 동일한 토폴로지를 작성한다. (복사해서 사용)
  - ACL 적용
    : 전 (모든 PC들이 통신이 된다.)
    : 후 (PC1에서 PC4는 통신이 되고 PC3로는 안된다.)

  - 작업(Static Protocol + ACL)
    : 4단계
; 기존에 설정되어 있는 ACL 확인
   # show run
   # show access-lists
; 만약 설정되어 있다면 삭제
   R1(config)#interface fastEthernet 0/0
   R1(config-if)#no ip access-group 1 in
   R1(config-if)#exit
   R1(config)#no access-list 1
   R1(config)#^Z    // ctrl + z
   R1#
   %SYS-5-CONFIG_I: Configured from console by console
   R1#wr
   Building configuration...
   [OK]
   R1#

    : <R1>에서 설정한 경우 (특정 IP)
; Step 1. ACL 적용할 대상 지정
   # access-list 1 deny 10.100.1.1 0.0.0.0
   # access-list 1 permit any
; Step 2. 특정 I/F에 ACL 적용
   # int f 0/0
   # ip access-group 1 out
; Step 3.
   # Ctrl + Z
   # wr
; Step 4.
   # sh access-lists
; Step 5.
   조건이 적용되는지 테스트

    : <R2>에서 설정한 경우 (특정IP)
; Step 0. 적용되어 있는 ACL 설정 제거
   # sh run
   # sh access-lists
   # cont t 
   # int f 0/0
   # no ip access-group 1 in
   # no access-list 1
   # Ctrl + Z
   # wr
; Step 1. ACL 적용할 대상 지정
   # access-list 1 deny 10.100.1.1 0.0.0.0
   # access-list 1 permit any
; Step 2. 특정 I/F에 ACL 적용
   # int f 0/0
   # ip access-group 1 in
; Step 3.
   # Ctrl + Z
   # wr
; Step 4.
   # sh access-lists
; Step 5.
   조건이 적용되는지 테스트

    : <R1>에서 설정한 경우 - 특정 IP가 설정된 시스템이 속해있는 특정 네트워크 전체 대역에 ACL 적용
; Step 0. 적용되어 있는 ACL 설정 제거
   # sh run
   # sh access-lists
   # cont t 
   # int f 0/0
   # no ip access-group 1 out
   # no access-list 1
   # Ctrl + Z
   # wr
; Step 1. ACL 적용할 대상 지정
   # access-list 1 deny 10.100.1.1 0.0.0.0
   # access-list 1 permit 10.100.1.2 0.0.0.0
; Step 2. 특정 I/F에 ACL 적용
   # int f 0/0
   # ip access-group 1 out
; Step 3.
   # Ctrl + Z
   # wr
; Step 4.
   # sh access-lists
; Step 5.
   조건이 적용되는지 테스트

'Base > Network' 카테고리의 다른 글

16. Switch / VLAN  (0) 2022.06.11
15. NAT(Network Address Translation) & PAT / DHCP  (0) 2022.06.11
13. 프로토콜 재분배  (0) 2022.05.30
12. OSPF(Open Shortest Path First)  (0) 2022.05.28
11. EIGRP(Enhanced Interior Gateway Routing Protocol)  (0) 2022.05.24

댓글