网络运维与网络安全 阶段一 基础篇二十

弹性交换网络

2026.5.23

1、DHCP原理

2、基于全局的DHCP

3、基于接口的DHCP

4、DHCP中继

5、交换机部署DHCP

6、DHCP地址池管理

一、DHCP

1、DHCP概述

1)为什么使用DHCP?

因为手动配置IP地址在小型网络中是可行的,但对于大型网络来说,这种方法既繁琐又容易出错。DHCP简化了IP地址的管理和分配,通过自动化过程减少了人工错误

2)DHCP是什么?

DHCP:Dynamic Host Configuration Protocol:动态主机配置协议

DHCP是一种集中对用户IP地址进行动态管理和配置的技术

3)DHCP的作用

作用:实现IP地址的动态分配和集中管理

优势:避免手工配置IP地址,提高工作效率,避免出错,且能快速适应网络的变化

4)DHCP角色

DHCP客户端:需要获取IP地址的设备,如:计算机、服务器、手机、IP电话

DHCP服务器:负责为DHCP客户端分配IP地址等网络参数的设备

DHCP中继(中转站-可选):负责DHCP服务器和DHCP客户端之间的DHCP报文(房地产中介公司)

备注:企业网络中一般不需要部署DHCP中继

联系实际生活进行理解:
租客:需要获取房子(客户端)
房东:负责为租客提供房子(服务器)
中介:负责租客与房东之间联系(中继)

2、DHCP服务器给首次接入网络的客户端分配网络参数的工作原理

1)发现阶段:客户端广播发送DHCP Discover报文(DHCP 发现报文,客户端找DHCP服务器,请求IP地址)

(租客在天桥、电线杆、公共卫生间......贴满了求租广告)

2)提供阶段:服务器收到客户端发的报文后,会单播回复DHCP Offer报文(DHCP 回应报文,服务器给客户端发IP)

(房东看到广告,给租客打电话)

3)选择阶段:客户端收到offer报文后,会再次广播发送DHCP Request报文(DHCP请求报文,客户端广播告知所有的服务器,选择了某某IP地址)

(租客找到并选择了适合的房子,并给其他联系提供房子的房东回复找到房子的消息)

4)确认阶段:服务器收到客户端发报文后,会单播回复DHCP ACK报文(DHCP确认报文,确认分配结果,只有发了ACK报文,客户端才可以使用IP)

(租客和房东互签协议)

案例一

这样该案例的dhcp就设置好了,在ensp仿真软件中,ipv4配置选择dhcp,选择应用

在pc1客户端命令行输入ipconfig,会看到pc1被分配好的ip地址,用pc1去ping pc2,可以通信

dhcp配置步骤总结:

R1\]dhcp enable //开启dhcp功能 \[R1\]ip pool tedu //创建ip地址池,tedu是名字,可自定义 \[R1-ip-pool-tedu\]network 192.168.1.0 mask 24 //配置可分配的地址段 \[R1-ip-pool-tedu\]gateway-list 192.168.1.254 //配置网关地址 \[R1-ip-pool-tedu\]dns-list 8.8.8.8 //配置dns地址 \[R1-ip-pool-tedu\]lease day 1 //配置租期 \[R1\]interface GigabitEthernet 0/0/0 \[R1-GigabitEthernet0/0/0\]ip address 192.168.1.254 24 //此接口ip地址和网关地址一致 \[R1-GigabitEthernet0/0/0\]dhcp select global //在接口下开启基于全局的dhcp PS:dhcp服务器分配给客户端pc的动态dhcp的ip地址,一般是逐渐递减的 验证DHCP全局设置的工作原理,通过抓包查看是否是相应的请求和指针的变化,交换机处输入命令stp disable,路由器内设置完毕后,在路由器的0/0/0接口处进行抓包,pc1先设置为静态ip,然后再设置为dhcp,抓包工具就会自动生成请求条目 ![](https://i-blog.csdnimg.cn/direct/c96e8fe3c06e41cd995a8266e934e019.png) 配置地址排除(如果有不希望dhcp分配的地址可使用下面命令进行排除) ![](https://i-blog.csdnimg.cn/direct/8b5902ab3d184482a386e079960fcc4c.png) 有的时候,企业拓扑中会配置服务器,服务器一般会配置静态地址,但是dhcp并没有识别出这个地址的能力,所以如果不进行排除有可能会有冲突,所以上述命令在一些场景里还是被需要的 3、基于全局的DHCP实验 1)抓包验证DHCP服务的工作原理(案例一) 案例二 全局dhcp设置 ![](https://i-blog.csdnimg.cn/direct/2b80e124c1434a7ba8d1e95026150ca3.png) ![](https://i-blog.csdnimg.cn/direct/1ed6dac2a82c4807ada98e89ad701815.png) 2)DHCP服务器为什么配置地址排除? 因服务器已静态使用了排除地址,为避免和服务器地址冲突 3)如何配置IP地址排除 \[R1\]ip pool tedu \[R1-ip-pool-tedu\]excluded-ip-address 192.168.1.250 192.168.1.253 4)查看ip地址池 \[R1\]display ip pool name tedu all //查看全局IP地址池中全部地址信息 ![](https://i-blog.csdnimg.cn/direct/7a24462817b24306ae1c55fe678d2b5d.png) ![](https://i-blog.csdnimg.cn/direct/6ba553302aaf48418fd336e39ec6d485.png) 下面这张表是客户端的ip地址和其mac地址,以后需要查看客户端被分配的ip地址和其mac地址信息进行比对可以在这里进行查看 4、基于接口的DHCP实验 案例三 接口网段 ![](https://i-blog.csdnimg.cn/direct/1c4e53e70eaf4622a3f46c21dd2d2609.png) ![](https://i-blog.csdnimg.cn/direct/7336fe8411be465ea112da95fcf29196.png) ![](https://i-blog.csdnimg.cn/direct/7cd55e4ee9fa443fbdc2f246d8061bb2.png) 在仿真软件上再次从静态选择DHCP,然后选择应用 ![](https://i-blog.csdnimg.cn/direct/4904fd4c4b1c4312a860d3832d539495.png) 会发现pc1的ip地址从0.0.0.0被分配到同为1.0网段的192.168.1.253 5、配置DHCP中继 案例四 中继 ![](https://i-blog.csdnimg.cn/direct/fac4e49f45f94854b175bacc31b4ab5b.png) 这里选用AR2作为DHCP服务器,并为pc1,pc2分配10.0网段的ip地址,网关设置为192.168.10.254,但是特别注意这个网关是左侧路由器的网关,即路由器接口0的ip地址,即pc1与pc2的出口网关,这个设置不能设置错 ![](https://i-blog.csdnimg.cn/direct/8949ae933c124e548e8fdfa4896a37b4.png) 在案例四中,左侧就是10.0网段是客户端向外发送discover广播报文,类似于人在10.0这个区域张贴广告寻找房源,但是他无法将这个信息广播到20.0网段的dhcp服务器,所以这里面AR1就起到了中继的作用,类似于房产中介,帮人找到房源,但是实际企业环境中,应尽量避免使用中继服务器 ![](https://i-blog.csdnimg.cn/direct/f337da1fccf742a9abfbce07bef410a2.png) \[R1-ZJ-GigabitEthernet0/0/0\]dhcp relay server-ip 192.168.20.20 //告诉中继dhcp服务器的地址是192.168.20.20,relay是转发、中继的意思 以上就是中继的配置,中继配置完之后,客户端会通过中继将discover广播报文转发给20.0网段,但是AR2上没有可以回包的路由,所以需要为他指定回包的路由,目前掌握的只有静态路由,需要在AR2上进行设置 ![](https://i-blog.csdnimg.cn/direct/fe27c39ca7254e86bb4d256498510a19.png) 通过上面的设置,pc端得到了dhcp分配的ip地址 ![](https://i-blog.csdnimg.cn/direct/eb91d7ad40094c4d9e2eca9c5fe60dc8.png) 6、三层交换机部署DHCP 案例五 给不同vlan通过设置分配不同网段 ![](https://i-blog.csdnimg.cn/direct/f3128ce311de4a43ada606f53f4facbf.png) ![](https://i-blog.csdnimg.cn/direct/96c3b41963734f2b96ce9db61a8d8873.png) ![](https://i-blog.csdnimg.cn/direct/03c082a5741c495f83f3aa8a6436fab2.png) ![](https://i-blog.csdnimg.cn/direct/968803704bee4b7fa2d1cf0e8f9e79a8.png) ![](https://i-blog.csdnimg.cn/direct/d20ed5a3c3964c448931bc41eb51eb96.png) ![](https://i-blog.csdnimg.cn/direct/ff568f5a117d422f9e47460412baa418.png) ![](https://i-blog.csdnimg.cn/direct/53661be2459146d4bcdbbec1950aa77b.png) 通过上面的设置,不同vlan的pc1与pc3获得了不同网段的ip地址 pc1与pc3由静态选择到dhcp,pc端命令行输入ipconfig,如果一开始没有得到应分配的ip地址,就关掉窗口,再重新输入命令ipconfig,dhcp分配地址会有延迟。如果还是没有被分配地址,可以通过给客户端配置静态ip地址,然后再进行互相通信这种方式进行检验,如果无法互通,便说明从前面的基础配置开始就是有问题的。 7、关于dhcp的常用命令 如果说不想再要dhcp分配的ip地址,不管是三层交换机还是路由器分配的,都可以使用命令进行释放 ipconfig /release //释放当前ip地址 如果想重新获取dhcp分配的ip地址,不管是三层交换机还是路由器分配的,都可以使用命令重新进行获取 ipconfig /renew //更新IP地址(获取IP地址) 回到案例五 \display ip pool name vlan10 all //查看名为vlan10的地址池的全部ip信息 ![](https://i-blog.csdnimg.cn/direct/ac0a24789e48459b8f69aaa4839ad4e9.png) 这其中vlan10地址池只占用了一个252,是因为个人学习过程中,只在pc1上面使用ipconfig命令,所以动态获取只有一个,占用的也只有一个 \display ip pool name vlan10 used //查看名为vlan10的地址池已使用的ip地址 \reset ip pool name vlan10 192.168.10.253 //回收已分配的ip地址 (注意这个回收地址是存在某个ip地址特别需要的情况下,这个命令必须和客户端释放的命令必须同时使用才满足条件,服务器端才可以对地址进行回收,否则会因租期未到单方面解约而失败,类似于人类租房的房东和租客的协议) 现实生活中,人类租房子,租期一年,提前30天续期,那么关于dhcp的租期问题 8、租期 1)租期T1: 当IP地址的租用时间到达50%时,客户机会以单播方式向服务器发送Request请求报文,请求更新IP地址租期(续租的时候只需要找服务器发单播消息就可以) DHCP服务器如果回复DHCP ACK确认报文给客户机,代表租期更新成功,从0开始(续租成功) 2)租期T2: 如果DHCP服务器一直没有回应,那么在IP地址的租用时间到达87.5%时,客户机会以广播方式向服务器发送Request请求报文,请求更新IP地址租期(服务器一直不回复,在到期之前重新找到其他地址) DHCP服务器如果回复DHCP ACK确认报文给客户机,代表租期更新成功,从0开始(续租成功) 9、几种尴尬情景解决方案 情景一:接口模式配置改回trunk(两交换机相连应为trunk模式) ![](https://i-blog.csdnimg.cn/direct/ed86bf73ac9646d6bfbe66e876f980f5.png) 情景二:接口模式配置改回access(交换机与客户端相连应为access模式) ![](https://i-blog.csdnimg.cn/direct/20f99f81b6f34e4eac2f3fef0d7a41e9.png)

相关推荐
染翰1 小时前
Linux Maven编译机器配置教程
linux·运维·maven
RemainderTime2 小时前
打破容器孤岛:如何基于 Docker Network 构建内网安全隔离的 CI/CD 部署闭环
运维·网络·nginx·docker·jenkins
2401_8685347810 小时前
分析RTOS与Linux有什么区别
linux·运维·服务器
Peace11 小时前
【Nginx】
linux·运维·nginx
网络与设备以及操作系统学习使用者12 小时前
Linux与Windows核心差异深度解析
linux·运维·网络·windows·学习
fiveym14 小时前
PXE安装Debian报错:GRUB安装失败排查指南
运维·debian
张小姐的猫15 小时前
【Linux】多线程 —— 线程同步 | 生产者消费者模型 | POSIX 信号量
linux·运维·服务器
handler0115 小时前
【MySQL】教你库与表的增删查改操作(基础)
运维·数据库·笔记·sql·mysql·数据·分析
biter down15 小时前
12:参数化测试,一套用例批量跑 N 组数据
运维·python