我正试图在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";
}要使命令“systemctl start dhcpd.service”工作,我需要修改dhcpd.service文件中的哪些内容,这样我就可以完成PXE服务器教程了?
发布于 2022-07-05 21:43:45
dhcpd没有检测到在172.168.1.0子网中已经配置了IP地址的任何网络接口,因此它无法确定应该使用哪个网络接口来提供其服务。
不,您不能使用正在开始为实际运行DHCP服务器的系统分配IP地址的DHCP服务器。
显然,您的系统有一个物理网络接口enp0s20f0u13,IP地址为10.249.6.154。该地址是"RFC 1918“专用IP地址范围的一部分,任何人都可以使用该地址。
另一方面,下面的教程中使用的地址实际上是Microsoft使用的,所以您不应该按原样复制本教程中的配置,而是使用其中的一个私有地址范围,或者其中的一个部分。
另外两个私有IP地址范围是172.16.0.0 . 172.31.255.255和192.168.0.0 . 192.168.255.255,所以本教程的作者可能考虑使用这两种地址之一,并设法将它们混合在一起?实际上,另一组较小的IP地址范围被指定用于书面文档中,以尽量减少任何人直接从教程中复制配置的机会,不小心盗用了实际正在使用的IP地址。
如果计划将PXE服务器与笔记本中的虚拟机一起使用,则应首先使用IP地址配置virbr0虚拟桥接口。您可能会为它分配类似于192.168.1.1/24的东西(注意:末尾的/24是一种更短的表示“net掩膜255.255.255.0”的方式)。由于该接口将是VM的默认网关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声明与为接口virbr0配置的IP地址和网络掩码匹配,并自动开始在该接口上服务。
这应该允许您完成教程,然后您就可以开始在笔记本上设置虚拟机,通过PXE启动安装程序。
如果希望PXE引导物理机器,则应该在没有其他DHCP服务器的网段中这样做。如果两个DHCP服务器没有被专门配置为相互协作,它们将相反地竞争客户端,这可能导致您的PXE引导尝试只在某些时候令人沮丧地工作。
(从技术上讲,可以在不触及第一个启动配置的情况下为PXE启动设置第二个DHCP服务器,但我认为这是“您应该避免的肮脏伎俩,除非您知道自己在做什么,而且根本无法从一开始就正确地进行。”)
发布于 2022-07-05 22:42:56
我同意,你需要有条理地配置你的网络。如果你描述一下你的目标的话,这对帮手也是有用的。看起来您使用的是Centos,因此可以假设您是一个经验丰富的Linux用户。因此,您可以阅读系统信息的其他来源,例如/var/log/systemlog或/var/log/messages。
DHCP服务器没有启动的主要原因是您已经将NIC (名为enp0s20f0u13)配置为IP:10.249.6.154。但是,您保留了给定的示例配置,而不考虑实际的现有配置。
要配置用于PXE引导的BootP服务器,需要将一些重要组件调到一起: DHCP服务器、TFTP服务器、Syslinux (pxelinux)以及可能还有域名服务器(bind?)。对您来说,好的新功能是包dnsmasq除了Syslinux之外都执行所有这些功能。因此,它可以使您的配置更加简单。应该注意的是,TFTP服务器(ThinyFTP)不能提供大于500 is的文件,因此如果您的ISO映像更大,则需要使用lpxelinux和一些小型http服务器(我使用lighttpd)。我在这里写了关于您的项目的更多信息,如果您对dnsmasq解决方案感兴趣,请等到第二天,因为我不在我的办公室,在那里我可以复制dnsmask.conf的重要行,并给出一些其他提示。
https://unix.stackexchange.com/questions/708719
复制相似问题