DHCP原理与配置

本文详细介绍了DHCP的工作原理,包括其作为动态主机配置协议的功能、好处、模式以及分配方式。DHCP通过四个步骤实现IP地址的租约过程,简化了网络管理,避免了IP冲突。此外,还阐述了如何使用DHCP动态配置主机地址,包括DHCP服务器的安装、配置文件设置和租约更新机制。最后,文章提供了配置示例和客户端验证方法。
摘要由CSDN通过智能技术生成

引言

本文介绍了DHCP的工作原理及租约过程,以及如何使用DHCP动态配置主机地址。

一、DHCP工作原理

1、了解DHCP服务

1.1 什么是DHCP

  1. DHCP (Dynamic Host Configuration Protocol,动态主机配置协议)是由Internet工作任务小组设计开发的,专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议,是一个应用层协议,使用UDP的67和68端口。

  1. DHCP的前身是BOOTP协议(BootstrapProtocol),BOOTP被创建出来为连接到网络中的设备自动分配地址,后来被DHCP取代了,DHCP比BOOTP更加复杂,功能更强大。

1.2 DHCP的好处

由于上网时间的不确定性以及使用人员的技术水平不同,为每位用户分配一个固定的IP地址,不仅造成了IP地址的浪费,也会为ISP服务商带来高额的维护成本。而使用DHCP服务有以下好处:

  • 减少管理员的工作量

  • 避免输入错误的可能

  • 避免IP地址冲突

  • 当更改IP地址段时,不需要重新配置每个用户的IP地址

  • 提高了IP地址的利用率

  • 方便客户端的配置

1.3 为什么使用DHCP

DHCP 服务避免了因手动设置 IP 地址所产生的错误,同时也避免了把一个 IP 地址分配给多台工作站所造成的地址冲突。DHCP 提供了安全、可靠且简单的 TCP/IP 网络设置,降低了配置 IP 地址的负担。

1.4 DHCP的模式

在网络中架设一台专用的 DHCP 服务器,负责集中分配各种网络地址参数(主要包括 IP 地址、子网掩码、广播地址、默认网关地址、DNS 服务器地址);其他主机作为 DHCP 客户机,将网卡配置为自动获取地址,即可与 DHCP 服务器进行通信,完成自动配置过程。

DHCP 是 C/S 模式,DHCP 服务端和客户端需要保持通信,DHCP 基于 UDP 协议,双方都有可能会主动向对方发起通信,因此双方都需要监听端口。

  • Server 端:DHCP Server(运行 dhcp 服务)

  • UDP 服务:监听端口 67(bootps)

  • Client 端:DHCP Client(运行 dhcp 程序)

  • UDP 服务:监听端口 68 (bootpc)

1.5 DHCP 的分配方式

  • 自动分配:分配到一个IP地址后永久使用

  • 手动分配:由DHCP服务器管理员专门指定IP地址

  • 动态分配:使用完后释放该IP,供其它客户机使用

2、DHCP的租约过程

客户机从DHCP服务器获得IP地址的过程称为DHCP的租约过程分为4个步骤

2.1 客户机请求IP地址

  • 当一个DHCP客户机启动时,客户机还没有IP地址,所以客户机要通过DHCP获取一个合法的地址

  • 此时DHCP客户机以广播方式发送DHCP Discover发现信息来寻找DHCP服务器

2.2 服务器响应

  • DHCP服务器接收到来自客户机请求lP地址的信息时,在自己的IP地址池中查找是否有合法的IP地址提供给客户机

  • 如果有,DHCP服务器将此IP地址做上标记,加入到DHCP Offer的消息中,然后广播一则DHCP Offer消息

2.3 客户机选择lIP地址

  • DHCP客户机从接收到的第一个DHCP Offer消息中提取IP地址,发出IP地址的DHCP服务器将该地址保留,这样该地址就不能再分配给另一个DHCP客户机

2.4 服务器确定租约

  • DHCP服务器接收到DHCP Request消息后,以DHCPACK消息的形式向客户机广播成功确认,该消息包含有IP地址的有效租约和其他可配置的信息

  • 当客户机收到DHCPACK消息时,配置IP地址,完成TCP/IP的初始化

2.5 重新登录

  • DHCP客户机每次重新登录网络时,不需要再发送DHCPDiscover信息,而是直接发送包含前一次所分配的IP地址的DHCP Request请求信息

2.6 更新租约

  • 当DHCP服务器向客户机出租的IP地址租期达到50%时,就需要更新租约

  • 客户机直接向提供租约的服务器发送DHCP Request包,要求更新现有的地址租约

租期达到50%(T1)时,DHCP客户端会自动以单播的方式向DHCP服务器发送DHCP REQUEST报文,请求更新IP地址租期。如果收到DHCP服务器回应的DHCP ACK报文,则租期更新成功(即租期从0开始计算);如果收到DHCP NAK报文,则重新发送DHCP DISCOVER报文请求新的IP地址。

