CCNA - ACL

일상 코딩·2022년 5월 4일
0

CCNA

목록 보기
12/17

01.ACL 소개

1-1.ACL 사용 목적

분류

  • 라우터는 특정 트래픽을 식별하기 위해 ACL을 사용
  • 식별된 데이터를 암호화, PBR, QoS, DDR, NAT, PAT과 같은 특징을 적용

필터링

  • 라우터의 인터페이스를 경유하는 트래픽을 허용 또는 거부
  • 인바운드 ACL & 아웃바운드 ACL

ACL 동작

  • 일련번호의 순서대로 논리적으로 운용
  • 하향식으로 구문 당 빠짐 없이 패킷을 검사
  • 패킷 헤더와 ACL 구문이 일치하면 나머지 구문은 바로 건너뛰고 패킷을 일치하는 구문의 조건에 따라 허용 또는 거부
  • 패킷 헤더와 모든 ACL 구문이 일치하지 않는 경우 거부(묵시적인 거부)

  • ACL은 적어도 하나 이상의 허용 구문을 포함 시켜야 하며 그렇지 않은 경우 ACL은 모든 트래픽을 차단합니다.

03.ACL 종류

넘버드 표준 ACL

  • 숫자를 식별자로 사용(1~99)
  • ACL 조건으로 출발지 IP 주소만을 사용

넘버드 확장 ACL

  • 숫자를 식별자로 사용(100~199)
  • ACL 조건으로 출발지 IP주소, 목적지 IP주소, 포트번호, 프로토콜 사용

네임드 표준 ACL

  • 문자를 식별자로 사용
  • ACL 조건으로 출발지 IP주소만을 사용

네임드 확장 ACL

  • 문자를 식별자로 사용
  • ACL 조건으로 출발지 IP주소, 목적지 IP주소, 포트번호, 프로토콜 사용

04.와일드 카드 마스크

  • IP주소 비트에 대응되는 비트를 검사하기 위해 사용
  • 서브넷 마스크를 뒤집은 역마스크 (서브넷 마스크를 1 => 0, 0 => 1로 바꾸면 와일드 마스크)
  • 와일드 카드 마스크 비트 0: IP 주소 안의 대응 비트와 반드시 일치
  • 와일드 카드 마스크 비트 1: IP 주소 안의 대응 비트를 검사하지 않고 무시

  • 192.168.10.0 0.0.0.255 => 192.168.10.0 ~ 192.168.10.255

  • 1개의 IP주소를 나타내는 와일드 마스크
  • 192.168.10.100 0.0.0.0 => 192.168.10.100 => host 192.168.10.100
  • 0.0.0.0 => host

  • 모든 IP 주소를 나타내는 와일드 마스크
  • 0.0.0.0 255.255.255.255 => 0.0.0.0 ~ 255.255.255.255 => any

05.ACL 설정

넘버드 표준 ACL

  • 넘버드 표준 ACL 구문 작성
Router(config)#access-list 식별자번호(1~99) {permit | deny} 출발지IP 와일드마스크
  • 넘버드 표준 ACL 적용
Router(config)#interface 인터페이스 번호
Router(config-if)#ip access-group 식별자번호(1~99) {in | out}
  • ACL 확인 명령어
Router#show running-config 

Numberd 표준 ACL 예제 1

  • 172.16.3.0 네트워크는 172.16.4.0 네트워크와 통신 허용
  • 172.16.3.0 네트워크는 192.168.10.0 네트워크와 통신 거부
Router(config)#access-list 1 permit 172.16.4.0 0.0.0.255 

