본문 바로가기
조회 수 3492 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print

http://cafe.naver.com/neteg/59954


6. Filtering

 

이번장에서 다룰 내용은 필터링이다. 필터링이란 엑세스 리스트(access-list)등을 이용하여 관리자가 임의의 패킷에 대해 라우터로의 수신 또는 송신을 통제하는 것이다. 일반적으로 필터링이란 OSI 7레이어 중의 레이어 3의 패킷 필터링을 의미하지만, 맥 엑세스 리스트(mac access-list)를 사용하여 레이어 2의 프레임도 필터링 할 수 있다.

 

[표 – IGP 출제 범위]

IP IGP Routing 

OSPF 

EIGRP

RIPv2

IPv6: Addressing, RIPng, OSPFv3

GRE

ODR

Filtering, redistribution, summarization and other advanced features<?xml:namespace prefix = o />

 

위에서 언급한 것처럼 엑세스 리스트는 일반적으로 엑세스 그룹(access-group)과 연계하여 패킷 필터링을 위해 사용되어 진다그러나 엑세스 리스트의 진정한 의미는 ‘define interesting traffic’ , ‘관심 트래픽의 정의이다. 그러므로 엑세스 리스트의 사용 목적은 단순한 패킷의 송수신에 대한 통제뿐만 아니라 다양한 정책을 적용하기 위한 관심 트래픽의 정의라는 의미도 포함되어 있다.

 

이번장에서는 엑세스 리스트의 특징과 그 활용 범위에 대해서 알아본다. 또한 엑세스 리스트의 한계를 극복하기 위한 네임드 엑세스 리스트(named access-list)나 프리픽스 리스트(prefix-list)등의 다양한 대안에 대해서도 학습한다. 그러함으로써 다음장에서 학습할 라우팅 업데이트와 관련된 필터링을 대비한 배경지식을 준비한다.

 


 

1) access-list 활용 범위

 

실제로 라우터에서는 임의의 패킷을 엑세스 리스트로 관심 트래픽을 정의하면, 이 임의의 패킷에 대해 다양한 정책을 적용할 수 있다. 엑세스 그룹에서는 패킷 통제, 엑세스 클래스에서는 라우터로의 컨트롤 세션 통제, QoS에서는 대역폭 제한, PBR에서는 넥스트 홉의 강제 결정, 디스트리뷰트 리스트(distrubute-list)에서는 라우팅 업데이트의 통제, 멀티캐스트에서는 그룹 통제등 그 응용 범위는 무궁무진 하기 때문이다.

 

아래는 엑세스 리스트의 활용 범위이다. CCIE R&S와 실무에서 주로 다루는 내용 위주이지만, 아래에 나타나지 않은 부분도 많이 있다.

 

[엑세스 리스트 활용 범위]

구분

용도

명령어 (샘플)

전체

route-map 과의 연동을 통한 정책 적용

route-map NAME [permit|deny] 10

match ip address #

B&S

frame-relay de-list

frame-relay de-list 1 protocol ip list #

interface s1/0

 frame-relay de-group 1 405

패킷 필터링 (VACL)

vlan access-map NAME

 match ip address #

IGP

패킷 필터링 (ACL)

Interface f0/0

ip access-group # [in|out]

Telnet, SSH 필터링

line vty 0 4

access-class # in

라우팅 업데이트 필터링

router [ospf|rip|eigrp] [AS]

distrubute-list # [in|out] f0/0

재분배 업데이트 필터링

router [ospf|rip|eigrp] [AS]

redistrubute ospf 1 route-map NAME

라우팅 프로토콜 메트릭 변경

(offset-list)

router [rip|eigrp] [AS]

offset-list # [in|out] f0/0

uRPF (unicast Reverse Path Forwarding)

interface f0/0

ip verify unicast reverse-path #

CBAC (Context-Based Access Control)

interface f0/0

ip inspect name # [in|out]

Reflective Access-list

interface f0/0

ip access-group # [in|out]

PBR for GRE Tunnel

interface f0/0

ip policy route-map NAME

BGP

BGP AS 필터링 (regex)

ip as-path access-list # permit ^$

!

