[CISCO 보안 아카데미 1기 Part.2] 5일차 정리(EIGRP, Neighbor, Query, Redistribution, Route-map, PBR)

Jin_Hahha·2024년 8월 29일
0
post-thumbnail

EIGRP (Enhanced Interior Gateway Routing Protocol)

개념

  • 엔터프라이즈 단위 네트워크에서 자주 볼 수 있는 심화 버전의 Distance vector 라우팅 프로토콜
  • Unequal Load-Balancing을 할 수 있음

Autonomous System

  • BGP에서 주로 사용됨
  • EIGRP는 BGP의 AS 개념만 갖고 옴(실제 Autonomous System은 아님)
  • 하나의 프로세스 내에서 다양한 프로토콜을 지원할 수 있음
  • AS 부분에 naming 가능
router eigrp ICT
  • address family는 주소체계 개념
    • OSPFv1, v2에서는 IPv4만 지원했지만, v3는 IPv6까지 지원

Feasible Successor

  • Successor는 최적의 라우팅으로 목적지까지 가기 위한 next-hop router
  • Feasible Successor는 Successor를 백업하는 목적지까지 가기 위한 next-hop router

Feasible Distance

  • AD(Advertised Distance), 이웃 라우터로부터 목적지까지 거리
  • Feasible Distance는 FD로 표기, AD를 포함한 목적지까지 거리
  • RD, Reported Distance
    • AD를 포함한 출발지에서 목적지까지의 최적 Metric

Configuration Mode

EIGRP Named Mode

  • Address Family

    • EIGRP AS와 연관된 세팅이 포함된 submode
    • 네트워크 인터페이스 선택, EIGRP K 상수, logging 세팅, stub 세팅 등
  • Interface

    • 인터페이스와 연관된 세팅이 포함됨
    • hello 홍보 주기, split-horizon, 인증, 라우팅 경로 자동 요약 등

sh ip eigrp int

  • 어느 인터페이스가 eigrp 선언되었는가
  • peers (neighbor가 얼마나 맺어져 있는가)
  • SRTT (Smooth Round Trip Time)

EIGRP Router-ID

  • RID는 동적으로 설정될 수 있음
  • 동적 할당으로는 모든 루프백 인터페이스에 설정된 주소 중 가장 높은 IPv4 주소
  • 루프백이 없으면 Active 상태의 인터페이스 중 가장 높은 IPv4 주소
  • RID는 EIGRP 구동이 초기화 될 때마다 바뀜
  • EIGRP에서 Router-ID는 그리 중요하지 않음(사용하지 않는 것은 아님)

Passive Interface

  • OSPF는 Passive를 주고 neighbor 명령어를 주든 neighbor 명령어를 주고 Passive를 주든 neighbor가 맺어짐
  • EIGRP는 Passive를 주어야 Unicast로 통신할 수 있음
passive-interface default
  • 모든 인터페이스에 passive를 걸어놓고 필요한 인터페이스만 열어서 사용하겠다는 의미

EIGRP Path Metric Calculation

EIGRP Unequal Load Balancing

variance

  • variance를 2로 줬을 때, Feasible Distance x variance 값보다 작을 경우 Load-Balance 실행
  • 해당 과정은 Successor가 아닌 Feasible Successor에서만 일어나는 과정

Advanced EIGRP

Dead Interval

  • OSPF는 웬만해서는 바꾸지 않음

Query

  • Feasible Successor가 없는 네트워크 상에서 Successor가 Down 되면, 주변에 새로운 경로가 있는가에 대한 Query 전송
  • 해당 과정은 Route Poisoning과 유사
  • Query를 받은 라우터는 바로 Query에 대한 ACK 전송 후, 주변 neighbor들에게 Query 전송
  • Query를 요청한 라우터는 Query Reply를 받을 때까지 대기 상태 돌입 (Active)
  • 해당 과정이 마지막 라우터(최하층 라우터)까지 진행될 경우(더이상 Query를 날릴 neighbor가 없는 라우터가 Query에 대한 Reply를 보냈을 경우), Query 과정이 전부 끝났다고 볼 수 있음
  • 모든 경로로 Query를 보낸 후 하나의 경로에서라도 Reply가 오지 않으면 계속 Active 상태 지속