Router(config)#access-list 1 deny 192.168.10.0 0.0.0.255 
Router(config)#int g0/0
Router(config-if)#ip access-group 1 out 
  • 출발지 네트워크가 192.16.10.0이고 목적지 네트워크가 172.16.3.0이기 때문에 목적지 네트워크에 가까운 g0/0 인터페이스에 out 바운드로 설정 하여 192.16.10.0 네트워크가 g0/0 인터페이스 밖으로 나가는것을 차단합니다.
  • 출발지 네트워크가 172.16.4.0이고 목적지 네트워크가 172.16.3.0이기 때문에 목적지 네트워크에 가까운 g0/0 인터페이스에 out 바운드로 설정 하여 172.16.4.0 네트워크가 g0/0 인터페이스 밖으로 나가는것을 허용합니다.

Numberd 표준 ACL 예제 2

  • 172.16.3.13 서버는 다른 네트워크로 통신 거부
  • 다른 모든 PC들 간에는 통신 허용
Router(config-if)#no ip access-group 1 out // ACL 설정을 제거
Router(config)#access-list 2 deny 172.16.3.13 0.0.0.0
Router(config)#access-list 2 permit 0.0.0.0 255.255.255.255
Router(config)#int g0/0
Router(config-if)#ip access-group 2 in 
  • g0/0 인터페이스에 in 바운드를 설정 하였으므로 g0/0 인터페이를 통해 밖에서 들어오는 IP주소 중에서 172.16.3.13 만을 거부하고 0.0.0.0 ~ 255.255.255.255 까지의 IP 주소 즉, 모든 IP주소는 허용 하도록 필터링 한다.

넘버드 확장 ACL

  • 넘버드 확장 ACL 구문 작성
Router(config)#access-list 식별자번호(100~199) {permit | deny} 프로토콜(TCP,UDP,IP) 출발지IP 출발지와일드마스크 목적지IP 목적지와일드마스크 eq 포트번호

  • 넘버드 확장 ACL 적용
Router(config)#interface 인터페이스 번호
Router(config-if)#ip access-group 식별자번호(100~199) {in | out}

Numberd 확장 ACL 예제 1

  • 172.16.4.0/24 네트워크에서 FTP서버(172.16.3.13)으로 접속 거부
  • 다른 모든 PC들 간에는 통신 허용
Router(config)#access-list 100 deny tcp 172.16.4.0 0.0.0.255 host 172.16.3.13 eq 20
Router(config)#access-list 100 deny tcp 172.16.4.0 0.0.0.255 host 172.16.3.13 eq 21
Router(config)#access-list 100 permit ip any any 
Router(config)#int g0/0
Router(config-if)#ip access-group 100 out 
  • g0/0out 바운드로 설정 했으므로 밖에서 g0/0 인테페이스로 들어오는 출발지 IP주소 172.16.4.0 ~ 172.16.4.255 까지는 모두 deny으로 거부하고 출발지 주소와 목적지 주소를 모두 any로 설정하여 permit으로 모든 PC들 간에는 통신을 허용하도록 필터링한다.
  • FTP Server는 포트 번호가 2개(20번,21번) 이므로 2개 모두 설정 해줘야 합니다.

Numberd 확장 ACL 예제 2

  • 172.16.3.0/24 네트워크에서 Web서버(172.16.4.13)으로 접속 거부
  • 다른 모든 PC들 간에는 통신 허용
Router(config-if)#no ip access-group 100 out // ACL 설정을 제거
Router(config)#access-list 101 deny tcp 172.16.3.0 0.0.0.255 host 172.16.4.13 eq 80 
Router(config)#access-list 101 permit ip any any 
Router(config)#int g0/0
Router(config-if)#ip access-group 101 in 
  • g0/0in 바운드로 설정 했으므로 g0/0 인테페이스에서 밖으로 나가는 출발지 IP주소 172.16.3.0 ~ 172.16.3.255 까지는 모두 deny으로 거부하고 출발지 주소와 목적지 주소를 모두 any로 설정하여 permit으로 다른 모든 PC들은 통신을 허용하도록 필터링한다.
profile
일취월장(日就月將) - 「날마다 달마다 성장하고 발전한다.」

0개의 댓글