DHCP的原理及配置

目录

一、了解DHCP服务

1.什么是DHCP 

1.1DHCP广播

2.使用DHCP的好处 

2.1为什么使用DHCP 

3.DHCP的模式与分配方式 

3.1分配方式

3.2模式 

二、DHCP工作原理

1.四次回话 

2.重新登录 

3.更新租约

4.扩展

三、安装DHCP服务 

四、DHCP局部配置并且测试

五、使用DHCP实现不同网段获取地址

5.1问题 

5.2分析DHCP 

5.3 两种方法可以解决


一、了解DHCP服务

1.什么是DHCP 

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

DHCP的前身是BOOTP协议(BootstrapProtocol),BOOTP被创建出来为连接到网络中的设备自动分配地址,后来被DHCP取代了,DHCP比BOOTP更加复杂,功能更强大。(如果使用wireshark抓包过滤协议是用bootp而不是dhcp) 

1.1DHCP广播

DHCP广播过程是在网络中用于获取IP地址及其他网络配置信息的一种方法。下面是DHCP广播过程的简要描述:

DHCP Discover:

客户端(通常是计算机或其他网络设备)在初始连接到网络时发送一个DHCP Discover广播消息。这个广播消息的目的地址是255.255.255.255,即广播地址,这样可以确保所有连接到同一个网络的DHCP服务器都能收到这个消息
DHCP Discover消息中包含客户端的MAC地址和可能的其他信息,例如支持的DHCP选项和配置参数的最大长度
DHCP Offer:

DHCP服务器收到DHCP Discover消息后,如果它有可用的IP地址池和配置信息,会向客户端发送DHCP Offer消息
DHCP Offer消息中包含一个可用的IP地址及其他网络配置信息,比如子网掩码、默认网关、DNS服务器等
服务器将自己的IP地址作为源IP发送Offer,目标IP是广播地址
DHCP Request:

客户端收到一个或多个DHCP Offer后,通常会选择其中一个Offer并向发送该Offer的DHCP服务器发送DHCP Request消息,以请求指定的IP地址和配置信息
DHCP Request消息中包含客户端希望使用的IP地址(通常是服务器提供的一个)
DHCP Acknowledge:

DHCP服务器收到DHCP Request消息后,会验证请求的IP地址是否仍然可用。如果IP地址可用,服务器会向客户端发送DHCP Acknowledge消息,确认IP地址分配成功
DHCP Acknowledge消息中包含客户端被分配的IP地址及其他网络配置信息
配置应用:

客户端收到DHCP Acknowledge消息后,会应用所获取的IP地址及其他配置信息。此时客户端与网络正式连接
DHCP广播过程的关键点:
广播地址:客户端使用广播地址发送DHCP Discover消息,以确保所有可能的DHCP服务器都能接收到请求
选择性:客户端可以收到多个DHCP Offer后进行选择,并向其中一个服务器发送DHCP Request来确认选择
确认:DHCP Acknowledge消息由服务器发送,确认了IP地址分配的最终结果

2.使用DHCP的好处 

(1)减少管理员的工作量
(2)避免输入错误的可能
(3)避免 IP 地址冲突
(4)当网络更改IP地址段时,不需要再重新配置每个用户的IP地址
(5)提高了IP地址的利用率
(6)方便客户端的配置

2.1为什么使用DHCP 

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

3.DHCP的模式与分配方式 

3.1分配方式

自动分配:是当DHCP客户机第一次成功地从DHCP服务器获取到一个IP地址后, 就永久地使用这个IP地址
手动分配:是由DHCP服务器管理员专门指定IP地址
动态分配:是当DHCP客户机第一次从DHCP服务器获取到IP地址后,并非永久地使用该地址,而是在每次使用完后,DHCP客户机就会释放这个IP地址,供其他客户机使用

3.2模式 

典型的C/S模式
在网络中架设一台专用的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)

二、DHCP工作原理

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

1.四次回话 

客户机请求IP地址

当一个DHCP客户机启动时,客户机还没有IP地址,所以客户机要通过DHCP获取一个合法的地址。此时DHCP客户机以广播方式发送DHCP Discover信息来寻找DHCP服务器

服务器响应

当DHCP服务器接收到来自客户机请求IP地址的信息时,它就在自己的IP地址池中查找是否有合法的IP地址提供给客户机。如果有,DHCP服务器就将此IP地址做上标记, 加入到 DHCP Offer的消息中,然后DHCP服务器就广播一则DHCP Offer消息  

客户机选择IP地址

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

服务器确定租约

DHCP服务器接收到DHCP Request消息后,以DHCP ACK消息的形式向客户机广播成功确认,该消息包含有IP地址的有效租约和其他可配置的信息。当客户机收到DHCP ACK消息时,它就配置了IP地址,完成TCP/IP的初始化

DHCP的工作方式有点像你在找房子时的流程:

找房子:当你刚搬到一个新城市时,你需要找一处房子住下来。在网络中,新加入的设备也需要一个IP地址来“住”在网络上

发出广播:你会向周围的房东广播你的需求,告诉他们你正在找房子。在网络中,设备会向周围的DHCP服务器发出广播消息,告诉它们它们需要一个IP地址

收到房源信息:房东们收到你的广播后,如果有空房间,就会回复你,告诉你他们有可用的房源。在网络中,DHCP服务器收到广播后会回复设备,提供可用的IP地址和其他网络设置,比如网关和DNS服务器的地址

确认租房:你从收到的房源中选择一处合适的房子,然后告诉房东你要租这个房子。在网络中,设备选择一个DHCP服务器提供的IP地址,并向该服务器发送请求,确认租用这个IP地址

签订合同:房东确认接受你的请求后,你们就达成了租房协议,你可以搬进新家了。在网络中,DHCP服务器确认设备的请求后,将正式分配IP地址给设备,并提供其他网络配置信息,设备就可以开始使用这个IP地址与网络上的其他设备进行通信了

总体来说,DHCP广播过程就是一个设备在网络上寻找并租用IP地址的自动化过程,它使得设备能够快速、方便地加入并使用网络

2.重新登录 

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

3.更新租约

当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地址

4.扩展

为什么会获得169.254.0.0/16网段的地址
一开始DHCP客户机初始化TCP/IP,通过UDP端口67向网络中发送一个DHCP DISCOVER广播包,请求租用IP地址。任何接收到DHCP DISCOVER广播包并且能够提供IP地址的DHCP服务器,都会通过UDP端口68给客户机回应一个DHCP OFFER广播包,提供一个IP地址。但是DHCP客户机在发出IP租用请求的DHCP DISCOVER广播包后,将花费1秒钟的时间等待DHCP服务器的回应,如果1秒钟没有服务器的回应,它会将这一广播包重新广播四次(以2,4,8和16秒为间隔,加上1~1000毫秒之间随机长度的时间)。四次之后,如果仍未能收到服务器的回应,则运行Windows的DHCP客户机将从169.254.0.0/16这个自动保留的私有IP地址(APIPA)中选用一个IP地址,而运行其他操作系统的DHCP客户机将无法获得IP地址

三、安装DHCP服务 

实验配置步骤:
1、yum安装dhcp服务
2、配置dhcp配置文件
3、启动服务
4、查看端口
5、验证服务

安装DHCP服务前的准备

rpm -q dhcp      #查看有没有软件包

yum install -y dhcp      #下载软件包

rpm -qc dhcp    #查看配置文件有哪些

cat /etc/dhcp/dhcpd.conf       #查看配置文件

cp -fp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf    

拷贝模板起名为dhcpd.conf     

四、DHCP局部配置并且测试

subnet 网段声明
一台DHCP服务器可以为多个网段提供服务,因此subnet网段声明必须有而且可以有多个。
注意别少了每行结尾的分号!

编辑配置文件

vim /etc/dhcp/dhcpd.conf

subnet 172.16.58.0 netmask 255.255.255.0 {
#default-lease-time 6000;
  range 172.16.58.210 172.16.58.220;
  option broadcast-address 172.16.58.255;
  option routers 172.16.58.200;
  option domain-name-servers 114.114.114.114;
}