router bgp 1

 neighbor 150.1.1.254 filter-list # out

IP Feature

NAT

(Network Address Translation)

ip nat inside source list # pool NAME

ip nat pool NAT 1.1.1.1 1.1.1.254 prefix 24

Distrubute Director

ip drp access-group #

멀티캐스트

조인(join) 그룹 필터링

ip pim send-rp-announce lo0 sc 16 gr #

(or)

ip pim rp-address 1.1.1.1 gr #

(or)

Ip pim rp-candidate lo0 group-list #

Helper-map

interface f0/0

ip multi helper-map broad 224.2.2.2 #

QoS

MQC (Modular QoS CLI)

class-map NAME

match access-group #

CAR (Committed Access Rate)

interface f0/0

rate-limit input access-group # (생략)

PBR (Policy Based Routing)

interface f0/0

ip policy route-map NAME

Traffic-shaping

(대역폭 제한)

interface f0/0

 traffic-shape grup # 10000000

Security

TCP SYN attack 방지

ip tcp intercept list #

 

 


2) 웰논(well-known) 프로토콜

 

그럼 CCIE R&S에서 주로 다루는 프로토콜과 포트에 대해서 확인해 보자. 엑세스 리스트에서는 SIP DIP 이외에도 특정 프로토콜과 특정 포트에 대한 제어를 할 수 있으므로 이에 대한 배경지식도 필요하기 때문이다.

 

특히 익스텐디드 엑세스 리스트의 경우에는 IP 뿐만 아니라 웰논(well-known) 포트 넘버를 사용해서도 정의가 가능하다. 웰논(well-known)이란 표준화 기관 등에 의해서 사전에 정의됨이란 의미이다. 포트(port) 넘버란 특정 IP 서비스별로 사전 또는 사후에 정의된 서비스 타입을 의미한다. 예를 들어 텔넷(telnet)의 포트 번호는 23번이다. TCP/IP에서의 포트 넘버는 IANA(Internet Assigned Numbers Authority)라는 기관에서 정의하며 0번에서 65535번까지 사용할 수 있다.

 

[– IANA 표준 웰논(well-known) 포트 카테고리]

구분

범위

설명

Well Known Port

0~1023

IANA에서 미리 지정한 포트들 (eg, FTP, Telnet)

Resistered Port

1024~49151

IANA가 간섭하지 않고 어떤 processor등이라도 등록하고 사용이 가능함

Dynamic Port

49152~65535

어느 processor라도 맘대로 사용이 가능

 

프로토콜은 통신 규약을 의미하며 통신을 위한 표준 언어로 이해하면 된다. 프로토콜에는 앞서 설명했듯이 라우티드(routed) 프로토콜과 라우팅(routing) 프로토콜이 있다. 라우티드 프로토콜에는 IP, IPX, Appletalk가 있고 라우팅 프로토콜에는 IGP를 위한 OSPF, RIP, EIGRP EGP를 위한 BGP가 있다. OSPF, EIGRPIP의 프로토콜 번호가 주어진다. BGP TCP 프로토콜의 한 부분이므로 프로토콜 번호가 아닌 179, RIP UDP 프로토콜의 한 부분이므로 520번이 주어진다. 물론 멀티캐스트를 위한 PIM도 프로토콜 번호가 있다.

 

[– CCIE R&S에서 언급되는 웰논(well-known) IP 프로토콜 넘버]

구분

이름

넘버

설명

IP

ICMP

1

Internet Control Message

TCP

6

Transmission Control

UDP

17

User Datagram

OSPFIGP

89

OSPF

EIGRP

88

EIGRP

PIM

103

Protocol Independent Multicast

TCP

BGP

179

 BGP

UDP

RIP

520

 RIP

OSPF의 경우는 실제로 OSPFIGP라고 기재되어 있다.

 


 

3) 웰논(well-known) 포트

 

