主题
DHCP服务器的部署
一、实验条件
1.实验环境
需要VMware中两台虚拟机,一台作为服务器,一台作为客户端
null
2.实验网络
null
二、安装dhcp
1.先检查dhcp是否安装
bash
rpm -qa | grep dhcp1
如果未安装,需要先安装dhcp
2.安装dhcp
安装之前先执行:更换源方法
bash
yum -y install dhcp
yum -y install dhcp-server.x86_641
2
2
3.再次检查
安装完成后重复上述步骤1,检查是否安装成功,如显示如下,即安装成功

三、测试网络连接
1.修复网络
由于很多有问题,保险起见可以先修复网网络:修复网络方法
2.关闭VMware自带的dhcp功能
VMware菜单中点编辑->虚拟网络编辑器,然后按如下操作

3.设置固定IP
把服务器设置成固定iP地址:固定IP设置方法
4.记录ip、Mac地址和网关地址


bash
# 服务器
ping www.baidu.com # 测试一下是否能连外网
ifconfig # 记录一下服务器的IP地址和MAC地址
ip route # 记录网关地址,如上图红色方框所示1
2
3
4
2
3
4
bash
# 客户端
ping www.baidu.com # 测试一下是否能连外网
ifconfig # 记录一下客户端的IP地址和MAC地址
ip route # 记录网关地址,如上图红色方框所示1
2
3
4
2
3
4
如以下都满足,可继续进行试验,否则需要修复网络:
1.客户端和服务器都可以正常连接外网
2.客户端和服务器的ip地址和mac地址都存在
3.客户端和服务器的网关地址相同
写成如下记录表(以我的实验为例)
| 网关 | 服务器 | 客户端 | |
|---|---|---|---|
| ip地址 | 192.168.4.2 | 192.168.4.128 | 192.168.4.130 |
| Mac地址 | - | 00:0c:29:92:f4:dc | 00:0c:29:f0:d2:96 |
四、修改配置文件
1.查看配置文件
安装完成之后会在系统很多地方产生与dhcp相关的配置文件供dhcp服务使用,其中核心配置文件在/etc/dhcp,进入目录查看如下文件是否存在

2.编辑主配置文件
使用vim编辑器编辑dhcp配置文件
bash
# 服务器端
vim /etc/dhcp/dhcpd.conf1
2
2
配置成如下图效果,注意其中红色横线和方框的参数需要改成你自己的

bash
# dhcp.conf内容如下
# 全局设置
# 全局配置
option domain-name "example.com"; # 域名后缀
option domain-name-servers 8.8.8.8, 114.114.114.114; # DNS服务器地址
default-lease-time 600; # 默认租约时间(秒)
max-lease-time 7200; # 最大租约时间(秒)
ddns-update-style none; # 禁用动态DNS更新
# 网络配置
subnet 192.168.42.0 netmask 255.255.255.0 { # 定义子网192.168.42.0/24
range 192.168.42.150 192.168.42.200; # 可分配的IP地址池范围
option routers 192.168.42.2; # 默认网关地址
option domain-name-servers 8.8.8.8, 114.114.114.114; # DNS服务器地址
default-lease-time 600; # 默认租约时间(秒)
max-lease-time 7200; # 最大租约时间(秒)
}
# 保留服务器IP(避免服务器IP被分配给其他客户端)
host dhcp-server { # 定义主机保留
hardware ethernet 00:0c:29:92:f4:dc; # 服务器的MAC地址(需要替换为实际值)
fixed-address 192.168.42.128; # 为该MAC地址固定分配的IP
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
五、关闭防火墙和安全
bash
systemctl stop firewalld # 停止防火墙服务(临时关闭)
setenforce 0 # 关闭SELinux安全机制(临时设置为宽松模式)1
2
2
六、启动服务
bash
systemctl start dhcpd # 启动dhcp服务
systemctl enable dhcpd # 设置下次开机自动启动dhcp服务1
2
2
最终的运行状态截图如下:绿色显示active(running)即为正常运行中 
七、测试验证
1.服务器端测试
bash
# 查看DHCP服务状态
systemctl status dhcpd
# 查看网络监听
netstat -ulnp | grep :67
# 查看DHCP租约文件
cat /var/lib/dhcpd/dhcpd.leases1
2
3
4
5
6
7
8
2
3
4
5
6
7
8


2.客户端测试
客户端应设置为DHCP自动获取IP(默认为dhcp)
bash
# 1. 重启网络服务
systemctl restart network
# 2. 释放当前IP
dhclient -r ens33
# 3. 重新获取IP
dhclient ens33
# 4. 查看获取的IP,新的ip地址应该之前记录的ip地址不一样了
ifconfig # 或ip addr show ens33
# 5. 查看路由信息
ip route # 或ip route show
# 6. 查看DHCP租约
cat /var/lib/dhclient/dhclient.leases
# 7. 测试网络连通性
ping 192.168.42.128 # 测试与DHCP服务器连通性
ping 192.168.42.2 # 测试与网关连通性
ping 8.8.8.8 # 测试外网连通性1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
八、预期结果
- 服务器端:
- DHCP服务正常运行
- 租约文件中记录客户端信息
- 客户端:
- 自动获取到192.168.42.150-200范围内的IP地址
- 可以正常通信和上网
- 通信测试:
- 客户端可以ping通服务器(192.168.42.128)
- 客户端可以ping通网关(192.168.42.2)
- 客户端可以访问外网
九、注意事项
1. 避免与VMware DHCP服务冲突
VMware NAT模式自带DHCP服务,需要禁用:
(1). 在VMware中禁用DHCP:
- 编辑 → 虚拟网络编辑器
- 选择VMnet8(或你使用的网络)
- 取消勾选"使用本地DHCP服务将IP分配给虚拟机"
- 点击确定应用设置
(2). 重启虚拟机网络:
bash
# 在两个虚拟机上执行
systemctl restart network1
2
2
2. IP地址池选择
- 使用
192.168.42.150-192.168.42.200范围 - 避开已使用的IP:192.168.42.2(网关)、192.168.42.128(服务器)、192.168.42.130(客户端)
3. 防火墙配置
确保服务器端的防火墙允许DHCP流量: