DHCP动态主机配置协议

server/2024/12/22 16:39:09/

DHCP概述

DHCP是什么

  • DHCP:Dynamic Host Configuration Protocol:动态主机配置协议
  • DHCP是一种集中对用户IP地址进行动态管理和配置的技术

DHCP作用:

  • 作用:实现IP地址的动态分配和集中管理
  • 优势:避免手工配置IP地址,提高工作效率,避免出错,且能快速适应网络变化

DHCP角色

  • DHCP客户端:需要获取IP地址的设备
  • DHCP服务器:负责为DHCP客户端分配IP地址等网络参数的设备
  • DHCP中继:负责DHCP服务器和DHCP客户端之间的DHCP报文
    ps:企业网络中一般不需要部署DHCP中继

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

  • 发现阶段:客户端广播发送DHCP Discover报文(DHCP发现报文,客户端找DHCP服务器,请求IP地址)
  • 提供阶段:服务端收到客户端发的报文后,会单播回复DHCP Offer报文(DHCP回应报文,服务器给客户端发IP地址、网关、DNS等)
  • 选择阶段:客户端收到Offer报文后,会再次广播发送DHCP Request报文(DHCP请求报文,客户端广播告知所有的服务器,选择了某某IP地址)
  • 确认阶段:服务器收到客户端发的报文后,会单播回复DHCP ACK报文(DHCP确认报文,确认分配结果,只有发了ACK报文,客户端才可以使用IP)

基于全局的DHCP实验

拓扑

需求:PC1/PC2能够自动获取IP地址、网关、DNS

配置步骤:

第一步:在系统视图下开启DHCP功能

第二步:配置IP地址池

  • 创建IP地址池
  • 配置可分配的IP地址段
  • 配置网关地址
  • 配置DNS地址
  • 配置租期

第三步:配置R1路由器接口的IP地址

  • 这个接口接收客户端发的报文,这个接口的IP地址,即客户端的网关地址
  • 在这个接口下开启基于全局的DHCP功能

第四步:验证结果

配置命令:

  • [R1]dhcp enable //开启DHCP功能
  • [R1]ip pool tedu //创建IP地址池
  • [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-ip-pool-tedu]quit
  • [R1]int g0/0/0
  • [R1-G0/0/0]ip address 192.168.1.254 24 //此接口IP地址和网关地址一致
  • [R1-G0/0/0]dhcp select global //在接口下开启基于全局的DHCP

验证与测试:

  • PC1和PC2选择获取地址的方式为DHCP
  • 然后PC1和PC2在命令行中,使用ipconfig 命令查看IP地址

数据抓包

抓包

基于全局的dhcp:

  • [R1]ip pool tedu
  • [R1-ip-pool-tedu]excluded-ip-address 192.168.1.250 192.168.1.253 //在基于全局的IP地址池中做地址排除,排除的IP地址不做dhcp分发
  • display ip pool name tedu all //查看全局IP地址池中全部地址信息
  • display ip pool name tedu used //查看全局IP地址池中已分发的IP地址

基于接口的DHCP实验

配置命令:

  • [R1]dhcp enable //开启dhcp功能
  • [R1]int g0/0/0
  • [R1-G0/0/0]ip address 192.168.1.254 24
  • [R1-G0/0/0]dhcp select interface //开启基于接口的dhcp 功能
  • [R1-G0/0/0]dhcp server dns-list 8.8.8.8
  • [R1-G0/0/0]dhcp server lease day 1

DHCP中继实验

中继

配置命令

配置DHCP服务器

  • [R2-DHCP]dhcp enable //开启dhcp 功能
  • [R2-DHCP]ip pool ntd //创建IP地址池
  • [R2-DHCP-ip-pool-ntd]network 192.168.10.0 mask 24
  • [R2-DHCP-ip-pool-ntd]gateway-list 192.168.10.254
  • [R2-DHCP-ip-pool-ntd]dns-list 8.8.8.8
  • [R2-DHCP-ip-pool-ntd]excluded-ip-address 192.168.10.253

DHCP中继配置:

  • [R1-zj]dhcp enable
  • [R1-zj]int g0/0/0
  • [R1-zj-G0/0/0]ip add 192.168.20.10 24
  • [R1-zj-G0/0/0]int g0/0/1
  • [R1-zj-G0/0/1]ip add 192.168.10.254 24
  • [R1-zj-G0/0/1]dhcp select relay //在接口上开启dhcp中继功能
  • [R1-zj-G0/0/1]dhcp relay server-ip 192.168.20.20 //指定dhcp服务器的IP地址

接口上调用中继

  • [R2-DHCP]int g0/0/0
  • [R2-DHCP-GigabitEthernet0/0/0]ip add 192.168.20.20 24
  • [R2-DHCP-GigabitEthernet0/0/0]dhcp select global

租期

租期T1:

  • 当IP地址的租用时间到达50%时,客户机会以单播方式向服务器发送Request 请求报文,请求更新IP地址租期。
    DHCP 服务器如果回复DHCP ACK确认报文给客户机,代表租期更新成功,从0开始

