【Linux网络】DHCP原理与配置

目录

一、DHCP工作原理

1.了解DHCP服务

2.使用DHCP的好处

3.DHCP的分配方式

二、DHCP的租约过程

三、DHCP场景应用实验


一、DHCP工作原理

1.了解DHCP服务

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)

由Internet工作任务小组设计开发

专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议

2.使用DHCP的好处

        减少管理员的工作量

        避免输入错误的可能

        避免IP地址冲突

        当更改IP地址段时,不需要重新配置每个用户的IP地址

        提高了IP地址的利用率

        方便客户端的配置

3.DHCP的分配方式

        自动分配:分配到一个IP地址后永久使用

        手动分配:由DHCP服务器管理员专门指定IP地址

        动态分配:使用完后释放该IP,供其他客户机使用

二、DHCP的租约过程

客户机从DHCP服务器获得IP地址的过程称为DHCP的租约过程

 一共分为四个过程:

第一步:客户端在网络中搜索服务器
客户端通过广播发送DHCP  Discover报文寻找服务器端


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


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


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

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

三、DHCP场景应用实验

关闭防火墙,关闭核心防护

[root@bogon ~]# systemctl disable --now firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@bogon ~]# setenforce 0
[root@bogon ~]# vi /etc/selinux/config
[root@bogon ~]# 

 安装dhcp服务

[root@bogon ~]# yum install -y dhcp
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile* base: mirrors.ustc.edu.cn* extras: mirrors.ustc.edu.cn* updates: mirrors.ustc.edu.cn
软件包 12:dhcp-4.2.5-83.el7.centos.1.x86_64 已安装并且是最新版本
无须任何处理

查找dhcp.conf文件的模版:dhcpd.conf.example

[root@bogon ~]# cd /usr/share/
[root@bogon share]# cd /usr/share/doc/
[root@bogon doc]# ls dhcp*
dhcp-4.2.5:
dhcpd6.conf.example  dhcpd.conf.example  ldapdhcp-common-4.2.5:
LICENSE  README  References.txt  RELNOTES
[root@bogon doc]# cd dhcp-4.2.5/
[root@bogon dhcp-4.2.5]# ls
dhcpd6.conf.example  dhcpd.conf.example  ldap[root@bogon dhcp-4.2.5]# vi dhcpd.conf.example        #dhcp.conf的模版

复制这个模版到/etc/dhcp/下

[root@bogon dhcp-4.2.5]# cp dhcpd.conf.example /etc/dhcp/dhcpd.conf 
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? yes
[root@bogon dhcp-4.2.5]# cd
[root@bogon ~]# cd /etc/dhcp
[root@bogon dhcp]# ls
dhclient.d  dhclient-exit-hooks.d  dhcpd6.conf  dhcpd.conf  scripts
[root@bogon dhcp]# vim dhcpd.conf 

#设置全局配置参数
default-lease-time 21600;                                     #默认租约为 6 小时,单位为秒
max-lease-time 43200;                                         #最大租约为 12 小时,单位为秒
option domain-name "benet.com";                             #指定默认域名
option domain-name-servers 202.106.0.20, 202.106.148.1;     #指定 DNS 服务器地址
ddns-update-style none;                                     #禁用 DNS 动态更新

#subnet网段声明(作用于整个子网段,部分配置参数优先级高于全局配置参数)
subnet 192.168.80.0 netmask 255.255.255.0 {            #声明要分配的网段地址
  range 192.168.80.10 192.168.80.20;                #设置地址池
  option routers 192.168.80.254;                    #指定默认网关地址
}

subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.100 192.168.1.200;
  option routers 192.168.1.254;
}

subnet 192.168.2.0 netmask 255.255.255.0 {
  range 192.168.2.20 192.168.2.30;
  option routers 192.168.2.254;
}

#host主机声明(给单机分配固定的 IP 地址)
host hostname {                                        #指定需要分配固定 IP地址的客户机名称
  hardware ethernet 00:c0:c3:22:46:81;                #指定该主机的 MAC地址
  fixed-address 192.168.4.100;                        #指定保留给该主机的 IP地址
}

