AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 708719
Accepted
akayoshi1
akayoshi1
Asked: 2022-07-06 10:37:48 +0800 CST2022-07-06 10:37:48 +0800 CST 2022-07-06 10:37:48 +0800 CST

“systemctl start dhcpd.service”命令不适用于 PXE 服务器设置虚拟

  • 772

我正在尝试按照以下教程在 CentOS 7 上的笔记本电脑上设置 PXE 服务器以连接到物理测试客户端: https ://www.linuxtechi.com/configure-pxe-installation-server-centos-7/#评论 35567

所有的配置文件和设置程序都来自这个网站。在“步骤:6 启动并启用 xinetd、dhcp 和 vsftpd 服务。”,命令:“systemctl start xinetd”和“systemctl enable 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";

}

我需要在我的 dhcpd.conf 文件中进行哪些更改以使命令“systemctl start dhcpd.service”正常工作,这样我才能完成 PXE 服务器教程?

centos dhcp
  • 2 2 个回答
  • 900 Views

2 个回答

  • Voted
  1. Best Answer
    telcoM
    2022-07-06T13:43:45+08:002022-07-06T13:43:45+08:00

    dhcpd没有检测到任何已经在 172.168.1.0 子网中配置了 IP 地址的网络接口,因此它无法确定应该使用哪个网络接口来提供其服务。

    不,您不能使用您开始为实际运行 DHCP 服务器的系统分配 IP 地址的 DHCP 服务器。

    显然,您的系统有一个enp0s20f0u13IP 地址为 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 服务器与笔记本电脑中的虚拟机一起使用,则应首先virbr0使用 IP 地址配置虚拟网桥接口。您可以为其分配类似 192.168.1.1/24 的内容(注意:末尾的 /24 是“网络掩码 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 服务器,而无需触及第一个的配置,但我认为这是“你应该避免的肮脏技巧,除非你知道自己在做什么并且绝对没有办法做首先它是正确的。”)

    • 0
  2. schweik
    2022-07-06T14:42:56+08:002022-07-06T14:42:56+08:00

    我同意,您需要连贯地配置您的网络。如果您稍微描述一下您的目标,它也应该对帮助者有用。看起来您使用的是 Centos Linux,因此可以假设您可能是一位有经验的 linux 用户。因此,您可以阅读其他一些系统信息来源,例如/var/log/systemlog或/var/log/messages。

    DHCP服务器没有启动的主要原因是您将您的网卡(名为enp0s20f0u13的接口)配置为IP:10.249.6.154。但是您保留了给定的示例配置,而不考虑您的真实现有配置。

    要为 PXE 引导配置 BootP 服务器,您需要一起调整一些重要组件:DHCP 服务器、TFTP 服务器、Syslinux (pxelinux),还可能还有域名服务器 (bind?)。对您来说好消息是,该软件包dnsmasq执行除 Syslinux 之外的所有这些功能。所以它可以让你的配置更简单。需要注意的是,TFTP 服务器(ThinyFTP)不能提供大于 500MB 的文件,因此如果你的 ISO 镜像更大,你需要使用 lpxelinux 和一些迷你 http 服务器(我使用lighttpd)。我在这里写了有关您项目的更多信息,如果您对dnsmasq解决方案感兴趣,请等到第二天,因为我不在办公室,我可以复制我的重要行dnsmask.conf并提供一些其他提示。

    • 0

相关问题

  • systemctl 命令在 RHEL 6 中不起作用

  • 为什么我的交换机没有从指定的池中获取地址

  • 在 CentOS7 GNOME 的 Applications-menu 选项卡中创建自定义菜单

  • 奇怪的路由器与centos 6一起工作[关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve