【Linux网络】手把手实操Linux系统网络服务DHCP
目录
一、什么是dhcp
二、详解dhcp的工作原理
三、dhcp的实操
第一步:3台机器的防火墙和安全机制都需要关闭!!!
第二步:Linux下载dhcp软件,并查看配置文件位置
第三步:读配置文件,理解配置要求,查看相关信息
第四步:将相应的文件内容复制到配置文件中
第五步:修改配置文件,设置①地址池②绑定mac,分配固定ip地址,重启dhcp服务
第六步:验证实验结果,将两台主机都配置为dhcp动态获取ip地址,查看两台主机获取情况,验证实验结果
四、总结:
一、什么是dhcp
DHCP是一种应用层协议,用于动态主机配置协议,当客户端向DHCP服务器发送请求时,DHCP服务器可以通过DHCP协议动态地给客户端分配ip地址。常用于局域网中。
DHCP协议底层使用的是UDP协议传输,DHCP有两个部分组成,客户端和服务端;
客户端默认UDP的68端口;
服务端默认UDP的67端口;
二、详解dhcp的工作原理
详情请看计算机网络的,包含了ensp抓包过程,逐步分析dhcp第一次完成获取地址的4个报文过程:【网络】动态IP地址分配协议DHCP,原来ip地址有租期!!!
三、dhcp的实操
实验环境,先准备好2台Windows虚拟机(客户端),其中一台主机的物理mac地址是00-0C-29-52-78-90,以及1台Linux虚拟机(dhcp服务器),提供dhcp服务,实验目的:
1、一台主机可以通过dhcp,动态获取ip地址;
2、一台主机(mac地址是00-0C-29-52-78-90)可以通过dhcp获取固定ip地址

第一步:3台机器的防火墙和安全机制都需要关闭!!!
[root@localhost ~]#ifconfig ens33inet 192.168.20.18 netmask 255.255.255.0 broadcast 192.168.20.255##知道服务器能提供的网段是什么
##关闭安全机制和防火墙
[root@localhost ~]#setenforce 0
[root@localhost ~]#systemctl stop firewalld.service
[root@localhost ~]#

第二步:Linux下载dhcp软件,并查看配置文件位置
##安装dhcp服务
[root@localhost ~]#yum install -y dhcp[root@localhost ~]#rpm -qc dhcp
/etc/dhcp/dhcpd.conf

第三步:读配置文件,理解配置要求,查看相关信息
[root@localhost ~]#cd /etc/dhcp/
[root@localhost dhcp]#ls
dhclient.d dhclient-exit-hooks.d dhcpd6.conf dhcpd.conf scripts
[root@localhost dhcp]#cat dhcpd.conf
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example
# see dhcpd.conf(5) man page
#
[root@localhost dhcp]#

第四步:将相应的文件内容复制到配置文件中
[root@localhost dhcp]#cp /usr/share/doc/dhcp*/dhcpd.conf.example dhcpd.conf
cp:是否覆盖"dhcpd.conf"? y
[root@localhost dhcp]#

第五步:修改配置文件,设置①地址池②绑定mac,分配固定ip地址,重启dhcp服务
[root@localhost dhcp]#vim dhcpd.conf
[root@localhost dhcp]#systemctl restart dhcpd
[root@localhost dhcp]#关于全局配置学习查看##指定域名
option domain-name "example.org";
##指定dns解析服务器地址,这个是一般写2个,用逗号隔开
option domain-name-servers ns1.example.org, ns2.example.org;
##租期时间,默认单位是秒
default-lease-time 600;
max-lease-time 7200;


申明地址池网段
subnet 192.168.20.0 netmask 255.255.255.0 {range 192.168.20.200 192.168.20.240; ##可分配的地址池范围option domain-name-servers 114.114.114.114; ##区域配置的dns服务器option routers 192.168.20.2; ##网关
}

主机分配固定ip地址申明
host fantasia {hardware ethernet 00:0C:29:06:58:07; ##绑定mac地址,注意分隔符是冒号!!!fixed-address 192.168.20.66; ##对应保留的ip地址
}也可以是
host hostname{hardware ethernet 00:0C:29:06:58:07; ##绑定mac地址,注意分隔符是冒号!!!fixed-address 192.168.20.66;
}


