8. DHCP服务
什么是 DHCP?
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议) 是一种网络协议,用于自动为网络中的设备分配 IP 地址和其他网络配置参数(如子网掩码、网关、DNS 服务器等)。它的核心目标是简化网络管理,避免手动配置 IP 地址的繁琐和潜在冲突。
DHCP 的核心功能
- IP 地址自动分配
- 从预定义的 IP 地址池中动态分配 IP 给客户端设备。
- 支持临时租约(租约到期后可回收 IP 重新分配)。
- 网络配置分发
- 自动下发以下关键参数:
- 子网掩码(Subnet Mask)
- 默认网关(Gateway)
- DNS 服务器地址
- 域名(可选)
- 自动下发以下关键参数:
- IP 地址管理
- 避免 IP 冲突,确保同一网络中设备 IP 的唯一性。
- 支持静态 IP 绑定(为特定设备保留固定 IP)。
DHCP 原理简析
DHCP(动态主机配置协议)的核心作用是自动为网络中的设备分配 IP 地址和相关配置。过程分为四步(简称 DORA):
-
Discover(发现)
- 客户端(B机器)启动时广播发送
DHCP Discover消息,寻找可用的 DHCP 服务器。
- 客户端(B机器)启动时广播发送
-
Offer(提供)
- DHCP 服务器(A机器)收到请求后,从地址池中选择一个空闲 IP,通过
DHCP Offer消息广播回复客户端。
- DHCP 服务器(A机器)收到请求后,从地址池中选择一个空闲 IP,通过
-
Request(请求)
- 客户端选择第一个收到的 Offer,广播
DHCP Request消息,正式请求使用该 IP。
- 客户端选择第一个收到的 Offer,广播
-
Acknowledge(确认)
- 服务器确认请求,发送
DHCP ACK消息,将 IP 地址、子网掩码、网关、DNS 等信息分配给客户端。
- 服务器确认请求,发送
环境配置步骤
1. 在A机器(服务器)上操作
(1) 安装 DHCP 服务
sudo yum install -y dhcp
(2) 配置 DHCP 服务
编辑配置文件 /etc/dhcp/dhcpd.conf:
sudo vi /etc/dhcp/dhcpd.conf
根据你的网络环境配置(关键部分已注释):
# 全局配置
option domain-name "yourdomain.local"; # 你的域名(可选)
option domain-name-servers 8.8.8.8, 8.8.4.4; # DNS服务器(例如谷歌DNS)
default-lease-time 600; # 默认租约时间(秒)
max-lease-time 7200; # 最大租约时间
# 子网声明(根据你的网络修改)
subnet 192.168.198.0 netmask 255.255.255.0 { # 子网范围
range 192.168.198.150 192.168.198.200; # 分配给客户端的IP池
option routers 192.168.198.1; # 网关地址(按需修改)
option broadcast-address 192.168.198.255; # 广播地址
}
(3) 启动服务并设置开机自启
sudo systemctl start dhcpd
sudo systemctl enable dhcpd
2. 在B机器(客户端)上操作
(1) 设置网卡自动获取 IP
编辑网卡配置文件(假设网卡名为 ens33):
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
修改为以下内容:
BOOTPROTO=dhcp # 关键!设为DHCP模式
ONBOOT=yes # 开机自动启用网卡
(2) 重启网络服务
sudo systemctl restart network
(3) 检查获取的 IP
ip addr
关键注意事项
- 子网匹配:确保
subnet声明中的子网与A机器的IP(192.168.198.100)属于同一网段。 - IP池范围:
range中的地址不能包含A机器自身的IP(192.168.198.100)。 - 网关/DNS:根据实际网络环境修改
routers和domain-name-servers。
按此配置后,B机器应能自动获取到 192.168.198.150~200 范围内的 IP!
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 现代职校董良
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果