02 DHCP原理与配置

news2024/11/17 23:56:47

目录

2.1 DHCP工作原理

        1. 了解DHCP服务

        2. 使用DHCP的好处

        3. DHCP的分配方式

        4. DHCP的租约过程

                1. 客户机请求IP地址

                2. 服务器响应

                3. 客户机选择IP地址

                4. 服务器确定租约

                5. 重新登录

                6. 更新租约

2.2 使用DHCP动态配置主机地址

        2.2.1 配置DHCP服务器

                1. 安装DHCP服务器软件

                2. 建立主配置文件dhcpd.conf

                        1. /etc/dhcp/dhcpd.conf文件的配置构成

                        2. dhcpd服务的全局配置

                        3. subnet网段声明

                        4.host主机声明(可选)

                3. 启动dhcpd服务

        2.2.2 使用DHCP客户端

2.3 DHCP中继

        1. DHCP中继原理

        2. DHCP中继配置


2.1 DHCP工作原理

        当局域网络中有大量的主机时,如果逐个为每一台主机手动设置IP地址、默认网关、DNS服务器地址等网络参数,显然是一个费力也未必讨好的办法。而 DHCP(Dynamic HostConfiguration Protocol,动态主机配置协议)服务器的应用,正好可以解决这一问题。

        1. 了解DHCP服务

        DHCP (Dynamic Host Configuration Protocol,动态主机配置协议〉是由Internet 工作任务小组设计开发的,专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议。DHCP服务避免了因手动设置IP地址所产生的错误,同时也避免了把一个P地址分配给多台工作站所造成的地址冲突。DHCP提供了安全、可靠且简单的TCPIP网络设置,降低了配置IP地址的负担。DHCP的网络结构如图2.1所示。

        2. 使用DHCP的好处

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

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

        3. DHCP的分配方式

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

        在DHCP的工作原理中,DHCP服务器提供了三种IP地址分配方式:自动分配(Automatic Allocation)、手动分配和动态分配(Dynamic Allocation)。

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

        4. DHCP的租约过程

        客户端从DHCP服务器获取IP地址的过程称之为DHCP租约过程,此过程主要分为以下四个步骤。

  1. 客户端在网络中搜索服务器;
  2. 服务器向客户端响应服务;
  3. 客户端向服务器发出服务请求;
  4. 服务器向客户端提供服务。

        其中包含的具体过程如下所示:

                1. 客户机请求IP地址

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

                2. 服务器响应

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

                3. 客户机选择IP地址

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

                4. 服务器确定租约

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

                5. 重新登录

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

                6. 更新租约

        当DHCP服务器向客户机出租的IP地址租期达到50%时,就需要更新租约。客户机直接向提供租约的服务器发送DHCP Request包,要求更新现有的地址租约。

2.2 使用DHCP动态配置主机地址

        使用DHCP服务可以为大量客户机自动分配地址并提供集中管理,能够减轻管理和维护成本、提高网络配置效率。其中 DHCP服务可分配的地址信息主要包括:

  1. 网卡的IP地址、子网掩码;
  2. 对应的网络地址、广播地址;
  3. 默认网关地址;
  4. DNS服务器地址;
  5. ……

        2.2.1 配置DHCP服务器

                1. 安装DHCP服务器软件

        先执行"rpm -q dhcp"命令查看系统中是否已经安装dhcp软件包,如果没有安装,则只要挂载CentOS系统光盘,安装其中的dhcp-4.2.5-47.el7.centos.x86_64.rpm软件包即可,

        安装dhcp软件包后系统将会自动复制相关程序,并添加名为dhcpd的系统服务。

                2. 建立主配置文件dhcpd.conf

        dhcpd服务的主配置文件是letcldhcpldhcpd.conf,但是该文件中默认不包含任何有效配置,需要管理员手动建立。这时管理员可以根据文件中的提示,参考配置文件范本建立新的dhcpd.conf文件。

                        1. /etc/dhcp/dhcpd.conf文件的配置构成

        在主配置文件 dhcpd.conf 中,可以使用声明、参数、选项这三种类型的配置,各自的作用和表现形式如下所述。

  1. 声明:用来描述dhcpd服务器中对网络布局的划分,是网络设置的逻辑范围。较常见的声明是subnet、host,其中 subnet声明用来约束一个网段,host声明用来纳巿一台特定的主机。
  2. 参数:由配置关键字和对应的值组成,总是以":"(分号)结束,一般位于指定的声明范围之内,用来设置所在范围的运行特性(如默认租约时间、最大租约时间等)。
  3. 选项:由"option”引导,后面跟具体的配置关键字和对应的值,也是以"“;"结束,用于指定分配给客户机的各种地址参数(如默认网关地址、子网掩码、DNS服务器地址等)。
                        2. dhcpd服务的全局配置

        为了使配置文件的结构更加清晰,全局配置通常会放在配置文件 dhcpd.conf的开头部分,可以是配置参数,也可以是配置选项。常用的全局配置参数和选项如下所述。

  1. ddns-update-style,动态DNS更新模式。用来设置与 DHCP服务相关联的DNS数据动态更新模式。在实际的DHCP应用中很少用到该参数,将值设为"none"即可。
  2. default-lease-time,默认租约时间。单位为秒,表示客户端可以从 DHCP服务器租用某个IP地址的默认时间。
  3. max-lease-time,最大租约时间。单位为秒,表示允许 DHCP客户端请求的最大租约时间,当客户端未请求明确的租约时间时,服务器将采用默认租约时间。
  4. option domain-name,默认搜索区域。为客户机指定解析主机名时的默认搜索域,该配置选项将体现在客户机的letc/resolv.conf 配置文件中,如“search benet.com”。
  5. option domain-name-servers,DNS服务器地址。为客户机指定解析域名时使用的DNS服务器地址,该配置选项同样将体现在客户机的letc/resolv.conf配置文件中(如“nameserver 202.106.0.20")。需设置多个DNS服务器地址时,以逗号进行分隔。

        例如,若需要为局域网搭建一台DHCP服务器,所有网段使用相同的租约时间,默认搜索域为bdqn.com,DNS服务器地址为202.106.0.20和202.106.148.1,则可以修改dhcpd.conf 配置文件,参考以下操作调整全局配置。

                        3. subnet网段声明

        一台DHCP服务器可以为多个网段提供服务,因此 subnet网段声明必须有而且可以有多个。例如,若要DHCP服务器为192.168.4.0/24网段提供服务,用于自动分配的IP地址范围为192.168.4.128~192.168.4.254,为客户机指定默认网关地址为192.168.4.1,则可以修改dhcpd.conf配置文件,参考以下内容调整subnet网段声明。

                        4.host主机声明(可选)

        host声明用于设置单个主机的网络属性,通常用于为网络打印机或个别服务器分配固定的IP地址(保留地址),这些主机的共同特点是要求每次获取的IP地址相同,以确保服务的稳定性。

        host声明通过host关键字指定需要使用保留地址的客户机名称,并使用""hardwareethernet"参数指定该主机的MAC地址,使用"fixed-address"参数指定保留给该主机的IP地址。例如,若要为打印机 prtsvr (MAC地址为00:c0:c3:22:46:81)分配固定的I旧地址192.168.4.100,可以修改dhcpd.conf 配置文件,参考以下内容在网段声明内添加 host主机声明。

                3. 启动dhcpd服务

        在启动dhcpd服务之前,应确认提供 DHCP服务器的网络接口具有静态指定的固定IP地址,并且至少有一个网络接口的IP地址与DHCP服务器中的一个subnet网段相对应,否则将无法正常启动dhcpd服务。例如,DHCP服务器的I地址为192.168.4.11,用于为网段192.168.4.0/24内的其他客户机提供自动分配地址服务。

        安装dhcp软件包以后,对应的系统服务脚本位于/usr/lib/systemd/system/dhcpd.service,可以使用systemd服务进行控制。

        例如:执行以下操作可以启动dhcpd服务,并检查UDP的67端口是否在监听,以确认DHCP服务器是否正常。

        需要关闭、重启 dhcpd服务时,只要将上述操作命令中的"start"改为"stop"或"restart"即可。如果 dhcpd服务启动失败,可以检查日志文件/varllog/messages末尾的错误提示信息,并根据提示进行排错。

        2.2.2 使用DHCP客户端

        当局域网内有可用的DHCP服务器时,在 Linux'客户机中可以设置使用DHCP的方式获取地址。只需要编辑对应网卡的配置文件,修改或添加"BOOTPROTO=dhcp"配置行,并重新加载配置文件或者重新启动network服务即可。例如,执行以下操作可修改网卡配置文件,并重新加载配置以通过DHCP方式自动获取地址。

        在Linux'客户机中,还可以使用dhclient工具来测试DHCP服务器。若直接执行“dhclient"命令,则 dhclient将尝试为除回环接口lo以外的所有网络接口通过DHCP方式申请新的地址,然后自动转入后台继续运行。当然,测试时可以指定一个具体的网络接口,并结合"-d"选项使其在前台运行,测试完毕后按Ctrl+C组合键终止。例如,执行"dhclient -d ens33"命令后,可以为网卡 ens33自动获取新的IP地址,并显示获取过程。

        在服务器端可以通过查看租约文件lvar/libldhcpd/dhcpd.leases来了解服务器的IP地址分配情况,具体操作如下。该租约文件中记录了分配出去的每个IP地址信息(租约记录),包括IP地址、客户端的MAC地址、租用的起始时间和结束时间等。

       客户端需要通过dhclient命令释放获取的IP租约时,可以结合"-r”选项。例如,执行以下的"dhclient -r ens33"将会释放之前为网卡 ens33获取的IP租约。此时再通过执行"ifconfigens33"命令就看不到分配的IP地址了。

2.3 DHCP中继

        1. DHCP中继原理

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

        例如:DHCP服务器在VLAN 100中,就只有VLAN 100内的客户机能从DHCP服务器那里获取IP地址。如果VLAN 2或VLAN 3的客户机就无法通过这台DHCP服务器来获取IP地址。

        针对以上问题,一般有两种解决方案:

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

        2. DHCP中继配置

        DHCP中继的配置命令:ip helper-address DHCPsrv-lPAddress。其中﹐DHCPsrv-IPAddress为DHCP服务器的IP地址。

        在三层交换机上配置DHCP中继转发:首先需要保证交换机上各VLAN 之间网络通信正常,然后依次在不包含DHCP服务器的VLAN上进行DHCP中继配置。例如执行以下命令可以在 VLAN2中进行DHCP中继转发配置。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java版UWB高精度实时定位系统源码springboot+vue

UWB人员定位系统,实现人员的自动识别、位置定位、区域报警等功能。该系统能高效记录人员信息,出入信息及位置信息,并能灵活的查询及管理历史轨迹,可极大提高信息安全度,有效弥补了视频监控的不足。使人员管理实现信息化…

万界星空科技SMT行业MES系统功能

在现代制造业中,SMT智能车间MES系统是一种全自动化的生产管理系统,用于监控和控制整个SMT生产流程。它通过监控SMT设备的运行状态、实时追踪生产数据,并与其他系统进行实时数据交换,以提高生产效率、降低生产成本。MES系统采用先进…

超详解——Python 序列详解——基础篇

目录 1. 序列的概念 字符串(String) 列表(List) 元组(Tuple) 2. 标准类型操作符 连接操作符() 重复操作符(*) 索引操作符([]) …

MySQL 8.0 安装、配置、启动、登录、连接、卸载教程

目录 前言1. 安装 MySQL 8.01.1 下载 MySQL 8.01.2 安装 MySQL 8.0 2. 配置 MySQL 8.02.1打开环境变量2.2新建变量 MYSQL_HOME2.3编辑 Path 变量 3. 启动MySQL 8.03.1验证安装与配置是否成功3.2初始化并注册MYSQL3.3 启动MYSQL服务 4.登录MySQL4.1修改账户默认密码4.2登录MYSQL…

6月11日 C++day6

#include <iostream>using namespace std; class Animal //讲解员 { public:Animal(){}virtual void perform(){cout << "" << endl;} }; class Lion:public Animal //狮子 { public:Lion(){}void perform(){Animal::perform();cout <<…

基于SSM+Jsp的交通事故档案管理系统

开发语言&#xff1a;Java框架&#xff1a;ssm技术&#xff1a;JSPJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包…

大模型高级 RAG 检索策略之混合检索

古人云&#xff1a;兼听则明&#xff0c;偏信则暗&#xff0c;意思是要同时听取各方面的意见&#xff0c;才能正确认识事物&#xff0c;只相信单方面的话&#xff0c;必然会犯片面性的错误。 在 RAG&#xff08;Retrieval Augmented Generation&#xff09;应用中也是如此&…

Generative AI原理本质、技术内核及工程实践之基于Vertex AI的大模型 (四)Vertex AI 如何将 LLM 提升到新水平

LlaMA 3 系列博客 基于 LlaMA 3 LangGraph 在windows本地部署大模型 &#xff08;一&#xff09; 基于 LlaMA 3 LangGraph 在windows本地部署大模型 &#xff08;二&#xff09; 基于 LlaMA 3 LangGraph 在windows本地部署大模型 &#xff08;三&#xff09; 基于 LlaMA…

[论文笔记]Query Rewriting for Retrieval-Augmented Large Language Models

引言 今天带来论文Query Rewriting for Retrieval-Augmented Large Language Models的笔记。 本篇工作从查询重写的角度介绍了一种新的框架&#xff0c;即重写-检索-阅读&#xff0c;而不是以前的检索-阅读方式&#xff0c;用于检索增强的LLM。关注的是搜索查询本身的适应性&…

服饰进口清关流程及注意事项 | 国际贸易数字化平台 | 箱讯科技

随着全球化进程的不断推进&#xff0c;我国消费者对国外品牌服饰的需求日益增长&#xff0c;衣服进口业务也随之蓬勃发展。作为一名从事进口衣服行业的专业人士&#xff0c;掌握清关流程及注意事项至关重要。本文将为您详细解析衣服进口清关流程&#xff0c;并提供一些实用建议…

【CHIP】LTC2991 读取温度电压电流 调试实例

文章目录 0. ENV1. LTC2991 数据说明1. 数据计算公式2. 寄存器概述1. 管脚使能寄存器2. 芯片使能寄存器 2. 软件实现1. 概述2. 源码(部分)3. 参考log 0. ENV 软件系统&#xff1a;略 LTC2991&#xff1a;VCC3.3 温度&#xff1a;温控接v1-v2 / v2-v3 / … (双端采样)电压&#…

怎么找回Excel表格密码,两个方法,轻松解密

有时候&#xff0c;打开很久以前的工作表&#xff0c;想要进行编辑&#xff0c;结果工作表设置了工作表保护&#xff0c;需要输入密码来撤消工作表保护&#xff0c;然而&#xff0c;自己又忘记了保护工作表的密码&#xff0c;怎么办&#xff1f; 1、使用备份文件 如果您有文件…

龙迅LT9211D MIPIDSI/CSI桥接到2 PORT LVDS,支持 3840x2160 30Hz分辨率

龙迅LT9211D描述&#xff1a; LT9211D是一款高性能的MIPI DSI/CSI-2到双端口LVDS转换器。LT9211D反序列化输入的MIPI视频数据&#xff0c;解码数据包&#xff0c;并将格式化的视频数据流转换为AP和移动显示面板或摄像机之间的LVDS发射机输出。LT9211D支持最大12.5 dB输入均衡和…

for语句初识

情景导入 某校某年级某班某位男生很爱哭&#xff0c;“wa”、“wa”、“wa”声音经常不绝于耳&#xff0c;现在请你通过编程来模拟他的哭声&#xff0c;他每发出一次哭声&#xff0c;则你输出一行——一个“wa”&#xff1b; 他哭了2次&#xff0c;我们可以这样写&#xff1a; …

力扣每日一题 6/11

博客主页&#xff1a;誓则盟约系列专栏&#xff1a;IT竞赛 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ 419.甲板上的战舰[中等] 题目&#xff1a; 给你一个大小为 m x n 的矩阵 b…

经典且完全免费的图像编辑处理软件比PS高级

一、简介 1、一款非常经典且完全免费的图像编辑处理软件&#xff0c;相比PS动辄1G的安装包&#xff0c;GIMP只有100 多兆&#xff0c;却包含了几乎所有常见的图片处理和平面设计相关功能&#xff0c;堪称PS替代品。 2、GIMP 几乎能实现与 PS 等同的功能&#xff0c;我们常使用…

【鸿蒙开发教程】HarmonyOS 模块关系梳理

HarmonyOS 梳理模块关系 刚开始开发的时候总是理不清鸿蒙中的模块类型和关系&#xff0c;今天就来梳理下鸿蒙中的模块类型 Module类型 Module按照使用场景可以分为两种类型&#xff1a; ●Ability类型的Module&#xff1a; 用于实现应用的功能和特性。每一个Ability类型的M…

抖音快手AI无人直播系统:教你快速搭建视频循环直播场景只需五部

AI无人直播是一种创新的直播方式&#xff0c;利用先进的技术手段实现自动直播&#xff0c;无需人工干预。这种直播方式具有全天候自动直播的能力&#xff0c;无需运营和监管即可吸引流量并转化为订单。商家门店对这种低成本高效果的方式非常欢迎。通过轻松进行直播销售&#xf…

【C语言】一篇带你高强度解析精通 字符串函数和内存函数 (万字总结大全,含思维导图)(建议收藏!!!)

【 库函数】——字符串函数和内存函数 目录 思维导图&#xff1a; 一&#xff1a;字符串函数 1.1&#xff1a;字符串常规函数 1.1.1&#xff1a;长度不受限制的字符串函数 1.1.1.1&#xff1a;strlen函数 1.1.1.2&#xff1a;strcpy函数 1.1.1.3&#xff1a;strcat函数 …

工业镜头孔径、分辨率与景深参数简析

工业镜头孔径、分辨率与景深参数简析 一、前言二、镜头孔径与光圈系数2.1孔径与相对孔径2.2数值孔径&#xff08;NA&#xff09;2.3光圈系数&#xff08;F/#&#xff09;2.4工作光圈系数&#xff08;&#xff08;F/#&#xff09;w&#xff09; 三、镜头分辨率3.1MTF与CTF3.1.1M…