IP 통신을 위한 프로토콜에는 TCP UDP도 있다. TCP Transmission Control Protocol의 약자로 두 호스트가 통신을 하기 이전에 3way-handshake를 통한 사전 세션을 맺고 데이터 전송시 반대측에서 이에 대한 답변을 보내는 통신 방법이다. UDP User Datagram Protocol의 약자로 두 호스트가 통신하기 이전에 별도의 세션을 맺지도 않고 패킷을 단순히 단방향으로 송출만 하는 방법이다. 대부분의 포트는 이 TCP 또는 UDP에 소속되어 있다. 예를들어 상대방의 응답이 필요한 FTP TCP의 일종이고, 상대방의 응답이 필요없는 SNMP UDP의 일종이다.

 

[– CCIE R&S에서 언급되는 웰논(well-known) 포트 넘버]

구분

이름

포트넘버

설명

TCP

ftp

21

File Transfer Protocol

ftp-data

20

File Transfer Protocol

http (www)

80

Hyper Text Transfer Protocol

https

443

HTTP over TLS/SSL

telnet

23

Telnet

ssh

22

Secure SHell

bgp

179

BGP

UDP

bootpc

68

Bootstrap Protocol (BOOTP) client

Bootps

68

Bootstrap Protocol (BOOTP) server

snmp

161

Simple network Management Protocol

snmptrap

162

SNMP Traps

syslog

514

System Logger

tftp

69

Trivial File Transfer Protocol


 

 

4) access-list 설정

 

엑세스 리스트는 위에서도 언급했듯이 관심 트래픽의 정의로 해석하면 된다. 사실 엑세스 리스트만 만들어서는 아무런 효과를 볼 수 없다. 각종 정책을 위한 엑세스 그룹, 엑세스 클래스, 디스트리뷰트 리스트등과 연계되어야만 그 기능을 발휘하기 시작하는 것이다.

 

엑세스 리스트와 그 활용 용도는 다음과 같이 구분할 수 있다. 참고로 맥 엑세스 리스트(mac access-list)와 특수 용도로 정의된 익스텐디드 엑세스(extended access-list) 리스트의 부분들은 여기서 제외하기로 한다.

 

[엑세스 리스트와 용도]

구분

종류

범위

비고

IP

Standard

1~99

 

Extended

100~199

 

Named

Name

IOS 11.2 이상

IPX

Standard

800~899

 

Extended

900~999

 

SAP filters

1000~1099

 

Named

Name

Cisco 11.2F 이상

CCIE R&S 과정에서는 IP기반의 access-list만 다룬다.

 

 

 

그럼 엑세스 리스트에 대해서 알아보자.

 

Standard access-list

 

먼저 일반 엑세스 리스트를 살펴보자. 엑세스 리스트는 네임드 엑세스 리스트와 구분하기 위해 넘버드 엑세스 리스트라고도 불리운다. 여기는 스텐다드(standard) 엑세스 리스트와 익스텐디드(extended) 엑세스 리스트가 존재한다. 엑세스 리스트의 그룹은 숫자로 정의가 되며, 스텐다드 엑세스리스트는 1에서 99 사이의 임의의 숫자를, 익스텐디드 엑세스 리스트는 100에서 199 사이에서 임의의 숫자를 사용하면 된다.

 

스텐다드 엑세스 리스트는 단순히 라우터로 유입되는 패킷의 SIP(source IP) , 송신지 IP 주소만을 정의한다. 일반적으로 라우터의 인바운드(inbound) 정책에서 대부분 사용되어진다. 익스텐디드 억세스 리스트는 SIP 뿐만 아니라, DIP(destination IP)도 통제할 수 있다. 게다가 S-PORT(source port) D-PORT(destination port)도 정의할 수 있다.

 

[넘버드 엑세스 리스트 설정]

구분

명령어

standard

access-list number [permit | deny] network wildmask

extended

access-list number [permit | deny] [ip|tcp|udp|igmp…] SIP wildmask S-PORT DIP wildmask D-PORT

 

엑세스 리스트를 ‘access-group’과 함께 사용하여 패킷을 필터링 할 경우, 그 설정 인터페이스의 위치가 대단히 중요하다. 왜냐하면 엑세스 리스트를 설정하게 되면 해당 인터페이스에서 송신 또는 수신되는 모든 패킷을 검사하기 때문에 CPU와 같은 시스템 리소스를 상당히 소모하게 되기 때문이다.

 

