[CISCO 보안 아카데미 1기] 31일차 정리 (PBR, NAT 실습, Tunneling 실습)

Jin_Hahha·2024년 8월 5일
0


PBR (Policy Based Routing)

ACL 기반의 라우팅 설정

  • 라우팅 프로토콜에서 송/수신하는 경로에 대한 필터링 수행
  • Distributed-list, 단일 라우팅 도메인 내에서 주로 사용

  • Route-map, 재분배 수행 시 주로 사용
  • Prefix-list 네트워크 필터링에 사용 / 라우팅 프로토콜에서 선언

실습

  • CML 기반으로 토폴로지를 구성하여 R1과 R3 사이에서 통신을 중계하는 R2에 정책을 넣었다가 빼면서 결과 확인

Distributed-list

  • 단일 라우팅 도메인 내에서 사용
  • 이는 하나의 라우팅 프로토콜을 사용하는 영역에서 사용된다는 의미
  • 예시에서는 R1에서 R3까지 전부 EIGRP 사용
  • 라우팅 테이블에 등록된 정보를 대상으로 Filtering 하기 때문에, 중간에서 중계하는 라우터의 라우팅 테이블 목록 자체에서 특정 filter 조건에 해당되는 경로를 표시하지 않음

Prefix-list

  • Distributed-list와 같이 네트워크 필터링 용도로 사용
  • Distributed-list와 다른 점은 라우팅 프로토콜 설정 과정에서 선언함
  • 특정 조건의 서브넷 마스크 길이를 가진 IP를 deny 또는 permit하여 라우팅 프로토콜에서 홍보할지 말지 결정

Route-map

  • 정책 기반 라우팅의 기초
  • ACL의 기준에 따라, 특정 IP에서 출발한 패킷을 Route-map을 통해 설정한 특정 경로로만 진행하도록 조정할 수 있는 기술

ACL 중요성

  • 모든 PBR의 근원지는 ACL로, ACL의 특성과 조건문 작성법, ACL의 동작 순서를 익히지 못하면 PBR이라는 개념을 아무리 학습하여도 완벽하게 이해했다고 할 수 없음

NAT(Network Address Translation)

개념

기본 구성

  • 토폴로지
    • NAT 라우터를 기준으로 사설 IP를 사용하는 구간은 Inside
    • NAT 라우터를 기준으로 공인 IP를 사용하는 구간은 Outside

  • 구성

static NAT

  • 사설 IP와 공인 IP가 1:1로 구성되는 NAT 형태
  • 특정 사설 IP에 하나의 공인 IP가 고정적으로 할당됨

Dynamic NAT

  • 사설 IP와 공인 IP가 1:1로 구성됨
  • Static과 다르게 사설 IP에 할당되는 공인 IP가 고정적으로 할당되지 않음
  • PC가 사용되지 않을 때, 사용 중이던 공인 IP는 반환하고 주소가 필요한 다른 PC에 공인 IP 할당

PAT (Port Address Translation)

  • 공인 IP 1개와 사설 IP 여럿을 맵핑
  • 공인 IP의 포트번호마다 사설 IP의 특정 포트에 맵핑

실습 (Packet Tracer NAT 문제 해결)

토폴로지

요구사항

  • 토폴로지 하단의 1~4번을 충족시켜야 함