第六步:验证实验结果,将两台主机都配置为dhcp动态获取ip地址,查看两台主机获取情况,验证实验结果



四、总结:
1、掌握dhcp分配,有三种方式,自动分配、手动分配、动态分配;
手动分配:为管理员或者领导专门分配的指定ip地址;绑定mac地址;(还比如打印机,oa服务器)
动态分配:使用地址池动态分配,有租期;
2、dhcp分配的好处
- 减少管理员的工作量
- 避免输入错误的可能
- 避免IP地址冲突
- 当更改IP地址段时,不需要重新配置每个用户的IP地址
- 提高了IP地址的利用率
- 方便客户端的配置
3、重点理解dhcp服务的四个报文过程,也可以理解为都是广播方式
- dhcp discover 报文
- dhcp offer报文
- dhcp request报文
- dhcp ack报文
相关文章:
【Linux网络】手把手实操Linux系统网络服务DHCP
目录 一、什么是dhcp 二、详解dhcp的工作原理 三、dhcp的实操 第一步:3台机器的防火墙和安全机制都需要关闭!!! 第二步:Linux下载dhcp软件,并查看配置文件位置 第三步:读配置文件…...
Huggingface网页解析和下载爬虫
解析网页: import requests from bs4 import BeautifulSoup# 目标网页URL url https://huggingface.co/internlm/internlm-20b/tree/main# 发送GET请求 response requests.get(url)# 检查请求是否成功 if response.status_code 200:# 使用BeautifulSoup解析HTML…...
C# Winform 自定义带SWITCH的卡片
1、创建卡片用户控件 在控件库中添加用户控件(Windows窗体),命名为Card; 在属性/布局栏设置Size为148,128. 2、修改Card.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; u…...
我用Devchat开发了公务员报名确认系统自动登录脚本,再也不用担心挤不进去了
#AI编程助手哪家好?DevChat“真”好用 # 演示效果 我用Devchat开发了公务员报名确认系统自动登录,再也不用担心挤不进去了 目录 演示效果前言粉丝独家专属红包码DevChat是什么?DevChat AI编程助手有哪些优势一、安装Vscode1、下载vscode链接…...
如何低门槛开发有趣实用的ZigBee产品?
一、什么是 Zigbee 协议? Zigbee 技术是一种连接距离短、功耗低、复杂程度低、数据传输量低的无线通信技术,其命名灵感源自于蜜蜂在群体中的信息传输。它主要通过网关与互联网进行通信,并嵌入各种智能设备,最终实现自动控制和远程…...
ChatGPT和API发生重大中断!
11月9日凌晨,OpenAI在官网发布,ChatGPT和API发生重大中断,导致全球所有用户无法正常使用,宕机时间超过2小时。 目前,OpenAI已经找到问题所在并进行了修复,但仍然不稳定,会继续进行安全监控。 …...
SQL第五次上机实验
1.向图书表(Book)插入以下记录 USE TSGL GO INSERT INTO Book VALUES(7-5402-1800-3,文学类,边城,沈从文,燕山出版社,10,5,5)2.向借阅表插入以下两条记录 USE TSGL GO INSERT INTO Lend VALUES(201207034201,7-5402-1800-3,00366240,2013-04-22),(2012…...
Matplotlib数据可视化综合应用Matplotlib图形配置在线闯关_头歌实践教学平台
Matplotlib数据可视化综合应用图形配置 第1关 配置颜色条第2关 设置注释第3关 自定义坐标刻度第4关 配置文件与样式表 第1关 配置颜色条 任务描述 本关任务:使用colorbar绘制一个热成像图。 编程要求 在右侧编辑器Begin-End处补充代码,根据输入数据绘制…...
CSS实现瀑布流的两种方式
column 多行布局实现瀑布流 1.column 实现瀑布流主要依赖两个属性。 2.column-count 属性,是控制屏幕分为多少列。 3.column-gap 属性,是控制列与列之间的距离。 <!DOCTYPE html> <html lang"en"> <head><meta charset&q…...
Hadoop 视频分析系统
视频分析系统 业务流程 原始数据 vedio.json {"rank":1,"title":"《逃出大英博物馆》第二集","dzl":"77.8","bfl":"523.9","zfl":"39000","type":"影视",&quo…...
Flutter android和ios闪屏页配置
一.概念理解 闪屏页 1.当点击app开始的一瞬间,所呈现出来的页面就是闪屏页。 2.为什么会有闪屏也,由于app启动需要加载代码,这个过程需要耗时,在没有加载完成之前,是看不到app真正的页面。所以app在没有完全加载完时…...
30道高频Vue面试题快问快答
※其他的快问快答,看这里! 10道高频Qiankun微前端面试题快问快答 10道高频webpack面试题快问快答 20道高频CSS面试题快问快答 20道高频JavaScript面试题快问快答 30道高频Vue面试题快问快答 面试中的快问快答 快问快答的情景在面试中非常常见。 在面试过…...
vue-前端实现模糊查询
vue-前端实现模糊查询 开始觉得前端的模糊查询肯定是非常难实现的,但后来发现还是很容易的,几行代码就可以搞定。 原理 从后端获取到所有数据后,将数据存储于两个变量中,目的是为了其中一个作为模糊查询的对照组,用…...
QT:tcpSocket 报错The proxy type is invalid for this operation
调用connectToHost时会先检查代理情况。Qt 程序默认使用系统的代理设置会导致这个问题导致,只要关闭系统的代理设置就可以解决这个问题: (1)添加头文件: #include <QNetworkProxy> (2)添加…...
PostgreSQL 技术内幕(十一)位图扫描
扫描算子在上层计算和底层存储之间,向下扫描底层存储的数据,向上作为计算的输入源,在SQL的执行层中,起着关键的作用。顺序、索引、位图等不同类型的扫描算子适配不同的数据分布场景。然而,扫描算子背后的实现原理是怎样…...
C# WebSocket 服务器
*******************websocket服务器************************************** 第一步:创建HttpListener类,并启动监听: var listener new HttpListener(); listener.Prefixes.Add("http://10.10.13.140:8080/"); …...
自动化实战 - 测试个人博客系统
前言 本篇使用Selenium3Junit5对个人博客进行自动化测试,如有错误,请在评论区指正,让我们一起交流,共同进步! 文章目录 前言一.web自动化测试用例二.测试准备1.注册界面自动化测试测试过程中遇到的Bug: 2.登录界面自动…...
TCP/IP详解
TCP/IP详解 一、网络基础1.TCP/IP网络分层2.IP地址和端口号3.封装与分用4.客户-服务端模型 二、链路层1.以太网IEEE802封装2.环回接口 Loopback Interface3.最大传输单元MTU和路径MTU 三、网络层 - IP1.IP首部的关键信息2.IP路由选择3.子网寻址和子网掩码4.ICMP和IGMP 四、传输…...
2023年的低代码:数字化、人工智能、趋势及未来展望
前言 正如许多专家预测的那样,低代码平台在2023年将展现更加强劲的势头。越来越多的企业正在纷纷转向低代码开发,他们希望能够快速开发内部应用程序,并在经济衰退可能出现的情况下保持灵活性。在这个大背景下,低代码平台为企业软件…...
【gogogo专栏】golang并发编程
golang并发编程 并发编程的工具goroutine介绍协程管理器sync.WaitGroup channel介绍readChannel和writeChannelclose的用法select的用法 通讯示例总结 并发编程的工具 在golang中,并发编程是比较简单的,不像java中那么麻烦,golang天然的支持协…...
边缘计算医疗风险自查APP开发方案
核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...
iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版分享
平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...
《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...
linux 错误码总结
1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...
微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...
分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...
网站指纹识别
网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...
AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机
这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机,因为在使用过程中发现 Airsim 对外部监控相机的描述模糊,而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置,最后在源码示例中找到了,所以感…...
[ACTF2020 新生赛]Include 1(php://filter伪协议)
题目 做法 启动靶机,点进去 点进去 查看URL,有 ?fileflag.php说明存在文件包含,原理是php://filter 协议 当它与包含函数结合时,php://filter流会被当作php文件执行。 用php://filter加编码,能让PHP把文件内容…...
论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing
Muffin 论文 现有方法 CRADLE 和 LEMON,依赖模型推理阶段输出进行差分测试,但在训练阶段是不可行的,因为训练阶段直到最后才有固定输出,中间过程是不断变化的。API 库覆盖低,因为各个 API 都是在各种具体场景下使用。…...
