介绍
动态主机配置协议 (DHCP) 是一种网络服务
它使主机计算机能够从服务器自动分配设置,而不是手动配置每个网络主机。配置为 DHCP 客户端的计算机无法控制它们从 DHCP 服务器接收的设置,并且配置对计算机用户是透明的。
DHCP 服务器向 DHCP 客户端提供的最常见设置包括:
- IP 地址和网络掩码
- 要使用的默认网关的 IP 地址
- 要使用的 DNS 服务器的 IP 地址
DHCP 服务器也可以提供配置属性,例如:
- 主机名
- 域名
- 时间服务器
- 打印服务器
优点:
例如 对DNS 服务器地址的更改,只需要在 DHCP 服务器上进行更改,并且所有网络主机将在其 DHCP 客户端下次轮询 DHCP 服务器时重新配置. 作为一个额外的优势,将新计算机集成到网络中也更容易,因为不需要检查 IP 地址的可用性。IP 地址分配中的冲突也减少了。
配置方法
DHCP 服务器可以使用以下方法提供配置设置:
- 手动分配(MAC 地址)
该方法需要使用 DHCP 来识别连接到网络的每个网卡的唯一硬件地址,然后在每次 DHCP 客户端使用该网络设备向 DHCP 服务器发出请求时持续提供恒定配置。这可确保根据其 MAC 地址将特定地址自动分配给该网卡。 - 动态分配(地址池)
在这种方法中,DHCP 服务器将从地址池(有时也称为范围或作用域)中分配一个 IP 地址一段时间或租期,该地址在服务器上配置或直到客户端通知服务器它不再需要该地址。这样,客户端将以“先到先得”的方式动态接收其配置属性。当 DHCP 客户端在指定时间内不再在网络上时,配置将过期并释放回地址池以供其他 DHCP 客户端使用。这样,一个地址可以被租用或使用一段时间。在这段时间之后,客户端必须与服务器重新协商租约以维持地址的使用。 - 自动分配
使用这种方法,DHCP 自动为设备永久分配 IP 地址,从可用地址池中选择它。通常 DHCP 用于为客户端分配一个临时地址,但 DHCP 服务器可以允许无限的租用时间。
最后两种方法可以被认为是“自动的”,因为在每种情况下,DHCP 服务器都会分配一个地址,而无需额外的干预。它们之间的唯一区别在于 IP 地址的租用时间,换句话说,客户端的地址是否随时间变化。Ubuntu 提供的 DHCP 服务器是 dhcpd(动态主机配置协议守护进程),它易于安装和配置,并且会在系统启动时自动启动。
安装
在终端提示符下,输入以下命令来安装 dhcpd:
sudo apt install isc-dhcp-server
注意:dhcpd 的消息正在发送到 syslog。在那里查找诊断消息。
配置
您可能需要通过编辑来更改默认配置/etc/dhcp/dhcpd.conf
以满足您的需要和特定配置。
最常见的是,您想要做的是随机分配一个 IP 地址。这可以通过如下设置来完成:
#minimal sample /etc/dhcp/dhcpd.conf
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.150 192.168.1.200;
option routers 192.168.1.254;
option domain-name-servers 192.168.1.1, 192.168.1.2;
option domain-name "mydomain.example";
}
这将导致 DHCP 服务器为客户端提供 192.168.1.150-192.168.1.200 范围内的 IP 地址。如果客户端不要求特定的时间范围,它将租用一个 IP 地址 600 秒。否则,最大(允许的)租约将为 7200 秒。服务器还将“建议”客户端使用 192.168.1.254 作为默认网关,使用 192.168.1.1 和 192.168.1.2 作为其 DNS 服务器。
您可能还需要编辑/etc/default/isc-dhcp-server
以指定 dhcpd 应侦听的接口。
INTERFACESv4="eth4"
更改配置文件后,您必须重新启动 dhcpd 服务:
sudo systemctl restart isc-dhcp-server.service