특정 트래픽의 접근을 허용할지 차단할지 결정하는 리스트이다. = 필터링
보안을 위해서 많이 사용한다.
L3 장비인 라우터에서 설정하지만 7계층 부분도 관리하기 때문에 3계층까지라고 단정할 수 없다.
하지만 7계층까지 완벽히 막을 수 없기 때문에 방화벽등의 전문적인 보안 장비를 사용한다.
source address만 참조해서 필터링 여부를 결정한다.
source address외에도 destination address, protocol, port번호 등 좀 더 자세한 정보를 참조해서 필터링 여부를 결정한다.
Standard ACL의 경우는 출발지 주소(source address)를 보고 필터링 여부를 결정한다.
패킷의 source address와 ACL에 정의된 source address가 일치하면 ACL의 내용을 수행한다.
permit이면 패킷을 정해진 경로로 전송하고 deny면 패킷의 흐름을 차단한다.
standard ACL의 사용 list-number는 1~99까지를 사용한다.
R1(config)# access-list <list-number> {permit|deny} source [mask]
------1------ -----2------ --3--- --4--
"인터페이스 적용"
R1(config)# interface serial 0/0
R1(config)# ip access-group <access-list-number> {in | out}
---------1--------- ----2----
in
은 라우터의 인터페이스로 패킷이 들어오는 경우이다.out
은 패킷이 라우터의 인터페이스에서 나가는 경우이다.* standar ACL은 항상 destination 라우터 쪽에 설정되어야 한다. 중간 라우터에 설정하면 다른 라우터들까지 ACL의 영향을 받아서 정상적으로 패킷 전송이 이루어지지 않을 수 있다.
패킷이 라우터 내부로 들어올 때 필터링 여부를 결정한다.
라우터 인터페이스로 패킷이 들어올 경우 수신 인터페이스에 ACL이 설정되어 있는지 확인하고 설정이 되어있지 않으면 그냥 통과한다.
만약 ACL이 설정돼 있다면 들어온 패킷
의 정보와 ACL에 설정 내용을 비교해서 통과 여부를 결정한다.
패킷이 라우터 외부로 나갈 때 필터링 여부를 결정한다.
라우터 인터페이스에서 패킷이 나갈 경우 인터페이스에 ACL이 설정되어 있는지 확인하고 설정이 돼있지 않으면 그냥 보낸다.
만약 ACL이 설정돼 있다면 나가는 패킷
의 정보와 ACL에 설정 내용을 비교해서 통과 여부를 결정한다.
R1(config)# access-list 1 permit any
Ri(config)# access-list 1 deny 125.101.1.0 0.0.0.255
ACL의 마지막은 deny any가 생략되어 있다. 즉 마지막에 permit any가 없을 경우 ACL 조건에 없는 모든 address는 deny된다.
numbered ACL은 순서대로 입력되기 때문에 중간 삽입이나 중간 삭제가 불가능하다. -> 즉, 새로 추가하는 모든 조건은 마지막에 더해진다.
standard ACL은 source address만 조건으로 보고 필터링을 수행한다.
하지만 extended ACL은 출발지와 목적지주소 모두를 조건으로 보고 제어한다.
또한 standard ACL은 TCP/IP에 대해 제어만을 하지만 extended ACL은 ip, tcp, udp, icmp등의 상세 프로토콜을 선택해서 설정할 수 있다.
extended ACL의 사용 list-number는 100~199까지 사용한다.
R1(config)# access-list <list-number> {permit|deny} <protocol>
------1------ ------2----- ----3----
source [mask] destination [mask] [operator port]
-----4------ ---------5-------- ------6--------
list-number는 100~199까지의 번호를 사용한다. (100~199까지가 extended ACL의 번호이다.)
조건에 맞는 트래픽을 permit할지 deny할지 결정한다.
필터링을 할 프로토콜을 정의한다.(TCP,UDP,IP)등
source address를 지정한다.
destination address를 지정한다.
목적지 TCP/UDP 포트 이름 및 번호를 지정한다.
"인터페이스 적용"
R1(config)# interface serial 0/0
R1(config-if)# ip access-group <access-list-number> {in | out}