일반적으로 스텐다드 엑세스 리스트는 패킷의 데이스네이션(목적지)에 가까운 라우터에서  설정하는 것이 유리하고, 익스텐디드 엑세스 리스트는 패킷의 소스(발신지)에 가까운 라우터에서 설정하는 것이 유리하다. 절대적으로는 정의할 수 없지만, 중요한 것은 가장 효율적인 위치에 있는 라우터에서 설정해야 한다.

 

예를 들어 스텐다드 엑세스 리스트의 경우를 확인해 보자. R1f0/0으로 들어오는 패킷중에 SIP199.172.1.0/24에 대해서만 필터링을 걸어 보도록 한다.

 

[스텐다드 엑세스 리스트 설정]

구분

명령어

R1

access-list 1 deny 199.172.1.0 0 0.0.0.255

access-list 1 permit any

!

interface fastethernet 0/0

 ip access-group 1 in

 

반드시 기억해야 할 부분은 엑세스 리스트를 설정하면 마지막 라인 다음에는 묵시적으로 모두 ‘deny all’로 동작한다. , 위의 경우 ‘access-list 1 deny 199.172.1.0 0.0.0.255’까지만 설정한다면, 결론적으로 f0/0으로는 어떠한 패킷도 들어올 수가 없게 된다.

 

 

 

Extended access-list

 

이번에는 익스텐디드 엑세스 리스트의 경우를 살펴보자. 유사하게, 이번에는 R1 f0/0으로 나가는 트래픽중에 DIP 199.172.1.1이고 포트가 FTP인 패킷만을 막아 보자.

 

[익스텐디드 엑세스 리스트 설정]

구분

명령어

R1

access-list 100 deny tcp any host 199.172.1.1 eq ftp

access-list 100 deny tcp any host 199.172.1.1 eq ftp-data

access-list 100 permit ip any any

또는

access-list 100 deny tcp any 199.172.1.1 0.0.0.0 eq 20

access-list 100 deny tcp any 199.172.1.1 0.0.0.0 eq 21

access-list 100 permit ip any any

!

interface fastethernet 0/0

 ip access-group 100 out

 

먼저 SIP S-PORT는 지정되지 않았으므로 any로 처리한다. FTP는 세션의 20번과 데이터의 21번으로 구성되는데, 위의 경우처럼 번호가 아닌 이름으로 설정도 가능하다. FTP TCP의 일종이므로 반드시 TCP라고 표기해 준다. 이번에도 마지막줄에는 ‘permit ip any any’를 선언하여 FTP를 제외한 모든 트래픽을 허용해 주도록 하였다.

 

설정에 대한 확인은 ‘show run’에서 가능하며, 엑세스 리스트에 의해 매칭(허용 또는 차단)된 카운트는 ‘show access-list number’로 확인이 가능하다.

 

[엑세스 리스트 카운트 내역]

구분

명령어

R1

R1#show access-lists 100

Extended IP access list 100

    10 deny tcp any host 199.172.1.1 eq ftp

    20 deny tcp any host 199.172.1.1 eq ftp-data

    30 permit ip any any (3 matches)

 

 

 

Named access-list

 

위에서 언급한 넘버드 엑세스 리스트의 단점은 세가지이다. 첫번째는 엑세스 리스트의 이름이 반드시 주어진 숫자내에서 설정되어야 한다는 점이다. 스텐다드 엑세스 리스트의 경우는 1~99 사이의 숫자만 사용해야 하고, 익스텐디디 엑세스 리스트는 100에서 199 사이의 숫자만 사용해야 한다.

 

두번째는 라인 단위의 편집이 상당히 불편하다는 점이다. 물론 라우터 내부적으로 엑세스 리스트를 편집하기 위한 기능을 제공하지만, 기존 라인을 제거하거나 새로운 라인을 추가하거나 어렵다. 이런 사유로 엑세스 리스트의 편집은 윈도우의 메모장 기능등을 활용하여 전체 삭제 후 신규 추가의 방식으로 사용된다.

 

세번째는 같은 명령어를 계속해서 반목해서 입력해야 한다는 점이다. 사실 엑세스 리스트를 보면 ‘permit’ 또는 ‘deny’ 앞의 문구는 항상 동일한데도 각 라인별로 반복 입력을 해야 한다는 불편함이 있다.

 

이런 단점을 극복하기 위해 제시된 것이 바로 네임드 엑세스 리스트이다. 네임드 엑세스리스트의 장점은 첫번째로 숫자가 아닌 이름을 줄 수 있기 때문에 사실상 무한의 경우의 수로 생성이 가능하다. 두번째로 각 라인별로 시퀀스 넘버(sequence number)가 주어지기 때문에 편집이 무척 간편하다. 세번째로 계층적 구조이기 때문에 반복되는 문구의 사용이 줄어든다. 명령어도 기존의 엑세스 리스트와 상당히 유사하여 ‘ip access-list’로 선언해 주면 된다. 또한 스텐다드와 익스텐디드 방식을 모두 지원한다.

 

[네임드 엑세스 리스트 설정]

구분

명령어

standard

ip access-list standard name

[permit | deny] network wildmask

extended

ip access-list extended name

[permit | deny] SIP wildmask S-PORT DIP wildmask D-PORT

 

위의 넘버드 엑세스 리스트에서 설정한 예제 그대로 네임드 엑세스 리스트를 설정해 보자.

 

[네임드 스텐다드 엑세스 리스트 설정]

구분

명령어

R1

ip access-list standard NAMED-STD-ACL

deny 199.172.1.0 0 0.0.0.255

permit any

!

interface fastethernet 0/0

 ip access-group NAMED-STD-ACL in

 

마찬가지로 이번에는 네임드 익스텐디드 엑세스 리스트를 설정해 보자.

 

[네임드 익스텐디드 엑세스 리스트 설정]

구분

명령어

R1

ip access-list extended NAMED-EXT-ACL

 deny tcp any host 199.172.1.1 eq ftp

deny tcp any host 199.172.1.1 eq ftp-data

permit ip any any

또는

ip access-list extended NAMED-EXT-ACL

deny tcp any 199.172.1.1 0.0.0.0 eq 20

deny tcp any 199.172.1.1 0.0.0.0 eq 21

permit ip any any

!

interface fastethernet 0/0

 ip access-group NAMED-EXT-ACL out

 

설정에 대한 확인은 ‘show run’에서 가능하며, 엑세스 리스트에 의해 매칭(허용 또는 차단)된 카운트는 ‘show access-list name’ 또는 ‘show ip access-list name’으로 확인이 가능하다.

 

[엑세스 리스트 카운트 내역]

구분

명령어

R1

R1#show ip access-lists NAMED-EXT-ACL

Extended IP access list NAMED-EXT-ACL

    10 deny tcp any host 199.172.1.1 eq ftp

    20 deny tcp any host 199.172.1.1 eq ftp-data

    30 permit ip any any (1 matches)

 

편집은 앞서 설명했듯이 시퀀스 넘버를 이용하면 된다. 예를 들어 두번째와 세번째 라인 사이에 새로운 정책을 적용해 보자. 이번에는 199.172.1.1로 가는 http 패킷도 차단하여 보자.  새로 추가되는 라인을 20번과 30번 사이에 넣기 위해 시퀀스 넘버를 25로 설정하고 설정 결과를 확인해 보자. 참고로 시퀀스 넘버는 ‘show run’상에서는 나타나지 않는다.

 

[네임드 익스텐디드 엑세스 리스트 설정]

구분

명령어

R1

ip access-list extended NAMED-EXT-ACL

 25 deny tcp any host 199.172.1.1 eq www

 exit

end

!

! 결과 확인

Extended IP access list NAMED-EXT-ACL

    10 deny tcp any host 199.172.1.1 eq ftp

    20 deny tcp any host 199.172.1.1 eq ftp-data

    25 deny tcp any host 199.172.1.1 eq www

    30 permit ip any any

 

 

 

TCP/IP 패킷에서 access-list 적용 범위

일반 TCP/IP 패킷은 L2 헤더뒤로 L3 패킷이 인캡슐레이션 되어 있다. L3 패킷에는 데시티네이션 IP, 소스 IP, 프로토콜(포트)가 순서대로 저장되어 있다. Standard access-list의 경우에는 패킷의 첫구문 즉, 소스 IP만 해석하면 되기 때문에 시스템 부하가 적고 처리시간이 보다 더 빠를 수 있다.

 

