동일한 서버 내에서 PXE/TFTP 체인 연결

동일한 서버 내에서 PXE/TFTP 체인 연결

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

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

SYSLINUX 설치에서는 기본적으로 "로컬 디스크에서 부팅" 시간 초과가 발생합니다. 이를 통해 기존 클라이언트가 올바르게 재부팅할 수 있을 뿐만 아니라 복구 또는 프로비저닝 환경으로 부팅할 수 있는 옵션도 제공됩니다.

DHCP 서버가 가리키는 것과 다른 TFTP 서버에 있는 새로운 프로비저닝 환경을 테스트하고 있습니다. 기존 클라이언트는 현재 환경에 따라 다르지만 프로비저닝을 위해 테스트 클라이언트를 새 TFTP 서버에 안내하고 싶습니다.

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

SYSLINUX의 메뉴 옵션으로 사용자 정의 gPXE 이미지를 설치해 보았습니다. 사용자 정의 이미지는 DHCP 주소를 (재)획득하고 하드코딩된 TFTP 서버로 이동했지만 gPXE가 충족할 수 없다고 생각되는 부분이 누락되었습니다.

새로운 프로비저닝 시스템은 Cobbler를 기반으로 하며 클라이언트가 덜 구체적이고 결국에는 일반적인 파일을 결정하기 전에 MAC 주소로 명명된 파일을 찾는 일반적인 PXE 시퀀스에 따라 달라집니다. 내가 알 수 있는 바에 따르면 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를 설정하는 것이 더 간단할 것입니다.

관련 정보