DHCP (Dynamic Host Configuration Protocol) 是动态主机配置协议的缩写,它工作在客户-服务器架构上。DHCP 服务器为网络中的客户端自动分配 IPv4 和 IPv6 地址。DHCP Server 向客户端提供 IP 地址租期,如果客户端请求 IP 地址并得到 DHCP Server 的确认,客户端将获得租期内的 IP 地址。如果租期到期,客户端想使用相同的 IP 地址,则必须重新向 DHCP 服务器请求 IP 地址。
必备条件
本文中使用两台虚拟机进行实验室设置。第一台虚拟机为 Ubuntu 22.04,配置为 DHCP 服务器。第二台虚拟机为 RHEL 9,配置为客户端,自动从 DHCP 服务器获取 IP 地址。
Ubuntu 22.04 LTS 有两个网卡 (NICs)
- enp0s3 (192.168.1.204) – 它将用于访问管理和互联网连接
- enp0s8 (192.168.56.4)– 它将用于 DHCP,在此接口上公开 DHCP 子网
RHEL 9 虚拟机有一块网卡 enp0s3,用于申请 DHCP IP 地址,该网卡应映射到 DHCP 子网 VLAN。
(1) 更新包索引
登录 Ubuntu 22.04 系统,运行 apt 命令更新包索引
$ sudo apt update
(2) 安装 DHCP 服务器及其依赖项
执行以下命令,安装 DHCP 服务器及其依赖包
$ sudo apt install isc-dhcp-server -y
(3) 配置 DHCP 服务器
编辑 /etc/default/isc-dhcp-server 配置文件,修改 DHCP 运行的网络接口。本文中使用 enp0s8 网络接口
$ sudo vi /etc/default/isc-dhcp-server
----
INTERFACESv4="enp0s8"
----
保存然后关闭文件
然后,编辑主 DHCP 配置文件 /etc/dhcp/dhcpd.conf,并设置以下参数
注释掉域名服务器参数,因为我们没有使用任何 DNS 服务器
#option domain-name "example.org";
#option domain-name-servers ns1.example.org, ns2.example.org;
取消 authoritative 参数注释
authoritative;
添加 DHCP 服务器使用的子网和 IP 地址范围。同时指定 enp0s8 接口的 ip 地址为路由器。
subnet 192.168.56.0 netmask 255.255.255.0 {
range 192.168.56.20 192.168.56.120;
option routers 192.168.56.4;
}
保存然后关闭文件
启动并启用 DHCP Server 服务,执行如下命令
$ sudo systemctl start isc-dhcp-server
$ sudo systemctl enable isc-dhcp-server
检查 DHCP Server 服务状态,执行如下命令
$ sudo systemctl status isc-dhcp-server
(4) 配置 DHCP 客户端
在本例中,我们的 DHCP 客户端是一台 RHEL 9 机器,登录并配置 enp0s3 接口 ,以便它通过网络请求 DHCP IP。
$ sudo nmtui
编辑 enp0s3 接口,将 IPv4 Configuration 设置为 Automatic
单击 OK,然后禁用并激活连接以使更改生效。
验证 IP 地址,执行如下命令
$ ip add show enp0s3
返回 DHCP 服务器,查看租用 ip 地址,执行以下命令
$ cat /var/lib/dhcp/dhcpd.leases
以上就是本指南的全部内容。我希望你能从中学到有用的东西。请在下面的评论区张贴您的查询和反馈。