租期T2:

  • 如果DHCP服务器一直没有回应,那么在IP地址的租用时间到达87.5%时,客户机会以广播方式向服务器发送Request 请求报文,请求更新IP地址租期
  • DHCP服务器如果回复DHCP ACK 确认报文给客户机,代表租期更新成功,从0开始

恢复接口上VLAN的缺省配置(让access/trunk/顺利切换)

access接口恢复默认配置(缺省配置)

  • SW1]vlan batch 10 20
  • [SW1]interface g0/0/1
  • [SW1-GigabitEthernet0/0/1]port link-type access
  • [SW1-GigabitEthernet0/0/1]port default vlan 10
  • [SW1-GigabitEthernet0/0/1]port link-type trunk //将接口模式修改为trunk(失败)
  • Error: Please renew the default configurations. :错误:请更新默认配置

如何解决:如何恢复接口上VLAN的缺省配置

第一种方法:
  • [SW1-GigabitEthernet0/0/1]port default vlan 1 //接口pvid恢复为vlan1
  • [SW1-GigabitEthernet0/0/1]port link-type trunk //将接口模式修改为trunk(成功)
第二种方法:
  • [SW1-GigabitEthernet0/0/1]undo port default vlan //恢复接口上VLAN的缺省配置
  • [SW1-GigabitEthernet0/0/1]port link-type trunk //将接口模式修改为trunk(成功)

trunk接口恢复默认配置(缺省配置)

  • [SW1]vlan batch 10 20
  • [SW1]interface g0/0/1
  • [SW1-G0/0/1]port link-type trunk
  • [SW1-G0/0/1]port trunk allow-pass vlan 10 20
  • [SW1-G0/0/1]port link-type access //将接口模式修改为access(失败)
  • Error: Please renew the default configurations. :错误:请更新默认配置

如何解决:如何恢复接口上VLAN的缺省配置

  • [SW1-G0/0/1]undo port trunk allow-pass vlan 10 20 //恢复默认
  • [SW1-G0/0/1]port link-type access //将接口模式修改为access(成功

ps:

  • [SW1-G0/0/1]undo port trunk allow-pass vlan all //删除所有vlan
  • [SW1-G0/0/1]port link-type access //无法修改报错
    Error: Please renew the default configurations.

如何解决:恢复默认配置: undo port trunk allow-pass vlan all 的时候把所有vlan 都干掉了,所以我们要恢复vlan1

第一种方法:
  • [SW1-G0/0/1]undo port trunk allow-pass vlan 2 to 4094 //只删除2 to 4094 不删除vlan1
  • [SW1-G0/0/1]port link-type access //修改成功
第二种方法:
  • [SW1-G0/0/1]undo port trunk allow-pass vlan all //删除所有vlan
  • [SW1-G0/0/1]port trunk allow-pass vlan 1 //补上vlan1,恢复默认
  • [SW1-G0/0/1]port link-type access //修改成功

http://www.ppmy.cn/server/42167.html

相关文章

网络学习(二)|网络标识符URI与URL的区别与联系

文章目录 URIURL区别与联系示例结论 在工作中,我们经常会听到URI和URL这两个术语,它们是网络中不可或缺的概念。尽管它们常常被混淆使用,但它们代表着不同的概念和角色。我们将深入探讨URI和URL,帮助彻底理解它们之间的区别和联系…

【二叉树算法题记录】从中序与后序遍历序列构造二叉树,从前序与中序遍历序列构造二叉树

目录 从中序与后序遍历序列构造二叉树题目描述题目分析cpp代码 从前序与中序遍历序列构造二叉树题目描述题目分析cpp代码 从中序与后序遍历序列构造二叉树 题目链接 题目描述 给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历&#xff0…

linux编译gdb

下载 我下载了8.3 Index of /gnu/gdb 编译 make cleanmake diskclean./configure \--without-x \--disable-werrormake make install

【SQL】SQL常见面试题总结(2)

目录 1、增删改操作1.1、插入记录(一)1.2、插入记录(二)1.3、插入记录(三)1.4、更新记录(一)1.5、更新记录(二)1.6、删除记录(一)1.7、…

Python学习之路 | Python基础语法(一)

数据类型 Python3 中常见的数据类型有: Number(数字)String(字符串)bool(布尔类型)List(列表)Tuple(元组)Set(集合)Dict…

将TailwindCSS默认单位rem转换为px

前言: 我这里需要将 默认的rem 转换为 px 原因是要使用 postcss-px-to-viewport 插件做移动端适配。 在tailwind.config.js文件中进行配置: 注意:这里 padding(内边距)、spacing(外边距)、width…

leetcode题目55

跳跃游戏 中等 给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。 示例 1…

qt for android 的架构原理

qt for android实现架构,分享这几幅很不错图。来自于 《Qt 林斌:整合Android IVI平台打造统一的Qt数字座舱体验》 1.实现架构图 2.qt for android能力 3.java 和 qt混合开发 4. AutoMotive