认识认识DHCP

文章目录

  • 认识认识DHCP
    • 一、什么是DHCP?
      • 1.1、为什么要使用DHCP?
      • 1.2、DHCP是怎么工作的?
        • 1.2.1、客户端首次接入网络的工作原理
        • 1.2.2、客户端重用曾经使用过的地址的工作原理
        • 1.2.3、客户端更新租期的工作原理
    • 二、配置DHCP Server,为用户分配IP地址
      • 2.1、实验准备
      • 2.2、C-7-1设置静态IP地址
      • 2.3、C-7-1安装dhcp软件包
      • 2.4、C-7-1编辑配置文件
        • 1.全局配置部分
        • 2.网段配置部分
        • 3.指定客户端固定IP
      • 2.5、启动服务、关闭防火墙
      • 2.6、客户机测试
        • 2.6.1、C-7-2
        • 2.6.2、win 10

认识认识DHCP

一、什么是DHCP?

动态主机配置协议DHCP(Dynamic Host Configuration Protocol)是一种网络管理协议,用于集中对用户IP地址进行动态管理和配置。

DHCP于1993年10月成为标准协议,其前身是BOOTP协议。DHCP协议由RFC 2131定义,采用客户端/服务器通信模式,由客户端(DHCP Client)向服务器(DHCP Server)提出配置申请,DHCP Server为网络上的每个设备动态分配IP地址、子网掩码、默认网关地址,域名服务器(DNS)地址和其他相关配置参数,以便可以与其他IP网络通信。

1.1、为什么要使用DHCP?

在IP网络中,每个连接Internet的设备都需要分配唯一的IP地址。DHCP使网络管理员能从DHCP服务中监控和分配IP地址。当某台计算机移到网络中的其它位置时,能自动收到新的IP地址。DHCP实现的自动化分配IP地址不仅降低了配置和部署设备的时间,同时也降低了发生配置错误的可能性。

DHCP的优势:

  • 准确的IP配置

  • 减少IP地址冲突

  • IP地址管理的自动化

  • 高效的变更管理

1.2、DHCP是怎么工作的?

DHCP协议采用UDP作为传输协议,DHCP客户端发送请求消息到DHCP服务器的68号端口,DHCP服务器回应应答消息给DHCP客户端的67号端口。

只有跟DHCP客户端在同一个网段的DHCP服务器才能收到DHCP客户端广播的DHCP DISCOVER报文。当DHCP客户端与DHCP服务器不同网段时,必须部署DHCP中继来转发DHCP客户端和DHCP服务器之间的DHCP报文。

1.2.1、客户端首次接入网络的工作原理

在这里插入图片描述

DHCP客户端首次接入网络的工作原理
  1. 发现阶段

    客户端通过广播发送DHCP Discover报文寻找服务器端

  2. 提供阶段

    服务器端通过广播发送DHCP offer 报文向客户端提供IP地址等网络信息,从IP地址池中挑选一个尚未分配的Ip地址分配给客户端

  3. 选择阶段

    如果有多台DHCP服务器向该客户端发来DHCP-offer报文,客户端只接受第一个收到的DHCP-offer报文并提取IP地址,然后客户端通过广播发送DHCP Request 报文告知服务器端本地选择使用该IP地址

  4. 确认阶段

    服务器通过单播发送DHCP Ack报文告知客户端IP地址是合法可用的,并在选项字段中增加IP地址的使用租期信息

1.2.2、客户端重用曾经使用过的地址的工作原理

在这里插入图片描述

DHCP客户端重用曾经使用过的地址的工作原理
  1. 选择阶段

    客户端广播发送包含前一次分配的IP地址的DHCP REQUEST报文,报文中的Option50(请求的IP地址选项)字段填入曾经使用过的IP地址。

  2. 确认阶段

    DHCP服务器收到DHCP REQUEST报文后,根据DHCP REQUEST报文中携带的MAC地址来查找有没有相应的租约记录,如果有则返回DHCP ACK报文,通知DHCP客户端可以继续使用这个IP地址。否则,保持沉默,等待客户端重新发送DHCP DISCOVER报文请求新的IP地址。

