一 DHCP工作原理
1.了解DHCP服务
DHCP(DynamicHostConfiguration Protocol,动态主机配置协议)是由Internet工作任务小组设计开发的,专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议。DHCP服务避免了因手动设置 IP地址所产生的错误,同时也避免了把一个IP地址分配给多台工作站所造成的地址冲突。DHCP提供了安全、可靠且简单的TCP/IP网络设置,降低了配置IP地址的负担。DHCP的网络结构如图
2.使用DHCP的好处
- 减少管理员的工作量
- 避免输入错误的可能
- 避免IP地址冲突
- 当更改IP地址段时,不需要重新配置每个用户的IP地址
- 提高了IP地址的利用率
- 方便客户端的配置
3.DHCP的分配方式
- 自动分配:分配到一个IP地址后永久使用
- 手动分配:由DHCP服务器管理员专门指定IP地址
- 动态分配:使用完后释放该IP,供其它客户机使用
4.DHCP的租约过程
客户端从P服务器获取IP地址的过程称之为DCP租约过程,此过程主要分为以下四个步骤。
- 客户端在网络中搜索服务器;
- 服务器向客户端响应服务;
- 客户端向服务器发出服务请求;
- 服务器向客户端提供服务。
(1)客户机请求IP地址
当一个DHCP客户机启动时,客户机还没有IP地址,所以客户机要通过DHCP获取一个合法的地址。此时DHCP客户机以广播方式发送DPDis发现信息来寻找DHCP服务器,如图
(2)服务器响应
DHCP服务器接收到来自客户机请求IP地址的信息时,在自己的IP地址池中查找是否有合法的IP地址提供给客户机 。如果有,DHCP服务器将此IP地址做上标记,加入到DHCP Offer的消息中,然后广播一则DHCP Offer消息
(3)客户机选择IP地址
DHCP客户机从接收到的第一个DHCP Offer消息中提取IP地址,发出IP地址的DHCP服务器将该地址保留,这样该地址就不能再分配给另一个DHCP客户机
(4)服务器确定租约
DHCP服务器接收到DHCP Request消息后,以DHCP ACK消息的形式向客户机广播成功确认,该消息包含有IP地址的有效租约和其他可配置的信息 。当客户机收到DHCP ACK消息时,配置IP地址,完成TCP/IP的初始化
(5)重新登陆
DHCP客户机每次重新登录网络时,不需要再发送DHCP Discover信息,而是直接发送包含前一次所分配的IP地址的DHCP Request请求信息
(6)更新租约
- 当DHCP客户端的IP地址租期达到50%时,它会以单播方式向DHCP服务器发送一个DHCP REQUEST报文,请求更新IP地址租期。
- 如果收到DHCP服务器的回应DHCP ACK报文,则表示租期更新成功,客户端将根据DHCP ACK中提供的新租期和其他TCP/IP参数更新自己的配置。
- 如果在租期达到50%时未能收到服务器的回应,客户端将继续使用现有的IP地址,直到租期结束。
- 当租期达到87.5%时,如果仍未收到服务器的应答,客户端会以广播方式向DHCP服务器发送DHCP REQUEST报文,再次请求更新IP地址租期。
- 如果续租失败,即租期到达100%时,客户端必须放弃当前的IP地址,并重新发送DHCP DISCOVER报文来请求一个新的IP地址。
二 使用DHCP动态配置主机地址
1.配置DHCP服务器
(1)安装DHCP服务器软件
- CentOS光盘中的 dhcp-4.2.5-47.el7.centos.x86_64.rpm
- DHCP软件包的主要文件 主配置文件:/etc/dhcpd.conf 执行程序:/usr/sbin/dhcpd、/usr/sbin/dhcrelay
(2)建立主配文件dhcpd.conf
dhcpd.conf 的内容构成
全局设置,作用于整个 DHCP 服务器
- ddns-update-style none;
- default-lease-time 21600;
- max-lease-time 43200;
- option domain-name "domain.org";
- option domain-name-servers 202.106.0.20;
Subnet网段声明,作用于整个子网段
- range 参数:设置用于分配的 IP 地址池
- option subnet-mask 参数:设置客户机的子网掩码
- option routers 参数:设置客户机的默认网关地址
host 主机声明,作用于单个主机
- hardware ethernet 参数:指定对应主机的 MAC 地址
- fixed-address 参数:指定为该主机保留的 IP 地址
(3)启动dhcpd服务
2.使用DHCP客户端
两种使用方式
[root@localhost ~]# dhclient -d ens33
……
Listening on LPF/ens33/00:0c:29:3b:ff:76
Sending on LPF/ens33/00:0c:29:3b:ff:76
Sending on Socket/fallback
DHCPDISCOVER on ens33 to 255.255.255.255 port 67 interval 5 (xid=0x608095ef)
DHCPREQUEST on ens33 to 255.255.255.255 port 67 (xid=0x608095ef)
DHCPOFFER from 192.168.4.11
DHCPACK from 192.168.4.11 (xid=0x608095ef)
bound to 192.168.4.131 -- renewal in 8669 seconds.
……
三 DHCP 中继
1.DHCP中继原理
- 当企业的内部网络规模较大时,通常被划分为多个不同的子网,网络内配置了VLAN,VLAN能隔离广播,而DHCP协议使用广播
- DHCP服务器在VLAN 100中,就只有VLAN 100内的客户机能从在此获取IP地址
- 如果VLAN 2或VLAN 3的客户机 也需要通过这台DHCP服务器来 获取IP地址,应该怎么办?
2.DHCP中继配置
1.DHCP中继的配置命令
ip helper-address DHCPsrv-IPAddress
DHCPsrv-IPAddress 为DHCP服务器的IP地址
2.在三层交换机上配置DHCP中继转发,是在不包含DHCP服务器的VLAN上配置实现的
- SW-3L(config)#interface vlan 100
- SW-3L(config-if)#ip address 192.168.100.1 255.255.255.0
- SW-3L(config-if)#no shutdown