#后面内容可都删除

systemctl start dhcpd
systemctl stop firewalld
setenforce 0

netstat -anpu | grep ":67"

#如果DHCP服务启动失败,可以查看日志文件
tail -f /var/log/messages


在ensp中配置DHCP 中继
dhcp enable                                    #开启DHCP功能
#
interface Vlanif10
 ip address 192.168.1.254 255.255.255.0
 dhcp select relay                            #开启DHCP中继功能
 dhcp relay server-ip 192.168.80.10            #指向DHCP服务器的地址

 设置全局配置参数

虚拟机设置

此时的终端工具会断开,需要打开电脑的网络适配器进行修改

重新连接终端工具,并重启dhcp

寻找主机进行查看,需要在一个网络模式下

以win10为例查看

以linux为例,查了ip地址和DNS

host主机声明(给单机分配固定的 IP 地址)以192.168.10.188为例

修改配置文件:找到主机的物理地址

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

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

相关文章

【MyBatis】使用MyBatis框架在两张表是一对多的情况下,进行分步查询,发现对查询出来的结果进行封装时没有将实体类的id进行赋值

Catalog MyBatis在两张表是一对多的情况下,进行分步查询,发现对查询出来的结果进行封装时没有将实体类的id进行赋值1. 表结构2. 场景3. 实现方式具体步骤 4 .测试5. 解决方法 MyBatis在两张表是一对多的情况下,进行分步查询,发现对查询出来的结果进行封装…

企业工厂如何逆风翻盘:VR全景打破多重桎梏

现阶段,制造业工厂面临的困境,就是用着上百万的设备,却赚着几毛钱的利润。传统的工厂参观方式也存在着很多的局限性,例如时间上不方便、不能实地参访、生产线具有隐患等,都会使得参观者不能深入地了解工厂的生产环境和…

Python初级笔记6 函数

函数概念 函数是一段具有特定功能的代码的集合。函数的目的主要在于降低编程难度与增加代码复用。一组语句等价于一个函数,,需要使用这组语句的地方直接调用函数名即可。函数的定义也叫函数的声明,定义后的函数不能直接运行需要通过调用 函数…

《苍穹外卖》Day12部分知识点记录——数据统计-Excel报表

一、工作台 需求分析和设计 接口设计 今日数据接口订单管理接口菜品总览接口套餐总览接口订单搜索(已完成)各个状态的订单数量统计(已完成) 代码实现 今日数据接口 1. WorkspaceController 注意不要导错包了 package com.sk…

【经典算法】LeetCode104二叉树的最大深度(Java/C/Python3实现含注释说明,Easy)

目录 题目描述思路及实现方式一:递归思路代码实现Java版本C语言版本Python3版本Go语言版本 复杂度分析 方式二:广度优先搜索(BFS)思路代码实现Java版本C语言版本Python3版本 复杂度分析 总结相似题目 标签(题目类型):树、深度优先搜索(DFS)、…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-6.5

前言: 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM(MX6U)裸机篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

多进程编程:原理、技术与应用

title: 多进程编程:原理、技术与应用 date: 2024/4/26 12:14:47 updated: 2024/4/26 12:14:47 categories: 后端开发 tags: 多进程并发编程网络服务分布式系统任务处理进程池线程对比 第一章:进程与线程 进程与线程的概念及区别: 进程&am…

gitcode 上传文件报错文件太大has exceeded the upper limited size

报错 remote: Start Git Hooks Checking Error: Deny by project hooks setting ‘default’ has exceeded the upper limited size (10 MB) in commit 当前有效的解决方案 项目设置->提交设置->勾选管理员不受规则限制->提交 重新push,提交成功

Vitis HLS 学习笔记--IDE软件高效操作指引

目录 1. 简介 2. 实用软件操作 2.1 C/RTL Cosimulation 选项 2.2 Do not show this dialog again 2.3 New Solution 2.4 对比 Solution 2.5 以命令行方式运行(windows) 2.6 文本缩放快捷键 2.7 查看和修改快捷键 2.8 将Vitis HLS RTL 导入 Viv…