1.2.3、客户端更新租期的工作原理

在这里插入图片描述

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

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

  3. 如果租期时间到时都没有收到服务器的回应,客户端停止使用此IP地址,重新发送DHCP DISCOVER报文请求新的IP地址。

二、配置DHCP Server,为用户分配IP地址

实验说明:准备两台CentOS 7虚拟机(C-7-1、C-7-2),一台Windows 10虚拟机(win 10)。实验机在“vlan 10”,其中**"C-7-1"为服务器**,“C-7-2”、"win 10"为客户机

2.1、实验准备

在这里插入图片描述

C-7-1-网卡设置

在这里插入图片描述

C-7-2-网卡设置

在这里插入图片描述

WIN-10-网卡设置

2.2、C-7-1设置静态IP地址

vim /etc/sysconfig/network-scripts/***        ##修改网卡配置,***以自己网卡为实际
    ONBOOT=yes   #设置网卡是否在 Linux 操作系统启动时激活
    BOOTPROTO=static    #设置网卡的配置方式,“static”表示使用静态IP地址,“dhcp”时表示动态获取地址
    IPADDR=192.168.10.2   #设置网卡的 IP 地址
    NETMASK=24        #设置网卡的子网掩码
    GATEWAY=192.168.10.1      #设置网卡的默认网关地址

systemctl restart network         #重启所有的网卡 

在这里插入图片描述

在这里插入图片描述

2.3、C-7-1安装dhcp软件包

yum makecache                ##检查yum仓库

yum install -y dhcp           ##安装dhcp软件

在这里插入图片描述

2.4、C-7-1编辑配置文件

可以参考/usr/share/doc/dhcp*/dhcpd.conf.example文件进行配置

*是安装的dhcp软件版本号

1.全局配置部分
vim /etc/dhcp/dhcpd.conf
    default-lease-time 3600;                                     #租约为 1小时,单位为秒
    max-lease-time 43200;                                         #最大租约为 12 小时,单位为秒
    option domain-name "benet.com";                             #指定默认域名
    option domain-name-servers 114.114.114.114,8.8.8.8;     #指定 DNS 服务器地址
    ddns-update-style none;                                     #禁用 DNS 动态更新

在这里插入图片描述

2.网段配置部分
subnet 192.168.10.0 netmask 255.255.255.0 {            #声明要分配的网段地址
  range 192.168.10.10 192.168.10.80;                #设置地址池
  option routers 192.168.10.1;                    #指定默认网关地址
}

在这里插入图片描述

3.指定客户端固定IP

指定win 10的IP地址为192.168.10.18

查看win 10的MAC地址

## 同时按win键+R键,(先win后R),调出“运行”对话框,然后输入cmd,点确定。

ipconfig/all        ##查看本机所有网卡配置

 物理地址. . . . . . . . . . . . . : 00-0C-29-BF-F3-54        ##找到连接网卡的物理地址

在这里插入图片描述

配置指定主机的固定地址

host hostname {                                        #指定需要分配固定 IP地址的客户机名称
  hardware ethernet 00:0C:29:BF:F3:54;                #指定该主机的 MAC地址
  fixed-address 192.168.10.18;                        #指定保留给该主机的 IP地址
}

在这里插入图片描述

2.5、启动服务、关闭防火墙

systemctl  stop  firewalld        ##停止服务“firewalld”

setenforce  0            ##关闭防火墙

systemctl  start  dhcpd            ##启动服务“dhcpd”

在这里插入图片描述

2.6、客户机测试

