네트워크 프로토콜 분석기를 통한 PXE 부트 문제 해결

문서

유지 관리 및 성능

000006544

2020-02-12

솔루션인

이 정보는 PXE 부팅 오류로 인해 발생할 수 있는 문제에 대해 자세히 설명 하지 않습니다. 이 문서는 성공적인 PXE 부팅의 요구 사항을 바탕으로 하며, PXE 서버를 사용할 수 없을 때 일어나는 일에 대해 설명 합니다.

PXE 원격 부팅 프로세스는 DHCP 프로토콜을 기반으로 합니다. PXE가 작동 하는 방식을 이해 하려면 먼저 DHCP에 대 한 기본적인 이해가 필요 합니다.


서버의

DHCP는 일반적으로 BootP 라고 불리는 부트스트랩 프로토콜을 기반으로 하며,이를 통해 시스템은 네트워크에서 IP 주소와 원격 부팅을 얻을 수 있습니다. DHCP는 시스템 정보 전달을 위한 동적 IP 주소 지정 및 옵션 필드와 같은 기능을 추가 합니다.

Dhcp 프로세스는 DHCP 검색 메시지를 사용 하 여 주소를 요청 하는 클라이언트에서 시작 합니다. 검색 메시지는 원본 포트 68 (Bootp 클라이언트의 경우 Bootpc로 정의 됨)와 대상 포트 67 (Bootp 서버용 경우 Bootpc로 정의 됨)을 포함 하는 UDP 패킷입니다. 검색 메시지에는 원본 MAC 주소로 요청 하는 노드의 MAC 주소가 포함 되며, 브로드캐스트 (all F)는 대상 MAC 주소로 표시 됩니다. 소스 IP 주소는 0.0.0.0이 고 대상 IP 주소는 255.255.255.255 (브로드캐스트)입니다. 최소한이 요청에는 다음과 같은 옵션이 포함 되어 있습니다.

  • 옵션 55 (매개 변수 요청 목록)
  • 옵션 1 (서브넷 마스크)
  • 옵션 3 (라우터)
  • 옵션 6 (도메인 이름 서버)

하나 이상의 DHCP 서버가 DHCP 제공을 통해 응답 해야 합니다. DHCP 제공 메시지는 대상 주소로 서비스를 요청 하는 클라이언트의 MAC 주소를 사용 하는 UDP 패킷입니다. 포트는 원래 요청의 반대편 이어야 합니다 (소스 포트는 67, 대상 포트는 68 이어야 함). 소스 IP 주소는 제안 tendering 서버 주소 이며 대상 IP 주소는 방송입니다. 이 혜택에는 요청 된 선택적 매개 변수에 대해 제안 된 IP 주소와 응답이 포함 됩니다.

클라이언트는 DHCP 요청을 통해 제안 중 하나에 응답 합니다. 요청 메시지는 검색 메시지와 유사 하 게 UDP 패킷으로, 동일한 원본과 대상 포트 및 주소를 사용 하 고 동일한 매개 변수를 요청 합니다.

서버가 요청 된 모든 정보를 사용 하 여 DHCP ACK (승인)로 응답 합니다. ACK 메시지는 제공 메시지와 비슷한 UDP 패킷으로, 요청 된 옵션 정보를 포함 합니다.


DHCP에 대 한 PXE 확장

PXE 부팅 프로세스는 원격 부팅 컴퓨터에 필요한 정보를 추가 하 여 DHCP 프로토콜을 확장 합니다. 이 정보에는 클라이언트 공급 업체와 클래스가 포함 되어 있으며, PXE 서버가 클라이언트 고유의 이미지를 선택할 수 있도록 지원 합니다.

PXE 부팅을 요청 하는 시스템은 DHCP 검색 메시지를 사용 하 여 공급 업체 및 머신 클래스를 식별 하 고 이미지 파일의 위치와 파일 이름을 요청 합니다. Pxe 클라이언트는 PXE 서버를 통해 다양 한 이미지가 제공 될 수 있기 때문에, 해당 공급 업체 및 시스템 클래스를 식별 합니다.

