1、DHCP工作原理

DHCP: Dynamic Host Configuration Protocol,动态主机配置协议 UDP协议,C/S模式,dhcp server:67/udp,dhcpv4 client :68/udp,dhcpv6 client:546/udp

主要用途:

  • 用于内部网络和网络服务供应商自动分配IP地址给用户
  • 用于内部网络管理员作为对所有电脑作集中管理的手段
  • 自动化安装系统
  • 解决IPV4资源不足问题 image.png

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

image.png

查看一下DHCP日志,这里是

image.png