如何在 Linux 中安装和配置 DHCP 服务器

DHCP(代表动态主机配置协议)为客户端系统动态分配唯一的 IP 地址和其他信息。 DHCP 分配的一些信息包括主机名、域名、默认网关和 DNS 服务器的 IP 地址等。它使系统管理员免于为每个客户端系统手动分配 IP 地址和相关信息的麻烦。 通常,在家庭或小型公司设置中,路由器充当 DHCP 服务器的角色。 但是,在大型设置中,我们需要配置一个专用服务器作为 DHCP 服务器。 在 Linux 中,您可以轻松设置 DHCP 服务器并为客户端分配 IP 地址。

在本教程中,我们将演示如何在 Linux 中配置 DHCP 以自动为客户端分配 IP 地址。

DHCP 的工作原理

让我们稍微解释一下 DHCP 的工作原理:

考虑客户端和 DHCP 服务器连接到同一个有线网络的场景。

  1. 当客户端机器打开时,它会发送一个广播消息 DHCP发现 到网络上的每台设备。
  2. 当此消息到达 DHCP 服务器时,它会发回一个 DHCP提供 带有 IP 地址的消息给客户端。
  3. 然后客户端发送一个 DHCP请求 向 DHCP 服务器请求此 IP 地址。
  4. 然后 DHCP 服务器发送 DHCPACK 确认请求并授予客户端 IP 地址。

先决条件

  • 最少两台 Linux 机器(用于 DHCP 服务器和客户端)
  • 用户 sudo 特权
  • 在 DHCP 服务器上配置的静态 IP

笔记:

出于演示目的,我们使用了位于同一 LAN 上的三台 Linux 机器。 您可以将它们视为所有通过交换机相互连接的。

DHCP 服务器

对于 DHCP 服务器,我们使用了:

  • 具有静态 IP“192.168.9.1”和主机名“ubuntu”的 Ubuntu 20.04 LTS

DHCP客户端

对于 DHCP 客户端,我们使用了两台机器:

  • 主机名为“mypc”的 Ubuntu 20.04
  • 主机名为“mint”的 Mint 20

DHCP 服务器安装

首先,更新系统中的系统存储库索引。 在终端中发出以下命令来执行此操作:

$ sudo apt update

现在在终端中发出以下命令来安装 DHCP 服务器:

$ sudo apt-get install isc-dhcp-server -y

DHCP 服务器配置

在将 Linux 系统配置为 DHCP 服务器之前,请确保它已配置静态 IP 地址,以便客户端可以轻松连接到它。 否则,客户端将很难找到要连接的 DHCP 服务器。

在里面 /etc/default/isc-dhcp-server 文件,您将需要指定 DHCP 服务器将侦听的接口。 在终端中发出以下命令以编辑此文件:

$ sudo nano /etc/default/isc-dhcp-server

在里面 接口v4 entry,指定你希望DHCP服务器监听的接口如ens33、eth0、eth1等。

INTERFACESv4="interface_name"

在我们的场景中,接口是 ens33,因此条目将更改为:

INTERFACESv4="ens33"