2.6.1、C-7-2
vim /etc/sysconfig/network-scripts/*** ##修改网卡配置,***以自己网卡为实际
   ONBOOT=yes #设置网卡是否在 Linux 操作系统启动时激活
   BOOTPROTO=dhcp #设置网卡的配置方式,“static”表示使用静态IP地址,“dhcp”时表示动态获取地址


systemctl restart network         #重启所有的网卡


ip r            ##查看ip地址

在这里插入图片描述

在这里插入图片描述

2.6.2、win 10
##按Windows+R打开“运行”窗口。在“打开”框中,键入"control panel",然后单击“确定”将其打开。

##打开“控制面板”-“网络和Internet”-“网络共享中心”,找到当前所连接的网络,并点击“属性”。然后,在弹出的窗口中选择“Internet协议版本4(TCP/IPv4)”,并选择“自动获取IP地址”和“自动获取DNS服务器地址”。最后,点击“确定”即可。此时,你的设备就能够使用DHCP上网方式连接互联网。

##按Windows+R打开“运行”窗口。在“打开”框中,键入"cmd",然后单击“确定”将其打开。

ipconfig/all
    以太网适配器 Ethernet0:

   连接特定的 DNS 后缀 . . . . . . . : wl.com
   描述. . . . . . . . . . . . . . . : Intel(R) 82574L Gigabit Network Connection
   物理地址. . . . . . . . . . . . . : 00-0C-29-BF-F3-54
   DHCP 已启用 . . . . . . . . . . . : 是
   自动配置已启用. . . . . . . . . . : 是
   IPv4 地址 . . . . . . . . . . . . : 192.168.10.18(首选)
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   获得租约的时间  . . . . . . . . . : 2024年4月29日 20:26:40
   租约过期的时间  . . . . . . . . . : 2024年4月29日 21:26:40
   默认网关. . . . . . . . . . . . . : 192.168.10.1
   DHCP 服务器 . . . . . . . . . . . : 192.168.10.2
   DNS 服务器  . . . . . . . . . . . : 114.114.114.114
                                       8.8.8.8
   TCPIP 上的 NetBIOS  . . . . . . . : 已启用


mac地址“00:0C:29:BF:F3:54”对应的IP为“192.168.10.18”

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/583871.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

电子式汽车机油压力传感器的接线方法及特点

电子式机油压力传感器由厚膜压力传感器芯片、信号处理电路、外壳、固定电路板装置和两根引线(信号线和报警线)组成。信号处理电路由电源电路、传感器补偿电路、调零电路、电压放大电路、电流放大电路、滤波电路和报警电路组成。 厚膜压力传感器是20世纪…

【UE5】动态播放媒体

最近项目中有一个需求,需要将场景中的42块屏幕都显示媒体内容,想着如果每一块屏幕都创建一个MediaPlayer资产、一个MediaSource资产、一个MediaTexture资产及创建对应的Material,就是4*42168个资产需要维护了,所以想着就全部采用动…

如何看待Agent AI智能体的未来

Agent AI智能体的未来 Agent AI智能体,也称为自主代理或智能代理,是指能够自主执行任务、与环境交互并作出决策的计算机程序或系统。这些智能体通常具备学习、适应和推理的能力,能够在复杂和不确定的环境中执行任务。随着技术的进步&#xf…

【OC和红移的双面材质】

OC和红移的双面材质 2021-12-23 18:36 rs oc 评论(0)

TiDB 利用binlog 恢复-反解析binlog

我们知道TiDB的binlog记录了所有已经执行成功的dml语句,类似mysql binlog row模式 ,TiDB官方也提供了reparo可以进行解析binlog,如下所示: [2024/04/26 20:58:02.136 08:00] [INFO] [config.go:153] ["Parsed start TSO"] [ts449…

Linux网络抓包工具tcpdump是如何实现抓包的,在哪个位置抓包的?

Linux网络抓包工具tcpdump是如何实现抓包的,在哪个位置抓包的? 1. tcpdump抓包架构2. BPF介绍3. 从内核层面看tcpdump抓包流程3.1. 创建socket套接字3.2. 挂载BPF程序 4. 网络收包抓取5. 网络发包抓取6. 疑问和思考6.1 tcpdump抓包跟网卡、内核之间的顺序…

golang beego结合wire依赖注入及自动路由

1 安装wire 1.1 通过命令直接安装 go install github.com/google/wire/cmd/wirelatest 1.2 通过go get方式安装 go get github.com/google/wire/cmd/wire进入目录编译 cd C:\Users\leell\go\pkg\mod\github.com\google\wirev0.6.0\cmd\wire go build 然后将wire.exe移动到…

C++中list的使用

文章目录 一、 list简介二、 构造函数1. 默认构造函数2. 拷贝构造3. 迭代器区间初始化4. 插入n个值为x的数据5. 代码示例 三、 容量和元素访问1. empty()2. size()3. max_size()3. back()4. front()5. 代码示例 四、 增删查改1. push_back()2. push_front()3. emplace_back()4.…

设计模式之装饰者模式DecoratorPattern(四)

一、模板模式介绍 模板方法模式(Template Method Pattern),又叫模板模式(Template Pattern), 在一个抽象类公开定义了执行它的方法的模板。它的子类可以更需要重写方法实现,但可以成为典型类中…

d16(149-153)-勇敢开始Java,咖啡拯救人生

跳过了p151 四小时的讲题我不敢听:) Stream Stream流,是JDK8后新增的API,可以用于操作集合或者数组的数据 优势:大量结合了Lambda的语法风格,该方式更强大更简单,代码简洁,可读性好 常用方法 …

Mycat(三)读写分离双主双从

文章目录 搭建双主双从双主机配置双从机配置双从配置两个主机互相复制停止从服务复制功能重新配置主从 修改 Mycat 的集群配置实现多种主从双主双从集群角色划分增加两个数据源修改集群配置文件读写分离配置扩展(1)读写分离(一主一从,无备)(m是主,s是从)…

Grafana页面嵌入自建Web应用页面

目录 一、应用场景 二、实现方式 1、修改Grafana配置文件 2、获取监控页面url 3、隐藏左侧和顶部菜单 一、应用场景 需要将Grafana监控页面嵌入自建Web应用页面,使Grafana监控页面成为自建Web应用的一部分。 二、实现方式 总体思路:修改Grafana配…

刷机维修进阶教程-----红米note7 修复基带 更改参数 nv损坏故障 实例步骤操作解析

在前面的博文中我有说过。不管刷更改参数还是修复基带,尽可能的情况下备份一些主要分区,上期讲了小米6x 小米5 小米6这些机型更改参数的具体步骤。今天的教程以红米note7为例解析下改参数和修复nv损坏的具体步骤,两者操作实际没有什么冲突。有兴趣的友友建议多看下我关于…

10G MAC层设计系列-(2)MAC RX模块

一、概述 MAC RX模块的需要进行解码、对齐、CRC校验。 因为在空闲的时候10G PCS/PMA会一直向外吐空闲符(x07)所以需要根据开始符、结束符将有效数据从码流中截取,也就是解码。 因为开始字符的所在位置有两种形式,而结束字符的位…

大数据学习笔记14-Hive基础2

一、数据字段类型 数据类型 :LanguageManual Types - Apache Hive - Apache Software Foundation 基本数据类型 数值相关类型 整数 tinyint smallint int bigint 小数 float double decimal 精度最高 日期类型 date 日期 timestamps 日期时间 字符串类型 s…

UE C++ 链表

目录 概要单链表双向链表头插入尾插入中间插入删除查找 小结 概要 链表 简单说明,链表有单链表,双向链表,循环链表(本篇文章以UE c代码说明)。链表的操作,插入,删除,查找。插入,删除效率高&…

练习题(2024/4/29)

在深度优先遍历中:有三个顺序,前中后序遍历 这里前中后,其实指的就是中间节点的遍历顺序,只要记住 前中后序指的就是中间节点的位置就可以了。 如图 1二叉树的前序遍历 给你二叉树的根节点 root ,返回它节点值的 前…

【项目】仿muduo库One Thread One Loop式主从Reactor模型实现高并发服务器(Http测试板块)

【项目】仿muduo库One Thread One Loop式主从Reactor模型实现高并发服务器(Http测试板块) 一、使用Http网页界面1、main.cc原码和index.html原码2、运行结果(1)测试结果1:用index.html内部的代码(2&#xf…

《HelloGitHub》第 97 期

兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。 github.com/521xueweihan/HelloGitHub 这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 Python、…

win下vscode的vim切换模式的中英文切换

问题描述 在vscode中安装vim插件后,如果insert模式下完成输入后,在中文输入方式下按esc会发生无效输入,需要手动切换到英文。 解决方法 下载完成vscode并在其中配置vim插件下载github—im-select.exe插件(注意很多博文中的gitcod…