当租期达到87.5%(T2)时,如果仍未收到DHCP服务器的应答,DHCP客户端会自动以广播的方式向DHCP服务器发送DHCP REQUEST报文,请求更新IP地址租期。如果收到DHCP服务器回应的DHCP ACK报文,则租期更新成功(即租期从0开始计算);如果收到DHCP NAK报文,则重新发送DHCP DISCOVER报文请求新的IP地址。

二、使用DHCP动态配置主机地址

1、DHCP服务

DHCP服务

  • 为大量客户机自动分配地址,提供集中管理

  • 减轻管理和维护成本、提高网络配置效率

可分配的地址信息主要包括

  • 网卡的IP地址、子网掩码

  • 对应的网络地址、广播地址

  • 默认网关地址

  • DNS服务器地址

2、安装DHCP服务器

DHCP服务器软件

  • CentOS光盘中的dhcp-4.2.5-47.el7.centos.x86_64.rpm

  • DHCP软件包的主要文件

主配置文件:/etc/dhcpd.conf
执行程序:/usr/sbin/dhcpd、/usr/sbin/dhcrelay

3、主配置文件

ddns-update-style interim;       ###全局配置参数
subnet 192.168.100.0 netmask 255.255.255.0 {       ###网段声明
option routers 192.168.100.1;               ###配置选项
.....
default-lease-time 21600;                ###配置参数
......               
host hostname {                                #指定需要分配固定IP地址的客户机名称
  hardware ethernet  xx:xx:xx:xx:xx:xx;        #指定该主机的MAC地址
  fixed-address 192.168.100.100;                #指定保留给该主机的IP地址
}

4、设置全局配置参数

[root@localhost /etc/dhcp]#vim dhcpd.conf
option domain-name "example.org" ;                        //指定默认搜索域,本地域名
option domain-name-servers ns1.example.org, ns2.example.org;     //指定DNS 服务器地址,多台用逗号隔开
default-lease-time 600;      //默认租约为600秒
max-lease-time 7200;     //最大租约为2小时,在客户端没有特殊的租约时间请求的时候,都会统一的指派默认租约时间(多数情况)。如果客户端请求了自定义的租约时间,服务器将会启用最大租约时间作为限制,客户端自己请求的租约时间不能大于该值
ddns-update-style none;      //禁用DNS 动态更新,提高DHCP的效率,减少带宽的使用,默认注释了
ignore client-updates:       //与ddns-update-style设定相关,客户端可以通过DHcP服务器来更新DNs相关信息,这里暂时不予考虑,所以设置成igore.

5、subnet 网段声明(作用域整个子网段,部分配置参数优先级高于全局配置参数)

一台DHCP服务器可以为多个网段提供服务,因此 subnet网段声明必须有而且可以有多个。

subnet 192.168.100.0 netmask 255.255.255.0 {      #声明要分配的网段地址
range 192.168.100.200 192.168.100.220;               #设置地址池
option routers 192.168.100.254;                   #指定默认网关地址
}
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.120;
option routers 192.168.1.254;
}
subnet 192.168.2.0 netmask 255.255.255.0 {
range 192.168.2.100 192.168.2.120;
option routers 192.168.2.254;
}

6、开启DHCP服务

systemctl start dhcpd                          #开启dhcp服务
systemctl stop firewalld                       #关闭防火墙
sentenforce 0                                  #关闭防火墙
netstat -naup | grep 67                        #查看服务是否启动
tail -f /var/log/messages                      #如果启动失败,可以通过查看日志文件来排查错误
 
客户端验证:
ipconfig /release
ipconfig /renew

查看租约文件/varllibldhcpd/dhcpd.lease

[root@localhost ~]# less /varllibldhcpd/dhcpd.leases
lease 192.168.4.131{               ###分配得客户端IP
starts 4 2017/05/11 17:27:15;      ###租期时间
ends 4 2017/05/11 23:27:15;
cltt 4 2017/05/11 17:27:15;
binding state active;
hardware ethernet 00:0c:29:3b:ff:76;     ###客户端MAC地址
}

7、DHCP局部配置及测试

一台 DHCP 服务器可以为多个网段提供服务,因此 subnet 网段声明必须有而且可以有多个。

注意别少了每行结尾的分号!

[root@zhang ~]# vim /etc/dhcp/dhcpd.conf 
subnet 192.168.109.0 netmask 255.255.255.0 {     //声明网段地址 
 #default-lease-time 6000;        //默认租约为6000秒,当和全局设置重复时,subnet里的配置生效
  range 192.168.109.33 192.168.109.55;    //设置地址池 
  #option broadcast-address 192.168.109.255;   //定义广播地址
  option routers 192.168.109.11;   //指定默认网关地址
  option domain-name-servers 114.114.114.114;   //定义DNS服务器

实验:

  1. 进入vim /etc/dhcp/dhcpd.conf

2、添加以下4行,声明网段地址,设置地址池,指定默认网关地址,定义DNS服务器

3、重启一下dhcpd,然后查看状态是否开启

客户端验证

4、开启一台win10,按win+R进入cmd界面,然后ipconfig /release释放租约

5、ipconfig /renew重新申请IP地址,配置成功

四、总结

本文主要讲了DHCP工作原理及租约过程,如何使用DHCP动态配置主机地址。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值