"systemctl start dhcpd.service" 명령이 PXE 서버 설정 가상에서 작동하지 않습니다.

"systemctl start dhcpd.service" 명령이 PXE 서버 설정 가상에서 작동하지 않습니다.

물리적 테스트 클라이언트에 연결하기 위해 CentOS 7의 노트북에 PXE 서버를 설정하려고 합니다. 다음 튜토리얼을 따르십시오. https://www.linuxtechi.com/configure-pxe-installation-server-centos-7/#comment-35567

모든 구성 파일과 설정 절차는 이 웹사이트에서 제공됩니다. "단계: 6 xinetd, dhcp 및 vsftpd 서비스 시작 및 활성화"에서 "systemctl start xinetd" 및 "systemctl 활성화 xinetd" 명령이 작동하지만 "systemctl start dhcpd.service" 명령을 실행하면 다음과 같은 메시지가 나타납니다. 다음 오류 메시지에:

Job for dhcpd.service failed because the control process exited with error code. See “systemctl status dhcpd.service” and “journalctl -xe” for details.

"systemctl status -l dhcpd.service"를 실행하면 다음 오류 메시지가 나타납니다.

systemctl status -l dhcpd.service
 dhcpd.service - DHCPv4 Server Daemon
   Loaded: loaded (/usr/lib/systemd/system/dhcpd.service; disabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Tue 2022-07-05 11:18:07 EDT; 1min 12s ago
     Docs: man:dhcpd(8)
           man:dhcpd.conf(5)
  Process: 11655 ExecStart=/usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid (code=exited, status=1/FAILURE)
 Main PID: 11655 (code=exited, status=1/FAILURE)

Jul 05 11:18:07 localhost.localdomain dhcpd[11655]:    to which interface virbr0 is attached. **
Jul 05 11:18:07 localhost.localdomain dhcpd[11655]: 
Jul 05 11:18:07 localhost.localdomain dhcpd[11655]: 
Jul 05 11:18:07 localhost.localdomain dhcpd[11655]: No subnet declaration for enp0s20f0u13 (10.249.6.154).
Jul 05 11:18:07 localhost.localdomain dhcpd[11655]: ** Ignoring requests on enp0s20f0u13.  If this is not what
Jul 05 11:18:07 localhost.localdomain dhcpd[11655]:    you want, please write a subnet declaration
Jul 05 11:18:07 localhost.localdomain systemd[1]: dhcpd.service: main process exited, code=exited, status=1/FAILURE
Jul 05 11:18:07 localhost.localdomain systemd[1]: Failed to start DHCPv4 Server Daemon.
Jul 05 11:18:07 localhost.localdomain systemd[1]: Unit dhcpd.service entered failed state.
Jul 05 11:18:07 localhost.localdomain systemd[1]: dhcpd.service failed.

여기에는 Dhcpd.conf 파일도 있습니다.

#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#
# DHCP Server Configuration file.
ddns-update-style interim;

ignore client-updates;

authoritative;

allow booting;

allow bootp;

allow unknown-clients;

# internal subnet for my DHCP Server

subnet 172.168.1.0 netmask 255.255.255.0 {

range 172.168.1.21 172.168.1.151;

option domain-name-servers 172.168.1.11;

option domain-name "pxe.example.com";

option routers 172.168.1.11;

option broadcast-address 172.168.1.255;

default-lease-time 600;

max-lease-time 7200;

# IP of PXE Server

next-server 172.168.1.11;

filename "pxelinux.0";

}

PXE 서버 튜토리얼을 완료할 수 있도록 "systemctl start dhcpd.service" 명령이 작동하려면 dhcpd.conf 파일에서 무엇을 변경해야 합니까?

답변1

dhcpd172.168.1.0 서브넷의 IP 주소로 구성된 네트워크 인터페이스를 감지하지 못했기 때문에 서비스 제공에 어떤 네트워크 인터페이스를 사용해야 하는지 결정할 수 없습니다.

아니요. 시작 DHCP 서버를 사용하여 실제로 DHCP 서버를 실행 중인 시스템에 IP 주소를 할당할 수 없습니다.

enp0s20f0u13분명히 귀하의 시스템에는 IP 주소가 10.249.6.154인 물리적 네트워크 인터페이스가 있습니다. 주소는"RFC 1918" 개인 IP 주소 범위, 누구나 사용할 수 있습니다.

반면에,당신이 따라하는 튜토리얼에서 사용된 주소는 실제로 마이크로소프트에서 사용됩니다.그래서 당신은해서는 안 된다튜토리얼의 구성을 있는 그대로 복사하되 개인 주소 범위 중 하나 또는 일부를 사용하십시오.

다른 두 개의 개인 IP 주소 범위는 172.16.0.0...172.31.255.255 및 192.168.0.0...192.168.255.255입니다. 따라서 이 튜토리얼의 작성자는 이들 중 하나를 사용하는 것을 고려하고 이를 혼합하려고 시도하고 있습니까? 실제로는 있어요또 다른 소규모 IP 주소 범위 세트서면 문서는 튜토리얼에서 직접 구성을 복사하고 사용된 실제 IP 주소를 실수로 남용할 가능성을 최소화하도록 특별히 설계되었습니다.

랩탑의 가상 머신과 함께 PXE 서버를 사용하려는 경우 먼저 virbr0IP 주소로 가상 브리지 인터페이스를 구성해야 합니다. 192.168.1.1/24와 같은 이름을 지정할 수 있습니다(참고: 끝에 있는 /24는 "netmask 255.255.255.0"을 짧게 표현한 것입니다). 이 인터페이스는가상 머신에 기본 게이트웨이 IP 주소가 있는 경우 virbr0해당 인터페이스에 대한 기본 게이트웨이 주소를 구성하면 안 됩니다. 랩톱에 외부 인터페이스에 대한 기본 게이트웨이가 이미 설정되어 있을 수 있으며 대부분의 경우 시스템에 있는 기본 게이트웨이 하나면 충분합니다. .

일단 구성되면 virbr0다음과 같이 DHCP 서버를 구성할 수 있습니다.

[...]
# internal subnet for my DHCP Server
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.21 192.168.1.151;
option domain-name-servers 192.168.1.1;
option domain-name "pxe.domain.example";

# this should match the IP address of the virbr0 interface
option routers 192.168.1.1;

option broadcast-address 192.168.1.255;
default-lease-time 600;
max-lease-time 7200;

# IP of PXE Server; this should also match the IP address of the virbr0 interface
next-server 192.168.1.1;

filename "pxelinux.0";
}

