dhcpd - Arch Linux 中文维基

跳转到内容

# dhcpd

来自 Arch Linux 中文维基

翻译状态：

- 本文（或部分内容）译自 dhcpd，最近一次同步于 2026-06-29，若英文版本有所更改，则您可以帮助同步与翻译更改的内容。
- 您可以在 ArchWiki 的对应页面找到本文翻译的原始修订历史。
- 本文可能与英文原文存在出入。

相关文章

- 网络配置
- arch:Network tools

dhcpd 是老版本的 ISC DHCP 服务器。

注意：

- dhcpd 不再受维护。Internet Systems Consortium（ISC，互联网系统联盟）推荐 Kea 作为其 官方替代品。
- dhcpd (DHCP (服务器) 守护进程) 不是 dhcpcd (DHCP 客户端 守护进程).

## 安装

安装 dhcp包 包。

## 配置

为你想让 dhcpd 监听的接口分配静态 IPv4 地址（此处为 `eth0`）。指定的子网不应与其他接口的子网重叠：

    # ip link set up dev eth0
    # ip addr add 139.96.30.100/24 dev eth0 # arbitrary address

提示：

- 要在启动时分配静态 IP 地址，参见网络配置#静态 IP 地址。
- RFC 1918 子网是为私有网络保留的，并不会与互联网上的主机冲突。

默认配置文件 `dhcpd.conf` 文件包含许多注释的例子，复制一份该文件：

    # mv /etc/dhcpd.conf /etc/dhcpd.conf.example

欲仅监听子网 `139.96.30.0/24`，可创建最简配置文件如下：

    /etc/dhcpd.conf

    option domain-name-servers 8.8.8.8, 8.8.4.4;
    option subnet-mask 255.255.255.0;
    option routers 139.96.30.100;
    subnet 139.96.30.0 netmask 255.255.255.0 {
      range 139.96.30.150 139.96.30.250;
    }

配置文件使用的选项如下：

`domain-name-servers` 包含提供给客户的 DNS 服务器地址。此处以谷歌公共 DNS 服务器为例。如果你已经将你自己的 DNS 服务器配置在一台本地机器上，则应在子网中的指定其地址（如 `139.96.30.0/24`）。

`subnet-mask` 和 `routers` 定义子网掩码和子网上可用路由器的列表；`routers` 也定义了提供给客户端的默认网关。对于小型网络，您往往能把 `255.255.255.0` 用作掩码，并为运行 dhcpd 的机器指定 IP 地址（此处为 `139.96.30.100`）。

`subnet` 为各子网单独设置选项，作用于 dhcpd 所监听的网络接口。此处，我们定义一段可用 IP 地址用作一个子网 `139.96.30.0/24`（在单个接口 `eth0`）。

完整选项列表，参见 dhcpd.conf(5)。

注意：尽管 dhcpd(8) 给出了相反的说法，但是接口必须含有在配置文件中声明的子网，才会被 dhcpd 监听。

### PXE

PXE（预启动执行环境）的配置通过以下两个选项完成：

    /etc/dhcpd.conf

    next-server 192.168.0.2;
    filename "/pxelinux.0";

`next-server` 是 TFTP 服务器的 IP 地址，而 `filename` 是用于启动的映像。

该段配置既可置于整个 `subnet` 中，亦可仅置于某个 `host` 定义中。

## 用法

dhcpd 包括两个单元文件：`dhcpd4.service` 与 `dhcpd6.service`，可用于控制守护进程。它们会分别为 IPv4 和 IPv6 在所有 网络接口 上启动守护进程。

## 参阅

- ISC DHCP 文档

分类：​

- DHCP

dhcpd
添加话题