Extended access-list의 경우에는 소스 IP 뿐만 아니라 데스트네이션 IP와 포트 부분까지 인캡슐레이션 된 부분을 해석해야 하기 때문에 standard access-list보다 시스템 부하가 많고 처리시간이 상대적을 늦다. 결국 필터링 정책상 소스 IP만을 사용하여 필터링이 가능하다면 당연히 standard access-list를 사용해야 한다.

 

뒤에서 언급할 distribute-list의 경우에는 트래픽 필터링의 목적이 아닌 라우트 업데이트에대한 필터의 역할로 사용되므로, 일반적으로 standard access-list를 사용한다. 물론 특정 prefix 단위로의 필터링을 위해서는 extended access-list를 사용하기도 하는데 이 부분은 CCIE R&S 시험에서 자주 출제된다.

 

[– TCP/IP 패킷에서 access-list 적용 범위]

출처 : ICND (Cisco)

 

 

 

access-list 적용 순서

엑세스 리스트는 기본적으로 설정한 순서대로 적용된다. , 여러 라인으로 구성된 엑세스 리스트를 적용하면 첫줄부터 순서대로 처리하기 시작한다. 라우터로 유입(inbound)된 또는 유출(outbound)될 패킷의 IP나 포트 등을 점검하여 만약 access-list에 정의된 내용과 매치하면 동일 구문에 정의된 대로 패킷의 송수신을 허용(permit) 또는 거부(deny) 한다.

 

만약에 처리 대상이 되는 패킷이 엑세스 리스트의 첫라인에 매치되지 않는다면 그 다음 엑세스 리스트 라인으로 전달하게 되고, 여기서 다시 매치되지 않는다면 계속 하단의 라인으로 매치될 때까지 전달한다. 최종적으로 매치 되지 않는다면 묵시적으로 거부(deny)로 처리하여 해당 패킷을 파기한다.

 

[그림 – access-list 적용순서]

출처 : ICND (Cisco)

 

 


5) prefix-list 설정

 

프리픽스 리스트는 일반적으로 스탄다드 엑세스 리스트와 유사하다. , SIP만을 인식할 수있다. 그런데 엑세스 리스트와 다른점은 프리픽스 리스트는 ‘access-group’ 처럼 일반 트래픽에 대한 필터링은 불가능하며, 오직 라우트 업데이트에 대한 필터링 기능만 제공되어 진다. 그럼 프리픽스 리스트 설정 방법을 확인해 보자.

 

[프리픽스 리스트 설정]

구분

명령어

R4

ip prefix-list name [permit | deny] seq seq-number network/prefix

 

엑세스 리스트와 비교하였을 때 프리픽스 리스트의 장점은 세가지이다. 첫번째는 라인 단위의 편집이 편하다. 프리픽스 리스트는 라인 단위로 시퀀스 넘버를 갖고 있고, 별도로 관리자가 시퀀스 넘버를 지정하지 않더라도 5의 배수 단위로 자동적으로 설정이 된다. 두번째는 PREFIX , 서브넷 단위에 대한 필터링이 엑세스 리스트보다 수월하다. 세번째는 차별화된 기능인데, 엑세스 리스트처럼 임의의 호스트나 서브넷 단위의 레인지(range) 개념의 필터링도 가능하지만, 서브넷 문구 그 자체에 대한 필터링도 가능하다.

 

 

 

ⓐ 프리픽스 리스트 설정

 

앞서 설명했듯이 프리픽스 리스트는 일반 트래픽에 대한 필터링이 아닌 라우트 업데이트에 대한 필터링 기능을 제공한다. R1 R4 f0/0으로 연동되었다고 가정할 경우, R4 OSPF를 통해 R1에게 199.172.1.0/24에 대한 라우트 업데이트를 하지 않고 나머지 라우트 업데이트만 하도록 프리픽스 리스트를 설정해 보자.

 

[프리픽스 리스트 예제]

구분

명령어

R4