Oracle集群ORA-03113:end-of-file on communication channel

一、问题场景描述 今天Oracle集群要更新各数据库的数据,折腾的启动不了了: --》数据量比较大,数据泵方式导出的dmp文件 准备导入集群 --》由于之前的生产数据库数据比较少,需要增大表空间。 --》于是在sqlplus命令窗口&#xff0c…

【JavaWeb】Day51.Mybatis动态SQL(一)

什么是动态SQL 在页面原型中,列表上方的条件是动态的,是可以不传递的,也可以只传递其中的1个或者2个或者全部。 而在我们刚才编写的SQL语句中,我们会看到,我们将三个条件直接写死了。 如果页面只传递了参数姓名name 字…

进程地址空间 【Linux】

文章目录 进程地址空间 进程地址空间 进程地址空间,本质是一个描述进程可视范围的大小, 地址空间内一定要存在各种区域划分,对线性地址进行start,和end即可 在每一个区的_start 到_end 范围内,这段连续的空间中&…

深入探索计算机视觉:高级主题与前沿应用的全面解析

引言 计算机视觉,作为人工智能领域的一个重要分支,旨在让计算机能够“看”懂世界,理解和解释视觉场景。随着深度学习技术的迅猛发展,计算机视觉已经在许多领域取得了显著的进展,如自动驾驶、安防监控、医疗诊断等。在…

JDBC查询大数据时怎么防止内存溢出-流式查询

文章目录 1.前言2.流式查询介绍3.使用流式查询3.1不开启流式查询的内存占用情况3.2开启流式查询的内存占用情况 4.开启流式查询的注意点 1.前言 在使用 JDBC 查询大数据时,由于 JDBC 默认将整个结果集加载到内存中,当查询结果集过大时,很容易…

刷机维修进阶教程----小米6 6x 5x机型修复基带 改写参数 改写串码实例步骤操作解析

在于众多工作室 业务接洽中有很多需要过新机的业务需求。那么大多都在机型参数和型号上面有关联。众所周知,改写机型参数为不允许的行为。操作只为解惑参数的一些常识,修复合规参数和修复手机系统为目的,请遵守国安家法律法规,今天将详细通过实例演示来解析小米6 6x 5x这些…

Fast-DetectGPT 无需训练的快速文本检测

本文提出了一种新的文本检测方法 ——Fast-DetectGPT,无需训练,直接使用开源小语言模型检测各种大语言模型,如GPT等生成的文本内容。 Fast-DetectGPT 将检测速度提高了 340 倍,将检测准确率相对提升了 75%,超过商用系…

【中级软件设计师】上午题12-软件工程(1):软件工程模型、敏捷方法、软件需求、系统设计

上午题12-软件工程(1) 1 软件过程1.1 CMM 能力成熟度模型1.1 CMMI (建议直接看思维导图) 2 软件过程模型2.1 瀑布模型2.2 增量模型2.3 演化模型2.3.1 原型模型2.3.2 螺旋模型 2.5 喷泉模型 3 统一过程(UP)模型4 敏捷方…

【python】利用 GridSearchCV 和 SVM 进行学生成绩预测

在机器学习领域,寻找最优模型参数是一个重要的步骤,它直接影响模型的泛化能力和预测准确性。本文将通过一个具体案例介绍如何使用支持向量机(SVM)和网格搜索(GridSearchCV)来预测学生的成绩,并通…

可审批可审计追溯的单网络导出文件方案,了解一下

在物理隔离状态下,单网络导出文件是一个重要的安全需求,特别是在处理敏感数据时。在这种环境下,数据导出需要采取特殊的安全措施,以确保数据传输的安全性和合规性。需要考虑以下因素: 安全性:确保传输过程加…

筛选日志并生成序列化文件

1.在idea中创建项目 selectData. 2.添加依赖,插件包,指定打包方式,日志文件 大家可以直接从前面项目复制。 3.本次只需要进行序列化操作,所以不需要Reducer模块,编写Mapper模块 package com.maidu.selectdata;import…