ACL을 알아보자 2: 설정

ACL을 구성하는 단계는 2가지로 나눌 수 있다.

“① ACL 설정 → ② ACL 적용

ACL 설정은 Global mode에서 진행하고, ACL 적용은 인터페이스나 라인에서 한다.

1. Standard ACL 설정

간단한 구문으로 이루어져있다.

⑴ [1-99] : ACL 유형별로 범위가 있으며, Standard ACL은 1~99 내에서 사용한다.

⑵ {permit | deny} : permit – 접근 허용, deny – 접근 차단.

⑶ source : 출발지 호스트의 IP.

⑷ wildcard-mask : source의 와일드카드 마스크.

⑸ {log} : ACL 항목이 일치해 필터링되는 경우, 로그를 출력하는 옵션.

1-2. ACL 적용

Standard ACL 및 Extended ACL 모두 적용하는 방법은 동일하다.
(ACL이 적용돼야 하는 인터페이스로 먼저 접속 한다.)

⑴ [1-99] : 앞서 설정한 ACL의 항목 번호를 입력한다.

⑵ {in | out} : 라우터 기준으로 in / out에 해당하는 값을 넣는다.

1-3. Standard ACL 명령어 다뤄보기

Q. 192.168.0.0/24 망이 10.0.0.0/8 망에 접근할 수 없도록 차단해주세요. 단, 호스트 192.168.0.200은 접근할 수 있어야 합니다.

Router(config)# access-list 10 permit 192.168.0.200 host
Router(config)# access-list 10 deny 192.168.0.0 0.0.0.255
Router(config)# access-list 10 deny any
Router(config)# 
Router(config)# int fa0/0
Router(config-if)# ip access-group 10 in
Router(config-if)# int fa0/1
Router(config-if)# ip access-group 10 out

2. Extended ACL 설정

Standard ACL보다 복잡해보이지만 이해하고 나면 막상 어렵지 않으니 일단 ‘아, 이런게 있구나’ 정도로만 봐도 될 것 같다.

⑴,⑵ : 1번 참고

⑶ protocol : 패킷의 프로토콜을 정의한다. (TCP, UDP, ICMP, EIGRP, OSPF, IP)

⑷,⑸ : 출발지 호스트 IP와 와일드카드 마스크

⑹ eq / ⑺ [port-numer] : 출발지 포트 번호를 정의하겠다는 키워드 / 출발지 포트 번호를 입력 부분

⑻, ⑼ : 목적지 호스트 IP와 와일드카드 마스크

⑽ eq / ⑾ [port-numer] : 목적지 포트 번호를 정의하겠다는 키워드 / 출발지 포트 번호를 입력 부분

⑿ log / log-input : 1번 참고 / 로그 메세지 출력 시 ACL 필터가 동작한 인터페이스 정보도 함께 출력한다.

⒀ {time-range} : 정해진 시간 동안에만 ACL 동작하게 하는 옵션이다.

⒁ {tos | precedence | dscp} : IP 패킷 마킹이 실시된 트래픽을 정의할 때 사용된다.

⒂ {TCP Flag} : TCP 플래그가 설정된 패킷을 정의한다.

(16) {fragment} : 분할된 IP 패킷을 정의한다.

(17) {established} : TCP 플래그 중 ACK, RST가 설정된 트래픽을 정의한다.

2-2. Extended ACL 명령어 다뤄보기

Q1. 호스트 172.30.5.2가 웹서버 192.168.0.2로 접근하는 것을 차단하고, 172.30.1.0/24 망에서는 웹서버 192.168.0.2로 접근할 수 있어야 합니다. 이외 나머지 트래픽은 접근할 수 있어야합니다. (R2에서 설정)

R2(config)# access-list 100 deny tcp host 172.30.5.2 host 192.168.0.2 eq 80 
R2(config)# access-list 100 permit tcp 172.30.1.0 0.0.0.255 host 192.168.0.2 eq 80 
R2(config)# access-list 100 permit ip any any 
R2(config)# 
R2(config)# int s0/0 
R2(config-if)# ip access-group 100 in

Q2. 172.30.5.0/24 망의 모든 호스트들은 웹서버 192.168.0.2로 ping을 할 수 없고, 호스트 192.168.0.100으로는 ping을 할 수 있어야 합니다. 웹서버에 추가로 ftp 기능을 추가하면서, 모든 외부 호스트들은 09시부터 21시까지 192.168.0.2로 ftp 접속을 할 수 있어야 합니다. 이외 모든 트래픽은 차단되어야 합니다.(R2에서 설정)

R2(config)# time-range TR
R2(config-time-range)# periodic weekdays 09:00 to 21:00
R2(config-time-range)# exit
R2(config)# 
R2(config)# access-list 120 deny icmp 172.30.5.0 0.0.0.255 host 192.168.0.2 echo
R2(config)# access-list 120 permit icmp 172.30.5.0 0.0.0.255 host 192.168.0.2 echo
R2(config)# access-list 120 permit tcp any host 192.168.0.2 eq 21 time-range TR
R2(config)# access-list 120 deny ip any any
R2(config)# 
R2(config)# int s0/0
R2(config-if)# ip access-group 120 in

3. Named ACL 설정

Named ACL을 사용하면 항목 번호가 아닌 이름으로도 지정할 수 있다. 그리고 ACL을 부분적으로 추가하거나 삭제할 수있다.

⑴ {standard | extended} : ACL 종류를 선택한다.

⑵ {num | name} : num은 항목번호, name은 이름이다.
1-99(Standard), 100-199(Extended)를 넣거나 텍스트로 된 이름을 넣으면 된다.

위 명령어를 수행하면 아래의 모드로 변경된다.
Router(config-std-nacl)#
Router(config-ext-nacl)#

설정 방법은 기존 ACL과 매우 유사하지만, sequence number를 통해 부분적으로 acl 설정을 추가하거나 삭제할 수 있다.
Named ACL 설정은 CISCO 가이드를 참고하자.

답글 남기기

이메일 주소는 공개되지 않습니다.