ip prefix-list PREFIX-SAMPLE seq 5 deny 199.172.1.0/24

ip prefix-list PREFIX-SAMPLE seq 10 permit 0.0.0.0/0 le 32

 

만약에 첫번째와 두번째 라인 사이에 새로운 라인을 편집해야 된다면 어떻게 해야 될까? 그리고 삭제해야 된다면 어떻게 해야 될까? 시퀀스 넘버를 이용하여 추가하고, 해당 라인만 ‘no’ 명령어로 삭제도 가능하다. 그럼 199.172.2.0/24 199.172.3.0/24를 디나이 하는 라인을 추가해 보자. 그후에 199.172.2.0/24를 제거해 보자.

 

[프리픽스 리스트 예제]

구분

명령어

R4

! 추가

ip prefix-list PREFIX-SAMPLE seq 6 deny 199.172.2.0/24

ip prefix-list PREFIX-SAMPLE seq 7 deny 199.172.3.0/24

!

! 삭제

no ip prefix-list PREFIX-SAMPLE seq 6 deny 199.172.2.0/24

 

확인은 ‘show run’ 또는 ‘show ip prefix-list name명령어를 사용하여 가능하다.

 

[프리픽스 리스트 리스트 확인]

구분

명령어

R4

R4#show ip prefix-list PREFIX-SAMPLE

ip prefix-list PREFIX-SAMPLE: 3 entries

   seq 5 deny 199.172.1.0/24 le 32

   seq 7 deny 199.172.3.0/24

   seq 10 permit 0.0.0.0/0 le 32

 

 

 

ⓑ 프리픽스 리스트 옵션

 

기억해야 할 점은 엑세스 리스트는 레인지(range) , 서브넷 범위 단위로 적용이 된다. 프리픽스 리스트는 앞서도 언급했지만 서브넷 단위가 아닌 특정 문구 그 자체만 해당이 된다. 예를 들어 보자. 만약 라우터로 OSPF를 통해 네트웍 1.1.1.0/24에 대한 경로 정보가 유입되고 있다고 하자. 이 경로를 필터링 하려면 엑세스 리스트와 프리픽스 리스트의 두가지 방법이 가능하다.

 

[엑세스 리스트 vs 프리픽스 리스트 설정]

구분

명령어

access-list

access-list 1 permit 1.1.1.0 0.0.0.255

prefix-list

ip prefix-list PREFIX-1 seq 5 permit 1.1.1.0/24

 

만약 OSPF를 통한 네트웍 업데이트가 1.1.1.0/24만이라면 엑세스 리스트와 프리픽스 리스트가 둘다 동일하게 동작한다. 만약에 1.1.1.0/25 1.1.1.128/25 두개의 업데이트가 들어온다면 어떻게 될까? 엑세스 리스트의 경우에는 어차피 1.1.1.0/24에 포함되는 네트웍이므로 정상적으로 차단한다. 그러나 프리픽스 리스트는 앞서 설명했듯이, 문구 그 자체라는 의미이므로 두 네트웍을 허용해 버린다.

 

프리픽스 리스트에서 서브넷에 대해 레인지(range) , 범위 개념을 사용하려면 반드시 ‘le’‘ge’ 옵션을 사용해야 한다. 먼저 ‘ge’‘Great & Equal’을 의미하며 말 그대로 크거나 같다는 의미이다. 만약 ‘ge 24’를 선언한다면 24bit에서 32bit 이내의 모든 서브넷을 의미한다. 그리고 ‘le’‘Less or Equal’을 의미하며 말 그대로 작거나 같다는 의미이다. 만약 ‘le 24’로 설정한다면 0bit에서 24bit까지를 의미한다.

 

오직 24bit를 의미하려면 ‘ge 24 le 24’라고 기재하면 된다. 예로 프리픽스 리스트로‘2.2.0.0/16 ge 24 le 24’로 선언한다면, 2.2.0.0/16 이내에 있는 라우팅 테이블중에, 오직 24bit들의 테이블만이 매칭된다. 참고로 당연한 이야기 이지만 선언된 서브넷보다 더 높은 더 높은 숫자(프리픽스)‘le’‘ge’ 옵션뒤에 사용할 수는 없다.

 

