✔ Filtering
◾ Filtering?
- 라우팅 프로토콜은 메트릭, AD, 컨버전스 시간, 서브넷 정보 전송 여부 등이 서로 다름
- 그렇기 때문에 재분배 후 적절한 조정이 이루어지지 않으면 라우팅 루프, Flapping, Black-hole 등이 발생될 수 있고, 최적이 아닌 경로가 선택될 수 있음
- 라우팅 정보를 업데이트 시키는 과정에서 필요하지 않은 경로 정보를 차단하거나, 재분배 시 일부 네트워크 경로의 옵션을 변경시키고 싶은 경우 Filtering 사용
- 경로 필터링을 위해 Distribute-list와 Route-Map을 사용할 수 있고, 필터링을 적용시킬 네트워크 주소 범위 지정은 Access-list 또는 Prefix-list를 사용함
▪️ Prefix-list
- Standard 필터링만 설정 가능
- Named 방식으로만 이름 지정
- 네트워크 범위를 Prefix-length로 지정
- 특정 Prefix-length 뿐만 아니라 ge, le를 사용해 범위로 지정 가능
- ACL에 비해 직관적인 범위 지정으로 장비의 성능 향상
- 대소문자 구분함
- ge나 le 옵션이 없으면, 여기서 명시하는 서브넷 마스크를 가진 네트워크만 지정
- prefix-list도 마지막에는 항상 'deny 0.0.0.0/0 le 32' 즉, '나머지 모든 네트워크는 차단'이라는 묵시적 문장 존재
- 특별히 번호를 부여하지 않으면 자동으로 처음 문장은 5번, 이후로는 10, 15, 20 으로 증가
- 기존에 만들어진 리스트의 특정한 문장 사이에 새로운 것을 위치시키려면 seq 옵션 사용
Router(config)# ip prefix-list [리스트 이름] (seq 번호) [permit | deny] [네트워크 대역/prefix]
ex) 0.0.0.0/0 : 디폴트 루트
ex) 0.0.0.0/0 le 32 : 모든 네트워크
ex) 0.0.0.0/0 ge 8 le 24 : 서브넷 마스크 길이가 8 이상 24 이하인 모든 네트워크
ex) 1.1.2.0/24 : 1.1.2.0/24 네트워크만
ex) 1.1.0.0/16 ge 25 : 1.1/16 네트워크 중 서브넷 마스크 길이가 25비트 이상인 네트워크
ex) 1.1.0.0/16 le 24 : 1.1/16 네트워크 중 서브넷 마스크 길이가 24비트 이하인 네트워크
ex) 1.1.0.0/16 ge 24 le 24 : 1.1/16 네트워크 중 서브넷 마스크 길이가 정확히 24비트인 네트워크
▪️ Distribute-list
- 특정 라우팅 프로토콜에서 광고하는 주소를 필터링 할 수 있으며, 필터링 할 네트워크의 설정은 ACL 또는 Prefix-list를 사용함
1. ACL로 네트워크 범위 설정 시
Router(config)# ip access-list standard [ACL 이름]
Router(config-std-nacl)# permit [네트워크 주소] [와일드카드 마스크]
Router(config)# router [RIP, EIGRP, OSPF]
Router(config-router)# distribute-list [ACL 이름] [out | in] [인터페이스]
2. Prefix-list로 네트워크 범위 설정 시
Router(config)# ip prefix-list [prefix-list 이름] [permit | deny] [네트워크 주소/프리픽스]
Router(config)# router [RIP | EIGRP | OSPF]
Router(config-router)# distribute-list prefix [prefix-list 이름] [out | in] [인터페이스]
※ RIP, EIGRP 등과 달리 OSPF에서는 라우팅 정보를 인터페이스에서 송신할 때에는 차단할 수 없음
즉, OSPF에선 out을 사용하지 못함
▪️ Route-Map
- 패킷의 통신을 허용/거부 하거나, 광고 정보 중 내용을 제거할지 말지를 결정하는 필터링 기능 외에도 많은 설정 기능을 할 수 있음
- 전달되는 정보 중 일부분만 메트릭을 변경하거나, 출발지에 따라 전달될 Next-hop의 주소를 변경하는 등의 다양한 정책을 세울 수 있음
- Route-Map은 모든 문장 번호가 10 이므로 두번째 문장부터는 직접 번호를 지정해주어야 함
- ACL, prefix-list 처럼 맨 마지막 문장도 묵시적으로 '나머지는 모두 차단'
- deny, permit 등을 지정하지 않으면 기본 값은 permit 10
- match나 set 문장 중 하나가 없거나 모두 없는 루트맵을 사용할 수 있
▫️ Route-Map이 사용되는 경우
- 재분배 중에 경로 필터링
- PBR(정책기반라우팅) 설정
- BGP 정책 설정
▫️ 설정 방법
1. Route-map의 이름 및 실행 순서 정의
- Route-map의 이름이 같은 여러 정책들은 동일한 list로 인식
- Sequence number가 낮은 것 부터 실행
Router(config)# route-map [Route-Map 이름] [permit | deny] [sequence number]
2. 필터링 할 주소의 정의
- 조건을 수행할 네트워크의 범위를 ACL 등으로 미리 지정
Router(config)# access-list 10 permit [네트워크] [와일드마스크]
Router(config-route-map)# match ip address [ACL 번호]
3. 다양한 옵션 설정
- 원하는 옵션을 set 명령어를 사용하여 지정
Router(config-route-map)# set metric 500 // 지정된 네트워크 주소들의 매트릭을 500으로 변경
Router(config-route-map)# set ip next-hop 5.5.5.1 // 패킷 전달 방향을 원하는 next-hop으로 변경
◾ PBR(Policy Based Routing)
- 정책 변경에 대한 라우팅 기법
- PBR 정책에 따라서 라우팅 경로 / 트래픽을 임의로 변경해야 될 필요성이 생겼을 때
- 특정 자원에 대한 패킷 크기를 임의로 줄여서 drop 시키거나, 특정 네트워크를 그룹의 라우팅 경로를 임의로 변경시키거나, 특정 네트워크 그룹에 대한 QOS를 적용하기 전에 Priority를 바꾸는 방법에도 사용 가능
- PBR 정책을 기반으로 라우팅을 사용하기 위해서는 먼저 Route-Map을 선언하고 그 이후에 회선에 적용 실시
→ 소스에 따라 라우팅 경로를 다르게 설정하는 라우팅 방식
▫ 설정 방법
1) 소스 지정 - 어떤 아이를 PBR에 적용시킬지 설정
Router(config)# access-list [번호] permit ip 192.168.10.0 0.0.0.255 192.168.31.0 0.0.0.255
2) Route-Map 이름 지정
Router(config)# route-map PBR permit [라우트 맵 번호] // <0-65535>
3) 소스 적용
Router(config-router-map)# match ip address [ACL 번호]
4) 동작 적용
Router(config-route-map)# set ip next-hop [넥스트 홉 IP 주소]
5) Route-Map 적용
Router(config)# int [출발지를 알고있는 인터페이스]
Router(config-if)# ip policy route-map PBR
6) 확인
Router# show ip policy
Router# show route-map PBR
'Network > Router' 카테고리의 다른 글
GRE Tunneling & IPSec VPN (0) | 2024.10.16 |
---|---|
FHRP | HSRP, VRRP, GLBP (0) | 2024.10.14 |
Dynamic Routing (0) | 2024.10.12 |
NAT (0) | 2024.09.12 |
Access List (0) | 2024.08.20 |