Stuck in Active

  • Query Reply가 오지 않을 경우 무한히 대기 상태를 지속할 수 없으므로, EIGRP 프로토콜에서 자체적으로 걸어둔 제한 시간
  • 3분 안에 Query에 대한 응답이 오지 않으면 이상이 발생한 것으로 간주하여 neighbor 관계 해제
  • 이때 Stuck in Active Time (180seconds)의 절반에 해당하는 시간, (90 seconds)에 Stuck in Active Query를 전송
  • Stuck in Active Query는 Query를 받은 라우터 본인이 Reply를 보내지 못하는 건지, 그 뒤의 또 다른 라우터에서 Reply를 보내지 않아 Active 상태에 들어가 있는 건지 파악하기 위한 질문

퀴즈

Neighbor

  • 트라이앵글 구조에서 서브넷이 다른 두 라우터 사이의 Neighbor 관계가 Up/Down 상태를 반복하는 이유
    • 라우팅 업데이트 정보를 전달했으나 건너편 라우터에서 ACK가 오지 않았거나 건너편 라우터에서 전송은 했지만 전달이 되지 않은 경우 해당 현상 발생
    • 그 상태로 16번 통신 실패할 경우 neighbor 관계 해제
    • 이후 다시 hello packet 통신으로 neighbor 관계 연결

예상

  • EIGRP의 인접성 조건에는 K 상수 값이 같고 EIGRP AS 번호가 같아야 한다는 조건이 있음
  • 해당 이유로 neighbor까지는 맺어지지만, 서브넷이 다른 두 라우터 사이의 데이터 송수신은 불가능하기 때문에 실질적인 패킷 전송은 이루어지지 않고 neighbor 관계만 맺어졌다 끊어지기를 반복

정답

  • 24비트와 25비트 주소를 지닌 라우터는 각각 위에 있는 라우터를 통해 서로의 경로를 홍보
  • /24가 /25와 hello packet을 통해 neighbor 관계를 맺고 난 이후 업데이트 패킷을 전달할 때, longest prefix match 규칙으로 인해 /24와 /25의 통신 경로는 상단 라우터를 거치게 될 것
  • 업데이트 패킷의 TTL 값은 기본 1이므로 서로의 라우터까지 업데이트 패킷 전송이 이루어지지 않고, Unreachable 메시지만 반환
  • 이렇게 16회의 통신 실패가 발생하게 되면, neighbor 관계 해제
  • 이후 첫 순서부터 재반복
  • 해당 과정으로 인해 neighbor 관계 Up/Down이 반복됨

Query

  • Square 구조와 Triangle 구조에서 Query 동작 방식의 차이

예상

  • Square 구조에서 Query가 동작할 때, 라우터가 Active 상태로 있는 시간이 Triangle 구조에서보다 Square 구조에서 더 짧을 것으로 예상
  • Query를 전송하는 경로의 수와 받아야 하는 Query Reply의 수가 Square에서 더 적기 때문에 더 빠른 Query 과정이 이루어질 것

정답

  • Triangle 구조에서 Query 동작 방식은 이미 특정 경로에 대해 로드 밸런싱이 동작하고 있기 때문에 굳이 나머지 하위 라우터로 Query를 전송할 필요 없이 상위 라우터에서 Query 과정이 끝남
  • Square 구조에서 Query 동작은 각 라우터에 대한 Feasible Successor를 효율적인 경로로 설정하지 않으면 모든 하위 라우터로 Query가 전송되기 때문에 전체 Query 과정 순환이 오래 걸리게 됨
  • 결론적으로 Triangle 구조는 Feasible Successor에 대한 설정에 크게 영향을 받지 않지만, Square 구조에서 Feasible Successor 설정 값이 전체 통신 속도에 큰 영향을 미침

