DHCP 서버를 변경할 수없는 경우 PXE로 Cobbler를 설정하는 방법은 무엇입니까?


16

과거에는 일반 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

몇 달 전에 누군가 위의 작업을 수행 할 수 없다는 이메일을 받았습니다. 내가 잊어 버린 자신의 파이를 수정하고 변경 한 것으로 밝혀졌습니다. 그래서 나는 트렁크의 일부가 된 메인 라인 파이터에 중요한 수정을 제공 했습니다 . 또한 추가 지원 문서를 만들었습니다 .


1
그들의 웹 사이트에서 판단-Cobbler에 DHCP 구현이 포함되어 있다고 생각합니다. 제한된 네트워크에서 작업하고 있다면 아마도 USB 설치를 할 것입니다. :)
Lester Cheung

아니요, 그러나 관리하는 데 도움이 될 수 있습니다.
monomyth

답변:


3

우리가하는 일은 우리가 만든 ISO 파일을 마운트하고, 커널을 부팅하고 그로부터 initrd를 만들고 중앙 위치에서 킥 스타트를로드하는 것입니다. 이 킥 스타트 파일은 RPM 파일 (cobbler 서버)이있는 저장소를 가리 킵니다.

나는 Cobbler에 대해 많은 경험을 얻지 못했지만 (슬프게도) 아마도 이것이 당신을위한 옵션일까요?


제안한대로 CDROM (Cobbler에서 생성 한 ISO 이미지)을 사용하여 설치를 완료했으며 꽤 잘 작동했습니다. 이제 LAN에서 플러그를 뽑고, DHCP를 활성화하고, PXE를 통해 배포하고, DHCP를 비활성화하고 다시 연결할 수있는 거의 격리 된 영역에 설정이되었습니다. 이것이 테스트 / 실험 환경이라는 사실을 감안할 때 지금 당장해야 할 일입니다. 또한 다른 "proxydhcp"옵션을 살펴 봤지만 2004 년 이후의 코드는없는 것 같습니다. 피드백을 주셔서 감사합니다.
Niels Basjes

5

PXE ROM에는 부트 로더 (grub, pxelinux 또는 기타 부트 로더)를 찾아서로드하기 위해 DHCP 서버에서 "다음 서버"지시문이 필요합니다. "다음 서버"가 제공되지 않으면 수행 할 작업을 결정하는 것은 PXE ROM에 달려 있습니다. 네트워크 카드 BIOS 구성을보고 서버를 수동으로 지정할 수있는 옵션이 있는지 확인해야합니다.

위의 답변에서 알 수 있듯이 사용자 정의 ISO 또는 USB 스틱을 사용하여 시스템을 부팅하면 커널 명령 줄에 이미 제공된 모든 정보가 가장 좋은 방법 일 것입니다. DHCP 서버 구성에 액세스 할 수없는 경우


1

일부 테스트를 실행하려는 경우 동일한 네트워크에 여러 DHCP 서버가있을 수 있습니다. 특정 MAC이 ARP 요청을 할 때만 응답하도록 서버에 알려주는 dhcpd 구성을 작성하도록 cobbler를 가질 수 있습니다. 그리고 해당 서버의 범위를 주석 처리 / 비활성화하면 (그리고 여기서 isc-dhcpd에 대해 이야기하고 있음) 방해하지 않습니다. AD 등을 사용하는 경우이 dhcp 서버가 신뢰할 수없는 것에 대해 불만을 제기하는 일부 브로드 캐스트 상자가 브로드 캐스트로 표시 될 수 있습니다.

그러나 가장 좋은 방법은 cobbler / dhcp 및 서버를 나머지 네트워크와 별도의 VLAN에 프로비저닝하려는 것입니다. 이렇게하면 브로드 캐스트 도메인을 제한하고 다른 상자에서도 dhcp 공지를 볼 수 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.