과거에는 일반 DHCP 서버가 네트워크 부팅에 필요한 모든 것을 반환하도록하여 PXE 서버를 여러 번 설정했습니다 (단일 DHCP 설정의 일반 IP 구성 및 bootinfo). 그렇게하는 것은 쉬운 일 입니다.
내가 읽은 문서 ( wikipedia에 좋은 요약이 있음 ) 에 따르면 수정되지 않은 dhcp 서버 (예 : 해당 지역의 관리자가 액세스를 거부하는 경우)와 부팅 정보 만 반환하는 별도의 서버를 가질 수 있어야합니다. 이것을 “PXE 서버”또는 “프록시 DHCP”서버라고합니다. 과거에는 이 pxe 서버 (최종 릴리스는 5 년 전)를 보았습니다 (사용되지 않음 ).
어제 Cobbler를 설치하여 실제로 수행하는 작업을 확인했습니다. 이제는 사용하기 쉽도록 사용하고 싶지만 ‘main’dhcpd 서버를 수정하여 PXE를 얻는 것은 옵션이 아닙니다.
실제 PXE (== proxy dhcp) 서버를 사용하여 cobbler를 실행하는 방법에 대한 문서를 찾을 수 없었습니다.
파이로 이것을 할 수 있습니까?
isc dhcp 서버가 PXE 서버처럼 작동하도록 구성 할 수 있습니까 (예 : IP 정보가없고 부팅 정보 만)?
아니면 완전히 다른 접근 방식을 취해야합니까 (그렇다면 제안 사항은 무엇입니까)?
감사
방금 새로 발견 한 내용 : dnsmasq 버전 2.4.8 의 변경 로그에 다음과 같이 나와 있습니다.
“dnsmasq가 PXE 정보 만 제공하고 다른 DHCP 서버가 주소 할당을 수행하는 프록시 -DHCP도 허용됩니다.”
매우 흥미로운. 특히 cobbler는 이미 dnsmasq를 제어 할 수 있기 때문입니다.
최신 정보:
dnsmasq 2.51은 내가 원하는 트릭을 완전히 수행하는이 구성을 지원합니다.
내 /etc/cobbler/dnsmasq.template은 이제 다음과 같습니다.
# Cobbler generated configuration file for dnsmasq
# $date
#
# resolve.conf .. ?
#no-poll
#enable-dbus
read-ethers
addn-hosts = /var/lib/cobbler/cobbler_hosts
# Be a proxyDHCP server
dhcp-range=10.10.0.0,proxy
# Only respond to clients that are known (i.e present in /etc/ethers)
dhcp-ignore=#known
# Set this (and domain: see below) if you want to have a domain
# automatically added to simple names in a hosts-file.
expand-hosts
domain=test.basjes.nl,10.10.15.0
# Loads <tftp-root>/pxelinux.0 from dnsmasq TFTP server.
pxe-service=x86PC, "Boot PXELinux (=Cobbler controlled)", pxelinux ,$next_server
$insert_cobbler_system_definitions
업데이트 : 2012-04-30
몇 달 전에 누군가 위의 작업을 수행 할 수 없다는 이메일을 받았습니다. 내가 잊어 버린 자신의 파이를 수정하고 변경 한 것으로 밝혀졌습니다. 그래서 나는 트렁크의 일부가 된 메인 라인 파이터에 중요한 수정을 제공 했습니다 . 또한 추가 지원 문서를 만들었습니다 .
답변
우리가하는 일은 우리가 만든 ISO 파일을 마운트하고, 커널을 부팅하고 그로부터 initrd를 만들고 중앙 위치에서 킥 스타트를로드하는 것입니다. 이 킥 스타트 파일은 RPM 파일 (cobbler 서버)이있는 저장소를 가리 킵니다.
나는 Cobbler에 대해 많은 경험을 얻지 못했지만 (슬프게도) 아마도 이것이 당신을위한 옵션일까요?
답변
PXE ROM에는 부트 로더 (grub, pxelinux 또는 기타 부트 로더)를 찾아서로드하기 위해 DHCP 서버에서 “다음 서버”지시문이 필요합니다. “다음 서버”가 제공되지 않으면 수행 할 작업을 결정하는 것은 PXE ROM에 달려 있습니다. 네트워크 카드 BIOS 구성을보고 서버를 수동으로 지정할 수있는 옵션이 있는지 확인해야합니다.
위의 답변에서 알 수 있듯이 사용자 정의 ISO 또는 USB 스틱을 사용하여 시스템을 부팅하면 커널 명령 줄에 이미 제공된 모든 정보가 가장 좋은 방법 일 것입니다. DHCP 서버 구성에 액세스 할 수없는 경우
답변
일부 테스트를 실행하려는 경우 동일한 네트워크에 여러 DHCP 서버가있을 수 있습니다. 특정 MAC이 ARP 요청을 할 때만 응답하도록 서버에 알려주는 dhcpd 구성을 작성하도록 cobbler를 가질 수 있습니다. 그리고 해당 서버의 범위를 주석 처리 / 비활성화하면 (그리고 여기서 isc-dhcpd에 대해 이야기하고 있음) 방해하지 않습니다. AD 등을 사용하는 경우이 dhcp 서버가 신뢰할 수없는 것에 대해 불만을 제기하는 일부 브로드 캐스트 상자가 브로드 캐스트로 표시 될 수 있습니다.
그러나 가장 좋은 방법은 cobbler / dhcp 및 서버를 나머지 네트워크와 별도의 VLAN에 프로비저닝하려는 것입니다. 이렇게하면 브로드 캐스트 도메인을 제한하고 다른 상자에서도 dhcp 공지를 볼 수 없습니다.