[프리픽스 리스트 설정 불가]

구분

명령어

R4

R4(config)#ip prefix-list PREFIX24 permit 3.3.3.0/25 le 24

% Invalid prefix range for 3.3.3.0/25, make sure: len < ge-value <= le-value

R4(config)#ip prefix-list PREFIX24 permit 3.3.3.0/25 ge 24

% Invalid prefix range for 3.3.3.0/25, make sure: len < ge-value <= le-value

 

위에서 보여지듯이 3.3.3.0/25에서 선언된 24bit의 서브넷 보다 옵션의 24bit 서브넷이 더 크므로 설정시 에러가 발생한다.

 

[인터레스팅 트래픽의 정의]

참고로 엑세스 리스트나 프리픽스 리스트에서 deny가 아닌 permit 구문이 와야 되는 이유는, access-group를 제외하고는 엑세스 리스트 등을 사용하는 이유가 패킷의 차단이나 허용이 아닌, ‘관심 트래픽(interesting traffic)의 정의라는 개념이기 때문이다. , permit을 선언한다는 것은 여기서 정의된 IP나 서브넷에 대해서 향후에 정책을 적용하겠다라는 의미이다. 그래서 라우팅 업데이트에 대한 deny, permit 여부는 distribute-list 같은 정책에서 결정이 된다.

 

 

 

[copy right by CrazyWoo(우명하); woomha@naver.com]


Title
List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 How To Install GNS3 on Ubuntu 10.04 LTS Hojung 2011.04.25 5629
50 Cisco SPAN Hojung 2013.04.17 1861
49 f/r setting on main interface Hojung 2011.05.03 1973
48 Reset configuration in router/switch Hojung 2011.05.03 2212
47 Basic Configuration (password, domain-lookup, hostname, timeout) Hojung 2011.05.03 2744
46 [Crazy4CCIE-R&S편]VII.Security Hojung 2011.04.27 4575
45 [Crazy4CCIE-R&S편]VI. IP QoS (완료) Hojung 2011.04.27 8309
44 [Crazy4CCIE-R&S편]V.IP Multicast (완료) Hojung 2011.04.27 7747
43 [Crazy4CCIE R&S편]번외편 - 다이나밉스 운영 환경 최적화 Hojung 2011.04.27 4657
42 [Crazy4CCIE-R&S편]IV.IP and IOS Feature (완료) Hojung 2011.04.27 5802
41 [Crazy4CCIE-R&S편]II.IGP(9-IPv6-(3)-OSPFv3) Hojung 2011.04.27 4388
40 [Crazy4CCIE-R&S편]II.IGP(9-IPv6-(2)-RIPng) Hojung 2011.04.27 3091
39 [Crazy4CCIE-R&S편]II.IGP(9-IPv6-(1)-Concept) Hojung 2011.04.27 2949
38 [Crazy4CCIE-R&S편]II.IGP(8-Redistribute(재분배)-(3)-Red&Filter) Hojung 2011.04.27 2496
37 [Crazy4CCIE-R&S편]II.IGP(8-Redistribute(재분배)-(2)-Red&Metric) Hojung 2011.04.27 4571
36 [Crazy4CCIE-R&S편]II.IGP(8-Redistribute(재분배)-(1)-Concept) Hojung 2011.04.27 6428
35 [Crazy4CCIE-R&S편]II.IGP(7-Distribute-(3)-distribute-list-설정) Hojung 2011.04.27 3305
34 [Crazy4CCIE-R&S편]II.IGP(7-Distribute-(2)-labconfig) Hojung 2011.04.27 2209
33 [Crazy4CCIE-R&S편]II.IGP(7-Distribute-(1)-concept Hojung 2011.04.27 2070
» [Crazy4CCIE-R&S편]II.IGP(6-Filtering-(1~5)access-list&prefix-list Hojung 2011.04.27 3492
31 [Crazy4CCIE-R&S편]II.IGP(5-EIGRP-(5)-Authentication) Hojung 2011.04.27 2486
Board Pagination ‹ Prev 1 2 3 Next ›
/ 3

Designed by sketchbooks.co.kr / sketchbook5 board skin

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5