[CISCO 보안 아카데미 1기] 7일차 정리 (IPv6, SLAAC, Routing Protocol, 장비기본, Static Routing, tracert)

Jin_Hahha·2024년 7월 1일
0


IPv6

개요

  • 128bit로 표현, 16비트로 나누어 8개로 구분
  • 16진수로 표현
  • 48비트 MAC 주소를 활용하여 IPv6 주소 생성

확장 헤더, IPSec

  • IPv4에는 기본 헤더 존재, IPv6는 IPv4에 확장 헤더가 추가된 형태
  • IPSec, IP 패킷의 보안 기능을 하는 프로토콜
    • IPv4에는 IPSec 기능이 없고, IPv6에는 확장 헤더에서 자체 지원

IPv6 SLAAC

https://donghoson.tistory.com/entry/IPv6-%EC%A3%BC%EC%86%8C-%ED%95%A0%EB%8B%B9-%EB%B0%A9%EC%8B%9D

  • IPv6의 가장 큰 특징
    • 임의의 방법 또는 DHCP를 통한 IP 주소를 할당 받지 못할 경우, 본인이 임의로 생성한 IP 주소를 자체적으로 할당
  • DHCPv6라는 것을 통해서도 유사하게 IP 주소 할당 가능

헤더 구조

  • IPv4와 유사하나, 더 간단한 구조

표기

  • 128비트를 16비트씩 8개의 필드로 나누어 콜론(:)으로 구분
  • 주소 생략 가능
  • 선행하는 0은 생략하여 표현 가능(중간에 끼인 0은 생략 불가)
  • 연속된 0은 콜론으로 생략 가능
    • 0abc:de0f:00gh:i00j:0000:0000:klmn:opqr
      => abc:de0f:gh:i00j::klmn:opqr
  • Prefix
    • IPv4의 서브넷 마스크
    • 네트워크 식별을 위해 사용

글로벌 주소, 링크 로컬 주소, 로컬 주소

  • 글로벌 주소
    • 공인 IP 주소와 같음
    • 주로 2001::/16, 2002::/16, 2003::/18, 3FFE/16 사용
    • 다른 네트워크로 통신할 때 사용
  • 링크 로컬 주소
  • 로컬 주소
    • 사설 네트워크 주소
    • FC00::/7 대역 사용
  • IPv4처럼 사용되기 위해서는 글로벌 주소와 링크 로컬 주소가 둘 다 필요함

IPv6 SLAAC(Stateless Address Auto Configuration)

개요

  • 호스트가 자동으로 IPv6 주소를 구성하는 절차

과정

  1. 호스트가 네트워크 연결되면 라우터는 RA(Router Advertisement) 메시지를 주기적으로 브로드캐스트
  2. 수신된 RA를 기반, 호스트는 네트워크 프리픽스 정보 추출
  3. 자신의 MAC 주소(48비트)를 기반으로(MAC 주소 확장, 48bit to 64bit) 인터페이스 식별자(EUI-64) 생성
  4. 수신된 네트워크 프리픽스와 자신이 만든 식별자 결합, IPv6 주소 생성
  5. 생성된 주소의 중복여부 확인
  6. 중복되지 않았다면 자신의 인터페이스에 등록
+ 네트워크 & Server 디바이스는 DHCP를 통한 임의 IP 주소를 할당하지 않음(서버 동작 중지 가능성 때문)

Packet Tracer IPv6 시스템 구축

  • 토폴로지

  • Router IPv6 SLAAC 설정

설정 코드
Router(config)# ipv6 unicast-routing
Router(config)# int (port)
Router(config)# ipv6 address fe80::1 link-local
Router(config)# ipv6 address 2001:abcd:1::1/64
Router(config)# no sh

  • IPv6 Configuration 항목에서 Static에서 Automatic으로 항목 변경
  • IPv6 주소가 잘 할당된 모습
  • 만약 라우터의 CLI에서 IPv6 Configuration 설정 후, 해당 세팅을 라우터의 장기 기억 장치에 저장하고 싶다면?
    • wr(NVRAM에 Write하는 명령어) 반드시 입력

장비 기본

라우터 스위치 구조

  • RAM, IOS, FLASH, ROM, NVRAM, Active Running Config, Program, subset IOS 등으로 구성
  • IOS(Internetwork Operating System)
  • RAM은 휘발성이 특징, 전원이 꺼지면 이곳에 저장된 정보는 사라짐
  • FLASH, ROM, 장기 저장 가능
  • 테이블, 버퍼 내용은 Active running config에 저장
  • Active running config의 내용
    • 기기 설정 항목, 부팅할 때마다 응용
  • Active running config 열람 명령어
    • show run
  • Active running config의 내용을 NVRAM으로 전달, 기록하는 명령어
    • wr
  • NVRAM에 기록된 내용 열람 명령어
    • show start-up config
  • NVRAM에 저장된 내용을 지우는 명령어
    • er start-up config
  • reload는 재부팅 명령어
  • subset IOS(ROM의 내부에 존재)
    • 메모리 카드가 없는 스위치 같은 장비에서 오류로 인해 운영체제 교체를 진행해야 할 때 사용
  • rommon mode(= subset IOS mode)
    • FLASH 메모리에 있어야 할 IOS가 없거나 손상된 상태라면(정상적 부팅 실패) ROM에 있는 subset IOS를 실행시켜 접속

라우터 스위치 명령어

  • 라우터와 스위치의 명령어는 서로 같으므로 모든 명령어는 라우터 기준으로 설명
  • 관리자 모드 접속 패스워드를 설정할 때, enable password 명령어보다 enable secret 명령어 사용이 보안성 면에서 더 좋음
    • secret 명령어는 사전에 설정한 패스워드를 암호화하여 저장
  • clock rate, 기기 간 동기화 속도 조절
    • 라우터 포트끼리 연결했을 경우 사용

