동일한 서버 내의 PXE/TFTP 링크

동일한 서버 내의 PXE/TFTP 링크

내 기존 네트워크 환경은 다음을 제공합니다.

  • PXE 클라이언트를 특정 TFTP 서버로 보내는 DHCP 서버
  • 시작을 위한 SYSLINUX "pxelinux.0" 파일이 있는 TFTP 서버

SYSLINUX 설치에는 "로컬 디스크에서 부팅"이라는 기본 시간 제한이 있습니다. 이를 통해 기존 클라이언트를 올바르게 다시 시작할 수 있을 뿐만 아니라 복구 또는 구성 환경으로 부팅할 수 있는 옵션도 제공됩니다.

DHCP 서버가 가리키는 TFTP 서버와 다른 TFTP 서버에 있는 새로운 구성 환경을 테스트하고 있습니다. 기존 클라이언트는 현재 환경에 따라 다르지만 구성을 위해 새로운 TFTP 서버에 테스트 클라이언트를 추천하고 싶습니다.

이상적으로는 클라이언트가 다른(DHCP 서버에서 제공하는 것이 아니라 하드코드된) TFTP 서버에서 시작하도록 하는 SYSLINUX 프롬프트의 특정 메뉴 옵션을 사용할 수 있기를 바랍니다.

SYSLINUX에 메뉴 옵션으로 사용자 정의 gPXE 이미지를 설치하려고 합니다. 사용자 정의 이미지는 DHCP 주소를 (재)획득하고 하드코딩된 TFTP 서버로 이동하지만 gPXE에서 구현할 수 없는 부분이 누락되었습니다.

새로운 구성 시스템은 클라이언트가 먼저 MAC 주소로 이름이 지정된 파일을 찾은 다음 덜 구체적이고 궁극적으로 일반적인 파일을 선택하는 일반적인 PXE 시퀀스에 의존하는 Cobbler를 기반으로 합니다. 내가 알 수 있는 바에 따르면 gPXE는 이러한 Mac 주소 기반 부팅 시퀀스를 수행할 수 없는 것 같습니다.

누구든지 이 작업을 수행하는 다른 방법을 말해 줄 수 있습니까? 나는 이 문제로 며칠 동안 머리를 쥐어뜯었습니다. 미리 감사드립니다!

답변1

동일한 서버 내의 PXE/TFTP 링크

다른 PXE 부트로더를 커널로 사용합니다.

이것은 Linux PXE 체인 로더에서 BSD PXE 부트 로더를 체인 로드하는 데 사용하는 예입니다.

LABEL openbsd
    MENU LABEL ^OpenBSD 3.9
    KERNEL openbsd_3.9/pxeboot.0

다른 서버에 대한 PXE/TFTP 링크

pxechain.com다른 PXE 서버를 링크 로드하는 데 사용됩니다.

pxechain.comsyslinux-commonDebian/Ubuntu용 패키지로 제공됩니다.syslinux 프로젝트 아카이브다른 파일 이름을 사용하십시오 pxechn.c32.

예:

LABEL pxeserver2
        menu label Switch to 2nd PXE server...
        kernel pxechain.com
        append 192.168.10.254::pxelinux.0

예 2:(감사해요상어) pxelinux의 구성 파일 이름 및/또는 경로가 두 pxe 서버에서 다른 경우 -p 및 -c 옵션을 사용하여 명시적으로 정의해야 합니다. 그렇지 않으면 작동하지 않습니다(현재 시작된 DHCP).

DC-ISO2 서버 구성에서:

LABEL DC-ISO1
        MENU LABEL DC-ISO1 (BIOS mode)
        KERNEL pxechn.c32
        APPEND 192.168.1.1::pxelinux.0 -c default -p /
        TEXT HELP
Boot the legacy dc-iso1 menu in bios mode.
        ENDTEXT

이전 DC-ISO1 서버 구성에서:

LABEL DC-ISO2
        MENU LABEL DC-ISO2 (BIOS mode)
        KERNEL pxechn.c32
        APPEND 192.168.1.2::/configs/pxelinux.0 -p /configs/ -c bios.cfg
        TEXT HELP
Boot the new dc-iso2 menu in bios mode.
        ENDTEXT

기술적으로 이제 DC-ISO1의 dhcp 서버(tftp는 아님)를 비활성화할 수도 있으며 항상 DC-ISO2로 먼저 부팅하면서 두 서버의 메뉴 사이를 전환할 수 있습니다.

답변2

Ubuntu 10.4 LTS에서 pxelinux.0을 다운로드하세요. 이는 "정상적인" 반복(MAC - HEX의 IP - ...기본값)을 거칩니다.

DHCP 서버에 특정 요청에 응답하지 않도록 지시하고 동일한 네트워크(비권한)에 다른 DHCP를 설정하여 테스트 서버 요청에 응답하고 다른 요청에는 응답하지 않는 것이 더 간단할 것입니다.

관련 정보