문제 해결 과정에서 발견한 NAT의 특성

  • 주로 사용한 NAT 방법은 Static NAT로, 하나의 사설 IP를 하나의 공인 IP에 대응시켜 통신하는 방식을 사용하였음

    • 해당 기술을 통해 사설 IP 지대(inside)에 있는 기기의 IP를 외부 네트워크에서 사용할 수 있는 공인 IP(요구사항에 적합한 IP)와 1:1로 대응하여 공인 IP 영역(outside)에 있는 기기들 간 통신을 가능하게 하여 2번과 3번 문제 해결
  • 2번과 3번을 해결하며 4번이 충족되었는데, PC0과 Server0이 외부 네트워크 기기인 PC1로 Ping을 시도할 때 2번과 3번에서 설정한 값에 따라 자동으로 공인 IP로 변환되어 통신하기 때문에 4번은 자동 충족

  • 1번이 살짝 까다로웠음

    • 단순히 NAT로만 조건을 충족하기엔 한계가 명확했기에 다른 방법을 찾던 중 ACL 조건을 통해 http 서비스를 요청하는 packet을 막기로 함
    • 이후 외부 기기로부터 요청한 https 서비스가 성공하여 다시 외부 기기로 응답 패킷을 보낼 때, Server의 사설 IP 주소 + http 80 포트 서비스가 기록된 패킷을 R1에서 NAT를 통해 Server의 1:1 대응되는 공인 IP 주소 + https 8080 포트 서비스가 기록된 패킷으로 변환하여 응답 패킷을 무사히 전송할 수 있도록 NAT 설정
  • 1번을 해결하며, 패킷에 대한 ACL과 NAT의 적용 순서를 알 수 있었음

    • 본인은 R1에 들어오는 패킷 (Inbound Packet)을 검사하여 ACL 기준을 적용함으로써 NAT가 적용되기 전에 포트 번호에서 내부로 들어오는 패킷을 차단하였음
  • ACL을 통해 패킷을 먼저 검사한 이후, 주소 변환 작업에 들어간다는 것을 알 수 있었음 (단, 모든 경우에서 무조건 적용되는 것은 아님)

실습에서 R1에 적용한 config

  • 하단의 NAT 관련 설정에 주목
  • 특정 포트 Service를 다른 포트 Service로 변환할 수도 있다는 점
  • 위에서 나온 것처럼 ACL과 함께 사용하여 원하는 대로 패킷 전송 여부를 결정할 수 있음

Tunneling

개념

  • 특정 네트워크에서 사용하지 않는 프로토콜을 통해 데이터를 전송하는 방법
  • 실제로 많은 홉을 거쳐서 도착할 수 있는 목적지를 바로 다음 홉에 존재하는 것처럼 만들 수 있는 기술
  • 중간 네트워크에서 사용하지 않으면서 출발지와 목적지 기기에서 사용하는 프로토콜을 사용

실습

토폴로지

  • 기존의 ACL 실습 토폴로지에서 건너편에 있는 라우터와의 터널링 구현


명령어


예시 결과

실제 장비 적용

  • 혹시 몰라서 포트에 적용된 ACL은 전부 지웠음
  • 터널링이 적용되었는가 알기 위해서는 기존의 네트워크에 적용된 라우팅 프로토콜과는 다른 프로토콜로 터널을 구성하는 두 라우터를 서로 홍보해 주는 것이 좋음
  • 각 라우터에 IPv6 기술을 적용할 수 있었고, 터널에서 IPv6 모드를 적용하고 IPv6 홍보 라우팅 프로토콜을 사용하면 IPv6 주소를 통해 터널을 사용할 수도 있음

  • 라우터에 루프백 인터페이스를 생성
  • 터널 인터페이스를 생성하고 터널 시작 주소를 입력
  • 터널을 사용하는 네트워크에 기본으로 사용된 라우팅 프로토콜(RIPv2)이 아닌 터널만을 위한 라우팅 프로토콜(EIGRP)을 적용하여 두 터널의 경로가 진짜 터널링 인터페이스를 사용하는지 확인
  • 위의 사진과 같이 RIP이 아닌 EIGRP로 터널을 홍보한 두 IP는 진행 경로가 Tunnel로 표시되는 것을 알 수 있음

  • Ping을 보내면 통신이 잘 되는 것을 확인할 수 있음

  • 루프백과 터널에 IPv6 주소 할당
  • 터널의 IPv6 모드 동작을 확인하기 위함
  • IPv6 역시 EIGRP를 통해 홍보

  • EIGRP(D, Dual algorithm)를 통해 터널 반대편에 있는 라우터의 주소를 받아온 모습
  • 똑같이 연결 경로는 Tunnel로 표시됨

0개의 댓글