라우터 포트 연결

  • 기본 토폴로지
  • 라우터에 HWIC-2T 모듈 추가
  • 라우터와 라우터의 포트가 연결된 구간, WAN 구간

  • 라우터와 라우터를 연결하는 회선의 시작부분(DCE)이 연결된 라우터에 clock rate 명령어 사용


Routing Protocol

  • 라우터가 모르는 경로를 학습시키기 위해 사용

Static, Dynamic

  • Static(수동 설정) - Static Routing Protocol

    1. 네트워크 엔지니어가 수동으로 경로 설정 (네트워크 상황 변화에 유동적 대처 불가능)
    2. Dynamic Routing에 비해 리소스를 적게 사용
    • 설정 명령어

      R1(config)# ip route 202.202.202.0 255.255.255.0 201.201.201.2
      = R1(config)# ip route (목적지 IP) (서브넷 마스크) (도달하고자 하는 라우터 IP)
      R2(config)# ip route 200.200.200.0 255.255.255.0 201.201.201.1
      ip route 0.0.0.0 0.0.0.0 201.201.201.2
      => 목적지에 관계없이 201.201.201.2로 전송하라

  • 라우터의 나가는 경로가 하나면 default static 사용 가능

  • 라우팅 테이블 봤을 때, 일반적 정적 라우팅은 S / 디폴트 정적 라우팅은 *S

  • Dynamic(동적 설정) - Dynamic Routing Protocol

    • Distance vector
      • RIPV1
      • RIPV2
    • Link State
      • OSPF
    • EIGRP
      • Distance venctor와 Link state의 방식이 합쳐진 형태

정적 라우팅 토폴로지

  • 전체 토폴로지

  • R1의 CLI(정적 라우팅 실행)

  • R1의 라우팅 테이블

  • R2의 CLI(정적 라우팅 실행)

  • R2의 라우팅 테이블

  • PC0에서 Server로의 ping이 잘 동작하는 모습

  • R1에서의 Default static 테스트

  • Server로의 ping이 잘 동작하는 모습

정적 라우팅(경로의 이중화)

토폴로지

R1의 라우팅 테이블

  • R1과 떨어져 있는 203.230.9.0 IP 주소를 확인하기 위한 경로

    • 어느 라우터를 사용할지는 사용자 마음

    • 현재 표에서는 203.230.11.2 사용

    • 추후 203.230.8.2 경로 추가

R2의 라우팅 테이블

  • R2 라우터는 7.0, 10.0, 11.0 주소를 사용하는 네트워크를 모르기에 세 경로에 대한 정적 라우팅 필요

R3의 라우팅 테이블

  • R3는 R1과 유사
  • 정적으로 라우팅 테이블이 잘 지정되었는가 확인하려면 라우팅 테이블에 모든 네트워크에 존재하는 IP 주소가 하나의 라우팅 테이블에 모두 표시되어 있는가 확인

Advanced Static Routing(Floating Static Routing)

  • 정적 라우팅의 단점인 회선의 물리적 오류가 발생했을 경우 일어나는 단절 문제를 방지하기 위한 예비 경로 설정

    ip route 203.230.XX.XX 255.255.255.XXX 203.230.XX.XX 100

  • 평소에는 위의 경로가 아닌 다른 경로로 통신하다가 그 회선에 문제가 생기면 위의 경로로 통신하도록 설정하는 명령어

tracert

  • tracert (목적지 IP)
  • 목적지 IP를 향한 ICMP request 패킷에 대한 ICMP reply를 생성하는 라우터의 주소를 출력하는 명령어

  • 처음 TTL을 1로 설정하여 ICMP 전송
  • TTL이 0이 되면 ICMP Error를 출발지 기기로 전송
  • 이때 해당 Error 메시지가 출발하는 라우터의 IP를 기준으로 tracert 리스트 작성
  • 도착지 IP에 도달할 때까지 TTL 값을 1씩 늘려가며 tracert 과정 진행
    • 1번 ICMP(TTL = 1) -> 2번 ICMP(TTL = 2) -> 3번 ICMP(TTL = 3)

  • 과정 정리
    • PC에서 R1 라우터로 TTL이 1인 ICMP 전송
    • R1 도착, TTL = 0이 됨
    • R1의 7.1 포트를 통해 PC로 ICMP Error 메시지 반환
    • tracert 표에는 1번 시도의 마지막 지점이 203.230.7.1로 기록됨

    • TTL이 2인 ICMP 전송 (PC -> R1)
    • R1 도착, TTL = 1이 됨
    • R1의 라우팅 테이블에 따라 11.2 경로로 R3 라우터로 전송(R1 -> R3)
    • R3 도착, TTL = 0이 됨
    • R3에서 라우팅 테이블에 따라 9.2 포트를 통해 PC로 ICMP Error 전달
    • tracert 표에는 2번 시도의 마지막 지점이 203.230.9.2로 기록됨

    • TTL이 3인 ICMP 전송(PC -> R1)
    • R1 도착, TTL = 2가 됨
    • R1의 라우팅 테이블에 따라 11.2 경로로 R3 라우터로 전송(R1 -> R3)
    • R3 도착, TTL = 1이 됨
    • R3에서 Server로 이동
    • 최종적으로 Server에 도달하여 ICMP reply를 전달
    • reply가 출발한 지점의 IP 주소를 마지막 시도에 기록

  • 결론적으로 tracert는 라우팅 테이블에 따라 이동한 패킷에 대한 반환 패킷이 출발하는 라우터의 IP를 기록한 표
  • 절대적으로 라우팅 테이블에 따라 구성됨

0개의 댓글