1、DHCP工作原理
DHCP: Dynamic Host Configuration Protocol,动态主机配置协议 UDP协议,C/S模式,dhcp server:67/udp,dhcpv4 client :68/udp,dhcpv6 client:546/udp
主要用途:
- 用于内部网络和网络服务供应商自动分配IP地址给用户
- 用于内部网络管理员作为对所有电脑作集中管理的手段
- 自动化安装系统
- 解决IPV4资源不足问题
DHCP通信过程
- DHCP DISCOVER:客户端到服务器
- DHCP OFFER :服务器到客户端
- DHCP REQUEST:客户端到服务器
- DHCP ACK :服务器到客户端
2、DHCP实现
注意:实现DHCP服务前,先将网络已有DHCP服务,如:vmware中的DHCP关闭,访止冲突 DHCP服务的实现软件:
- dhcp(CentOS 7 之前版本) 或 dhcp-server(CentOS 8 中的包名)
- dnsmasq:小型服务软件,可以提供dhcp和dns功能
3、DHCP相关文件组成
dhcp或dhcp-server 包文件组成
/usr/sbin/dhcpd dhcp服务主程序
/etc/dhcp/dhcpd.conf dhcp服务配置文件
/usr/share/doc/dhcp-server/dhcpd.conf.example #dhcp服务配置范例文件
/usr/lib/systemd/system/dhcpd.service #dhcp服务service文件
/var/lib/dhcpd/dhcpd.leases 地址分配记录
dhcp-client客户端包
/usr/sbin/dhclient #客户端程序
/var/lib/dhclient #自动获取的IP信息
windows 工具
ipconfig /release #释放DHCP获取的IP,重新申请IP
ipconfig/renew #刷新租约,续约
4、DHCP服务器配置文件
帮助参考:man 5 dhcpd.conf 注意:
- DHCP服务器本身采用静态IP
- 必须配置和DHCP网卡的静态IP所在网段的subnet 段,否则DHCP服务无法启动
/etc/dhcp/dhcpd.conf 格式
全局配置
subnet {
...
}
host {
}
检查语法命令:service dhcpd configtest (CentOS 6 之前版本支持)
5、实战案例
5.1 环境
10.0.0.150 dhcp-server
一台无ip地址服务器 dhcp-client
5.2 DHCP-server配置
[root@centos-8 ~]#vim /etc/dhcp/dhcpd.conf
option domain-name "example.org";
option domain-name-servers 223.5.5.5, 223.6.6.6;
default-lease-time 86400;
max-lease-time 106400;
log-facility local7;
subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.20 10.0.0.30;
option routers 10.0.0.2;
}
[root@centos-8 ~]#systemctl restart dhcpd