Route Summarization

  • 해당 토폴로지와 같이 계층적으로 Summarization 할 수 있는 구조를 Good Addressing Structure라고 함
  • Summary 한 라우팅 테이블에서 D(DUAL Algorithm)로 등록된 경로는 요약된 여러 경로들 중 가장 작은 Metric 값을 가진 경로의 Metric을 가져감

WAN Consideration

EIGRP Stub

  • Stub의 의미는 본인(라우터) 뒤로는 Neighbor가 더 없고, 본인이 해당 네트워크의 끝이므로 더 넘겨줄 업데이트 정보가 없다는 것을 의미
  • EIGRP Stub는 다른 EIGRP Peers로부터 온 다른 경로를 홍보하지 않음

  • EIGRP Stub를 설정할 때 주로 사용하는 옵션은 redistributed
  • 주로 같은 EIGRP AS를 사용하던 구역을 Stub로 나누어 다른 AS를 사용하는 EIGRP 구역과 재분배 하기 위해

Stub Site

  • 하위 라우터들이 WAN 너머의 네트워크에 대한 정보를 받거나 WAN 너머로 Network Prefix를 홍보하는 행위를 허용하는 기능

Redistribution

default-metric

  • 재분배를 실행할 때, 모든 경로에 대해 metric 값을 고정하는 명령어
  • 만약 재분배 명령어 입력 중 metric 관련 명령어를 추가하면?
    • default metric보다 재분배 명령어에서 설정한 metric 값이 우선순위 더 높음

route-map

  • route map에서도 metric 설정이 가능한데, 특정 route map 조건에 해당하면 route map에서 설정한 metric 값을 달고 외부로 홍보되고 그렇지 않으면 재분배 명령어에서 설정한 metric을 달고 외부에 홍보됨

route-map default setting

  • route-map을 생성할 때, permit/deny 옵션과 절차 번호를 작성하지 않으면 permit 10 옵션으로 생성됨
  • route map의 세로 순서로 작성된 match 조건은 AND 연산
    • 예를 들어
    match ip addr 10
    match ip addr 20
    • 위의 형태는 10번 ACL과 20번 ACL에 AND 연산으로 적합한 것들에 대해 match 검사를 진행
  • route map의 가로 순서로 작성된 match 조건은 OR 연산
    match ip addr 10, 20
    • 위의 형태는 10번과 20번에 대해 OR 연산을 진행하여 적합한 것들에 대해 match 검사 진행
    • route map match 조건에는 기본적으로 match any 설정이 들어있음

PBR

permit any

  • 패킷 Drop을 고려하여 permit any를 입력하는 경우가 많지만, permit any를 걸어두는 순간 CPU 사용량이 기하급수적으로 높아지고 원하지 않는 패킷이 이동하는 경우가 발생하기 때문에 웬만하면 permit any 설정은 입력하지 않음
  • 사실상 PBR은 임시로 사용하는 경우가 많고 평소에 사용하기엔 약간의 설정 변경으로도 큰 통신 장애가 발생할 수 있기 때문에 잘 사용하지 않음

Local PBR

  • 기본적으로 설정한 global PBR은 라우터 내부에서 발생한 패킷에 대해서는 정책 적용을 할 수 없음
  • 라우터에서 발생하는 패킷에 대해 PBR을 적용하기 위해 local PBR이라는 것을 설정해야 함
ip loacl policy route-map
  • 위의 명령어를 통해 Router 내부에서 생성된 패킷들도 PBR의 영향을 받도록 설정할 수 있음
  • Local PBR이 Global PBR보다 적용 우선순위가 높기 때문에, 패킷은 Local PBR에 대해 먼저 검사받고 다음으로 Global PBR의 검사를 받게 됨

0개의 댓글