이제 DHCP 서버는 subnet 192.168.1.0 netmask 255.255.255.0클레임이 인터페이스에 대해 구성된 IP 주소 및 넷마스크와 일치하는지 감지 virbr0하고 자동으로 해당 인터페이스에서 서비스 제공을 시작해야 합니다.

이를 통해 튜토리얼을 완료한 다음 노트북에서 가상 머신 설정을 시작하고 PXE를 통해 설치 프로그램을 부팅할 수 있습니다.

PXE 모드에서 물리적 시스템을 시작하려면 다른 DHCP 서버가 없는 네트워크 세그먼트에서 시작해야 합니다. 두 DHCP 서버가 서로 협력하도록 특별히 구성되지 않은 경우 클라이언트를 놓고 경쟁하게 되어 PXE 부팅 시도가 일부 시간에만 제대로 작동하지 않을 수 있습니다.

(이것은기술적으로 실현 가능PXE 부팅을 위해 두 번째 DHCP 서버를 설정하는 데는 첫 번째 서버의 구성을 수정할 필요가 없지만, 이는 자신이 무엇을 하고 있는지 모르고 서버에서 이를 수행할 수 있는 방법이 전혀 없는 경우가 아니면 피해야 할 "더러운 속임수"라고 생각합니다. 먼저 서버에서 "올바르게 실행"합니다. ")

답변2

동의합니다. 네트워크를 일관되게 구성해야 합니다. 목표를 설명하면 도우미에게도 유용할 것입니다. Centos Linux를 사용하고 계시는 것으로 보아 아마도 숙련된 Linux 사용자일 것이라고 추측할 수 있습니다. 따라서 /var/log/systemlog또는 같은 다른 시스템 정보 소스를 읽을 수 있습니다 /var/log/messages.

DHCP 서버가 시작되지 않는 주된 이유는 IP: 10.249.6.154로 NIC(인터페이스 enp0s20f0u13)를 구성했기 때문입니다. 그러나 실제 기존 구성에 관계없이 주어진 예제 구성을 유지했습니다.

PXE 부팅을 위해 BootP 서버를 구성하려면 DHCP 서버, TFTP 서버, Syslinux(pxelinux) 및 이름 서버(바인딩?) 등 몇 가지 중요한 구성 요소를 함께 조정해야 합니다. 좋은 소식은 이 패키지가 dnsmasqSyslinux를 제외한 모든 기능을 수행할 수 있다는 것입니다. 따라서 구성을 더 간단하게 만들 수 있습니다. TFTP 서버(ThinyFTP)는 500MB보다 큰 파일을 제공할 수 없으므로 ISO 이미지가 더 큰 경우 lpxelinux 및 일부 미니 http 서버(제가 사용하는)를 사용해야 합니다 lighttpd. 여기에 귀하의 프로젝트에 대한 자세한 내용을 작성합니다. 솔루션에 관심이 있으시면 dnsmasq다음 날까지 기다려 주십시오. 제가 사무실에 없기 때문에 중요한 내용을 복사 dnsmask.conf하고 다른 팁을 제공할 수 있습니다.

관련 정보