客户端验证:
ipconfig /release
ipconfig /renew

dhcp默认日志记录在/var/log/messages

客户机预留指定的固定ip地址

编辑配置文件

vim /etc/dhcp/dhcpd.conf

添加配置信息然后保存退出

重启服务器

host 主机声明,作用于单个主机
#hardware ethernet 参数:指定对应主机的 MAC 地址
#fixed-address        参数:指定为该主机保留的IP地址 

验证方法跟上面一样

ipconfig /release
ipconfig /renew

ipconfig /all

在服务器端可以通过查看租约文件来了解服务器的 IP 地址分配情况,具体操作如下:

less /var/lib/dhcpd/dhcpd.leases
该租约文件中记录了分配出去的每个IP地址信息(租约记录), 包括IP地址、客户端的MAC 地址、租用的起始时间和结束时间等
该文件初始为空,且无需管理员手工配置,但管理员可以浏览此文件查看DHCP服务器的运行情况
文件包含租期声明,每次一个租期被获取,更新或释放,它的新值就被记录到文件的末尾 

客户端需要通过dhclient命令释放获取的IP租约时,可以结合“-r”选项。此时再通过执行ifconfig 命令就看不到分配的IP地址了
dhclient -r ens33

五、使用DHCP实现不同网段获取地址

5.1问题 

同网段可以通过广播消息来通信,来可以查找主机,那不同网段呢,不同网段不能广播吧,这个时候是不是可以使用DHCP中继这个服务吧,也就是使用中继的技术,你们之前是不是使用过华为的中继嘛,你配一个路由器或者配一个三层交换,然后呢,可以做个DHCP中继指向DHCP服务器,不就是能完成获取DHCP服务吗,就算不在同一网段我通过中继服务器转发不就可以了吗

5.2分析DHCP 

DHCP中继原理
当企业内部网络规模比较大时,通常通过 VLAN 将网络规划为多个不同的子网。但是在该情况下一台DHCP服务器无法为不同网段的客户机同时提供服务,因为DHCP协议使 用广播,而VLAN能隔离广播

5.3 两种方法可以解决

(1)为每个网段安装一台DHCP服务器,但这种方式的弊端是:资源浪费与不利于管理
(2)在连接不同网段的设备上开启DHCP中继功能,将DHCP这种特殊的广播信息在VLAN 之间转发,让其他VLAN的客户机也能从DHCP服务器获取IP地址

  • 8
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DHCP Snooping是一种网络安全技术,用于防止恶意DHCP服务器和DHCP欺骗攻击。它基于交换机上的DHCP Snooping表,通过检查和验证DHCP消息的源MAC地址、IP地址和租约信息,确保只有授权的DHCP服务器可以提供IP地址给客户端。 工作原理如下: 1. 所有接入交换机端口默认为未信任状态,不允许发送DHCP请求或响应。 2. 管理员将指定的接入交换机端口标记为信任状态,允许发送DHCP消息。 3. 交换机在信任端口上监听DHCP Discover消息,并将源MAC地址、IP地址和租约信息添加到DHCP Snooping表中。 4. 当交换机接收到DHCP Offer、Request和Ack消息时,会验证源MAC地址、IP地址和租约信息是否与DHCP Snooping表中的相符。 5. 如果验证通过,交换机将允许该消息继续转发。否则,该消息将被丢弃。 配置步骤如下: 1. 开启DHCP Snooping功能: ``` switch(config)# ip dhcp snooping ``` 2. 标记信任和非信任接口: ``` switch(config)# interface <interface> switch(config-if)# ip dhcp snooping trust ``` 3. 配置DHCP绑定: ``` switch(config)# ip dhcp snooping binding <mac-address> vlan <vlan-id> interface <interface> ``` 4. 配置DHCP Snooping数据库保存位置(可选): ``` switch(config)# ip dhcp snooping database <filename> ``` 5. 配置DHCP Snooping选项(可选): ``` switch(config)# ip dhcp snooping option <option-name> <option-value> ``` 请注意,具体的配置步骤可能因不同的交换机型号和操作系统而有所差异,请参考相关厂商文档或命令行帮助进行配置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值