PXE 클라이언트의 DHCP 검색 메시지에는 다음과 같은 선택적 매개 변수 요청이 포함 되어 있습니다.

  • 60 – 공급 업체 클래스 식별자
  • 66 – TFTP 서버 이름 (부팅 이미지를 호스팅하는 TFTP 서버의 이름 요청)
  • 67 – Bootfile 이름 (다운로드할 이미지 파일 이름)


PXE 부트의 천상의 * 또는 Wireshark * 추적 검사

PXE 부팅 프로세스에는 많은 교환이 수반 됩니다.

  1. PXE 클라이언트는 입력 한 PXE 옵션을 사용 하 여 DHCP 감지 기능을 전송 합니다.
  2. DHCP 서버는 TCP/IP 매개 변수를 사용 하 여 DHCP 제공 업체에 응답 합니다.
  3. PXE 클라이언트가 DHCP 요청으로 응답 합니다.
  4. DHCP 서버는 DHCP ACK로 응답 합니다.
  5. DHCP 서버가 PXE 서버 이기도 하면 DHCP ACK는 보통 TFTP 서버 이름과 부팅 파일 이름을 가집니다. PXE 서버가 다른 시스템 일 경우, 초기 DHCP 프로세스에 따라 PXE 서버와 PXE 클라이언트 사이에 별도의 요청과 응답 교환이 이루어집니다.
    주목
    • 초기 DHCP 교환에 TFTP 서버 이름과 부팅 파일 이름이 없는 경우, 다음 두 옵션이 완료 되 면 성공적인 DHCP ACK가 표시 될 때까지 추적을 확인 하십시오.
    • PXE 클라이언트가 TFTP 서버 이름 및 부팅 파일 이름으로 승인을 받으면 클라이언트는 tftp 서버에 연결 하 여 부팅 파일의 이름을 포함 하 고 있습니다.
    • TFTP 세션이 설정 되 고 파일 전송이 완료 될 때까지 계속 됩니다.

그림 1은 PXE 클라이언트에서 DHCP 검색 메시지를 천상의 캡처하는 스크린 샷입니다. 옵션 55 (매개 변수 요청 목록)이 강조 표시 되 고 요청 되는 매개 변수가 나열 됩니다.

이 매개 변수에는 또한 TFTP 서버 이름 (옵션 66)과 부팅 파일 이름 (옵션 67)에 대 한 요청이 포함 되어 있습니다. 옵션 60, 공급 업체 클래스 식별자 또한 요청 됩니다. 요청에 대 한 응답은 선택 사항이 며, PXE 서버가 DHCP 서버와 다른 서버 (DHCP 프록시가 사용 중)에 있음을 클라이언트에 게 알리는 데 사용 됩니다.

DHCP DISCOVER
그림 1. DHCP 검색

 

그림 2는 DHCP 요청에 대 한 DHCP ACK 응답을 보여줍니다. DHCP ACK에는 DHCP 제공 분야에서 관찰할 수 있는 옵션과 동일한 옵션이 포함 되어 있습니다. DHCP 트랜잭션이 성공 하면 TFTP 서버 및 부트 파일 이름이 패킷에 포함 됩니다.

DHCP ACK
그림 2. DHCP ACK

 

성공적인 DHCP 교환 후에는 TFTP 읽기 요청부터 시작 하는 TFTP 세션이 이어집니다. 그림 3은 TFTP 세션의 시작을 보여줍니다.

TFTP Session
그림 3. TFTP 세션.

 

그림 4는 PXE 서버가 존재 하지 않기 때문에 실패 한 PXE 부팅의 추적을 보여줍니다. PXE 클라이언트가 TFTP 서버 이름 (옵션 66)과 부팅 파일 이름 (옵션 67)을 요청 했지만 표시 된 DHCP 제공 업체에는 옵션 66 또는 67이 포함 되어 있지 않습니다. 이 경우, PXE 클라이언트는 반복 되는 DHCP 검색 요청을 수행 하 고 DHCP는 PXE 부팅 작업을 완료 하는 데 필요한 옵션이 없는 응답을 제공 합니다.

DHCP OFFER
그림 4. DHCP 제공
PXE 서버가 사용 가능 하지 않은 경우