Linux运维-DHCP服务器

DHCP服务器的配置与管理

项目场景

学校各部门共有180台电脑,除了计算机学院的教师会配置电脑的网络连接,其他部门的老师和工作人员均不会,为了提高网络的管理效率,技术人员决定配置一台DHCP服务器,来提供动态的IP地址分配,不会配置网络连接的人员选择自动获取IP即可。

DHCP基础知识

(1)什么是DHCP?
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作。主要是用来给网络客户机分配动态IP地址、子网掩码、网关地址、DNS服务器地址。

(2)DHCP的主要功能
主要有两个功能:
①给内部网络或网络服务供应商自动分配IP地址。
②给用户或者内部网络管理员作为对所有计算机作中央管理的手段。

(3)DHCP的优点
1)DHCP避免了由于需要手动在每个计算机上输入值而引起的配置错误。DHCP还有助于防止由于在网络上配置新的计算机时重新使用以前已分配的IP地址而引起的地址冲突。

2)使用DHCP服务器可以大大降低用于配置和重新配置网上计算机的时间。可以配置服务器,使其在分配地址租约时提供全部的其他配置值,如:网关地址、DNS服务器地址等。

3)DHCP租约续订过程中,有助于确保客户端计算机配置需要经常更新的情况,如:使用移动设备频繁封盖位置的用户。

(4)DHCP常用的术语
①DHCP服务器:提供DHCP服务的计算机。
②DHCP客户端:启用DHCP设置的计算机,就是需要DHCP服务的设备。
③作用域:一个完整连续的可用IP地址范围,DHCP服务主要就是通过作用域来管理网络分布,IP地址分配及其它相关配置参数。
④超级作用域:管理级的作用域集合,用于支持同一物理网络上的多个逻辑IP子网,超级作用域包含子作用域的列表,对子作用域进行统一管理。
⑤排除范围:排除范围是作用域内从DHCP服务中排除的有限IP地址序列,排除范围确保在这些范围中的任何地址都不是由网络上的服务器提供给DHCP客户机,(就相当于保留地址,比如网络中网络打印机地址需要固定,就不能把这个地址再给客户机)
⑥地址池:在定义DHCP作用域并应用排除范围之后,剩余的地址在作用域内形成可用地址池,就是作用域中可用IP的范围,这时的地址才可以由DHCP服务器动态分配给DHCP客户端使用。
⑦租约:客户计算机可以使用动态分配IP地址的时间,这个时间可以由DHCP服务器设置。当一台客户机发出租约后,此租约被看作是活动的,在租约终止前,客户机可以向DHCP服务器请求更新其租约。当租约到期或被服务器删除后,就变动不活动的了,租约的持续时间决定了租约什么时候终止及客户机隔多久向DHCP服务器更新其租约 。
⑧预约:创建从DHCP服务器客户机的永久地址租约指定,预约可以保证子网上的特定设备总是使用相同的IP地址(如网络打印机的IP,DHS服务器的等)
⑨选项类型:当DHCP服务器向DHCP客户机提供租约服务时可以指定的其它客户机的配置参数,典型的这些选项类型由各个作用域启用和配置。大多数选项在RFC21232中预定了,如需要,可以在DHCP管理器定义并添加自定义选项类型。
⑩选项类别:DHCP服务器用于进一步提供给客户机的选项类型的方法,选项类别可以在用户的DHCP服务器上配置以提供特定的客户机支持。

(5)DCHP的工作流程
客户机首次获取IP租约,需要经过4个阶段与DHCP服务器建立联系。

  1. IP租用请求:客户机通过UDP端口67广播一个DHCPDISCOVER信息包,向网络上的任意一个DHCP服务器请求提供IP租约。
  2. IP租用提供:网络上所有的DHCP服务器均会收到此信息包,每台DHCP服务器通过UDP端口68给客户机回应一个DHCPOFFER广播包,提供一个IP地址。
  3. IP租用选择:客户机收到多台DHCP服务器的OFFER后,会选择第一个收到的OFFER包,并向网络广播一个DHCPREQUEST消息包,表明自己已接受了一个DHCP服务器提供的IP地址。该广播包中包含所接受的IP地址和服务器的IP地址。
  4. IP租用确认:被客户机选择的DHCP服务器在收到REQUEST广播后,会广播给客户机一个DHCPACK消息包,表明接受客户机的选择,并将这一IP地址的合法租用以及其他配置信息放入广播包发给客户机。客户机收到ACK包后配置TCP/IP,租用过程完成,可以在网络中通信。

(6)DHCP客户的IP租约更新(续约):
取得IP租约后,客户机必须定期更新租约,否则租约到期就不能继续使用IP地址。按照默认规定,每当租用时间超过租约的50%和87.5%时,客户机就必须发出REQUEST信息包,向服务器请求更新租约。

(7)DHCP中继代理(dhcprelay):当DHCP服务器的IP地址要与分配的IP地址不在一个子网时,需要一个支持DHCP请求转发的硬件路由器,如果没有,就需要在DHCP服务器的子网上架设DHCP中继代理。

(6)DHCP分配地址的方式
①自动分配方式(Automatic Allocation),DHCP服务器为主机指定一个永久性的IP地址,一旦DHCP客户端第一次成功从DHCP服务器端租用到IP地址后,就可以永久性的使用该地址。

②动态分配方式(Dynamic Allocation),DHCP服务器给主机指定一个具有时间限制的IP地址,时间到期或主机明确表示放弃该地址时,该地址可以被其他主机使用。

③手工分配方式(Manual Allocation),客户端的IP地址是由网络管理员指定的,DHCP服务器只是将指定的IP地址告诉客户端主机。

三种地址分配方式中,只有动态分配可以重复使用客户端不再需要的地址。

与DHCP相关的文件

  • DHCP守护进程: /usr/sbin/dhcpd
  • DHCP中继代理守护进程:/usr/sbin/dhcprelay
  • DHCP服务单元配置文件:/usr/lib/systemd/system/dhcpd.service
  • 主配置文件(IPv4):/etc/dhcp/dhcpd.conf
  • DHCP租约文件(IPv4):/var/lib/dhcpd/dhcpd.leases
  • 主配置文件模板(IPv4):/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example

DHCP的主配置文件

DCHP安装结束后, DHCP端口监听程序 dhcpd配置文件是/etc/dhcp目录中的名为dhcpd.conf的文件。dhcpd.conf文件通常包括三部分:parameters、declarations 、option。
①DHCP配置文件中的parameters(参数):表明如何执行任务,是否要执行任务,或将哪些网络配置选项发送给客户。主要内容如下:

  • ddns-update-style
  • 说明:配置DHCP-DNS 互动更新模式。
  • default-lease-time
  • 说明:指定默认地址租赁时间的长度,单位是秒。
  • max-lease-time
  • 说明:指定最大租赁时间长度,单位是秒。
  • hardware
  • 说明:指定网卡接口类型和MAC地址。
  • server-name
  • 说明:通知DHCP客户服务器名称。
  • get-lease-hostnames flag
  • 说明:检查客户端使用的IP地址。
  • fixed-address ip
  • 说明:分配给客户端一个固定的地址。
  • authritative
  • 说明:拒绝不正确的IP地址的要求。

② DHCP配置文件中的declarations (声明):用来描述网络布局、提供客户的IP地址等。主要内容如下:

  • shared-network
  • 说明:用来告知DHCP服务器某些IP子网其实是共享同一个物理网络,在此声明可以使用多个subnet声明多个逻辑子网络。
  • subnet
  • 说明:描述一个IP地址是否属于该子网。
  • range 起始IP 终止IP
  • 说明:提供动态分配IP 的地址范围。
  • host 主机名称
  • 说明:为特定的DHCP客户机提供IP网络参数。
  • group
  • 说明:为一组参数提供声明。
  • allow unknown-clients ;deny unknown-client
  • 说明:是否动态分配IP给未知的使用者。
  • allow bootp;deny bootp
  • 说明:是否响应激活查询。
  • allow booting;deny booting
  • 说明:是否响应使用者查询。
  • filename
  • 说明:开始启动文件的名称,应用于无盘工作站。
  • next-server
  • 说明:设置服务器从引导文件中装如主机名,应用于无盘工作站。

③ DHCP配置文件中的option(选项):用来配置DHCP可选参数,全部用option关键字作为开始,主要内容如下:

  • subnet-mask
  • 说明:为客户端设定子网掩码。
  • domain-name
  • 说明:为客户端指明DNS名字。
  • domain-name-servers
  • 说明:为客户端指明DNS服务器的IP地址。
  • host-name
  • 说明:为客户端指定主机名称。
  • routers
  • 说明:为客户端设定默认网关。
  • broadcast-address
  • 说明:为客户端设定广播地址。
  • ntp-server
    说明:为客户端设定网络时间服务器的IP地址。
  • time-offset
  • 说明:为客户端设定与格林威治时间的偏移时间,单位是秒。

默认dhcpd.conf配置文件中是没有配置内容的,其中有3行说明文字,如图所示。第1行告诉我们这个是DHCP服务的配置文件,第2行告诉我们可以参照样例文件/usr/share/doc/dhcp*/dhcpd.conf.example来配置。也可以将样例文件直接复制过来进行修改。第3行告诉我们可以使用man命令查看dhcpd.conf的帮助手册。

[root@localhost dhcp-common-4.2.5]# cat /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#

配置实施

实施流程

1.安装DHCP服务器
2.DHCP服务器基础配置
3.配置Linux客户机DHCP服务器并测试
4.配置Windows客户机DHCP服务器并测试

DHCP服务器配置流程

(1)安装DCHP服务程序
查看可安装的DHCP软件包信息。
yum info dhcp
在这里插入图片描述

安装DHCP软件包:
yum -y install dhcp
在这里插入图片描述

查看系统有没有安装DHCP:rpm -ql dhcp
在这里插入图片描述

查看安装状况: rpm -qa|grep dhcp
在这里插入图片描述

(2)编辑主配置文件dhcpd.conf ,指定IP作用域。
配置实例

配置用于在局域网中提供DHCP服务,要求实现如下功能:

  1. 默认租约时间为18000秒;最大租约时间为36000秒。
  2. 局域网内所有主机的域名为 lhg.com。
  3. 客户机使用的DNS服务器的IP地址是192.168.88.1和192.168.88.251。
  4. 在子网192.168.88.0/24中用于动态分配的IP地址范围从192.168.0.100~192.168.88.199(地址池)。
  5. 所有分配的IP地址的子网掩码是255.255.255.0,默认网关地址是192.168.88.1。
  6. 在子网192.168.0.0/24中有名为STU的服务器主机,需要固定分配IP地址为192.168.88.250,该服务器网络接口的MAC地址是00:A0:78:8E:9E:AA,STU主机的其他配置内容那个使用所在子网的默认配置。
  7. 在子网192.168.88.0/24中有一台提供TFTP服务的服务器192.168.88.252,且PXE的启动引导器为pxelinux.0。

什么是PXE?
PXE的全程是preboot execute environment,光从英文名看不出什么来。它其实是Intel在很久以前提出来的一项用于通过网络来引导系统的标准,具体的标准说明可以在http://www.pix.net/software/pxeboot/archive/pxespec.pdf找到。
PXE有什么用?
前面已经提到,PXE是用来通过网络引导系统的,但是为什么要这么做呢?可以参考下面的场景:
你现在有1台电脑需要装系统,那么很简单,你拿上一个U盘安装盘插在这台电脑上,然后从U盘启动,之后就可以手动安装系统了;但如果你现在有100台电脑,如果你在拿着一个U盘安装盘一台台安装,那效率肯定是太低了,这个时候PXE就派上用场了。
某公司对信息安全要求比较高,需要使用无盘系统(系统不在本地电脑上,而在公司特定的服务器上),这个时候也需要使用PXE。
你想要一台远程的电脑运行你手上特定的系统,这个时候你就可以在本地布置一个你手上的系统,然后通过PXE启动你本地的系统(这个可能需要额外的支持,比如BMC,因为要远程)。

那要使用PXE呢,就需要有两个前提
1、网卡支持PXE(现在网卡一般情况都支持)
2、BIOS开启PXE(也就是你的问题)
(为什么就能给我安装很多操作系统)
第一步:PXE-client发送请求去找dhcp服务器获取地址
第二步:DHCP应答请求并回应分配的IP地址,pxelinux启动程序(TFTP)的位置,以及配置文件的位置
第三步:PXE-client请求下载启动文件PXE客户端收到回应后,向TFTP服务器请求下载所需的启动系统安装文件
第四步:TFTP服务器响应请求并传送文件当TFTP服务器收到请求后,服务器会响应请求并应答请求,之后传送所需的文件给客户端
第五步:PXE-client请求下载自动应答文件PXE客户端通过文件成引导linux安装后,接着读取文件中指定的自动应答文件ks.cfg,然后根据文件位置请求下载镜像
第六步:客户端安装系统有了镜像之后就能安装操作系统了

dhcpd.conf 是DHCP服务的配置文件,DHCP服务所有参数都是通过修改dhcpd.conf 文件来实现,安装后dhcpd.conf 是没有做任何配置的,将/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example 复制为/etc/dhcp/dhcpd.conf 文件进行配置。
前述实例的dhcpd.conf配置文件:

#定义所支持的DNS动态更新类型(必选)
ddns-update-style none;
#忽略客户机更新DNS记录
ignore client-updates;
#默认租约时间为18000秒
Default-lease-time  18000;
#最大租约时间为36000秒
Max-lease-time  36000;#定义作用域(IP子网)
subnet 192.168.88.0 netmask 255.255.255.0  {
#给客户端分配地址的范围range 192.168.88.100   192.168.88.199;
#为客户端指定网关option routers 192.168.88.1;
#为客户端指定子网掩码option subnet-mask 255.255.255.0;
#为客户端指定DNS域名option domain-name "lhg.com";
#为客户端指定DNS服务器的IP地址option domain-name-servers 192.168.88.1, 192.168.88.251;
#为客户端设置网络时间服务器的IP地址option ntp-servers   192.168.88.1;
# 备注名称,可以自行定义。host  STU     {#静态绑定mac和iphardware ethernet  00:A0:78:8E:9E:AA;#固定分配的地址fixed-address 192.168.88.250;        }
#远程启动服务器地址next-server 192.168.88.252;
#获取远程启动服务器地址后下载pxelinux.0这个文件filename "pxelinux.0";
}

注意要dhcp服务器的网段要与Linux服务器网段一致,否则无法启动,写配置文件的时候注意修改IP地址

DHCP配置检查与服务启动

dhcpd –t                #检查配置文件语法的正确性
systemctl enable dhcpd             #设置开机启动
systemctl start dhcpd                #启动dhcp服务
systemctl status dhcpd              #查看DHCP服务状态

在这里插入图片描述

在这里插入图片描述

底下那个红色的是因为虚拟机中的虚拟网卡virbr0,在CentOS 7的安装过程中如果有选择相关虚拟化的的服务安装系统后,启动网卡时会发现有一个以网桥连接的私网地址的virbr0网卡,这个是因为在虚拟化中有使用到libvirtd服务生成的,如果不需要可以关闭后去掉。
直接将libvirtd服务卸载,这样也就不会生成虚拟网卡,更是一劳永逸,待需要使用时,再安装该服务即可。操作命令如下:
yum remove libvirt-libs.x86_64
(非必须操作)

(3)配置Linux客户机DHCP服务器并测试

1、通过“网络连接”继续配置。
进入桌面系统后,在左上角点击“应用程序”→“系统工具”→“设置”单击后进入“设置”对话框窗口,找到网络(左边往下划拉鼠标)。进入对话框后选择“有线连接”→点“+”→,名称输入“System eth0”→“ipv4设置”选项卡,在“ipv4设置”选项卡上,在“方法”下列列表框中选择“自动(DHCP)”。
在这里插入图片描述

2、也可使用nmtui测试

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

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

相关文章

nginx搭建直播rtmp推流,httpflv拉流环境

背景 工作中发现挺多直播CDN在实现httpflv拉流时都没有使用http chunk编码,而是直接使用no-content-length的做法。所以想自己搭建一个直播CDN支持 http chunk编码。 环境搭建 系统环境 Ubuntu 18.04.4 LTS 软件 nginx-1.18.0 nginx扩展模块 nginx-http-flv-mo…

【前端素材】推荐优质后台管理系统Be admin平台模板(附源码)

一、需求分析 后台管理系统(或称作管理后台、管理系统、后台管理平台)是一种专门用于管理网站、应用程序或系统后台运营的软件系统。它通常由一系列功能模块组成,为管理员提供了管理、监控和控制网站或应用程序的各个方面的工具和界面。以下…

Linux学习方法-框架学习法——Linux驱动架构的演进

配套视频学习链接:https://www.bilibili.com/video/BV1HE411w7by?p4&vd_sourced488bc722b90657aaa06a1e8647eddfc 目录 Linux驱动演进的过程 Linux驱动的原始架构(Linux V2.4) 平台总线架构(platform) Linux设备树 Linux驱动演进的趋势 Linux驱动演进的过程…

这么多向量数据库,它们之间到底有哪些差异?

上篇说到chroma的近邻搜索算法实现得有问题,不如qdrant的。其实向量数据库之间看似都一样,但细细比较还是有很多不同的。 国外有一系列文章已经讲得很详细了,而且也就是半年前写的,还是具有很强的参考价值,文章如下&a…

最佳 PDF 转 Word 转换器软件,可实现无缝转换

如今,PDF文件格式因其高安全性而被计算机用户所熟悉,这使得无法直接编辑内容。因此,每当用户需要复制内容时,都会遇到很多困难。在这里将介绍了一些可以让您将 PDF 转换为 Word 的工具。 借助高效、免费的 PDF 转 Word 转换器软件…

c语言的数据结构:找环状链表入口处

一起<(&#xffe3;︶&#xffe3;)↗[GO!] 1.如何判断一个链表是否有环 思路:设定两个快慢指针fast和slow,fast每次走两个结点,slow每次走一个节点 如果fast指针遇到了Null,那么这个链表没有环,如果fast和slow可以相遇,则代表这个链表有环 代码如下 N:fast先进环,slow后…

【寸铁的刷题笔记】树、dfs、bfs、回溯、递归(二)

【寸铁的刷题笔记】树、dfs、bfs、回溯、递归(二) 大家好 我是寸铁&#x1f44a; 金三银四&#xff0c;树、dfs、bfs、回溯、递归是必考的知识点✨ 快跟着寸铁刷起来&#xff01;面试顺利上岸&#x1f44b; 喜欢的小伙伴可以点点关注 &#x1f49d; 上期回顾 感谢大家的支持&am…

Linux运维-Web服务器的配置与管理(PHP)

Web服务器的配置与管理(PHP) 项目场景 某企业在CentOS上搭建Web服务系统&#xff0c;以PHP作为网页开发环境&#xff0c;以MySQL为后台数据库。 基础知识 PHP PHP原始为Personal Home Page的缩写&#xff0c;已经正式更名为 “PHP: Hypertext Preprocessor”&#xff08;超…

第1讲-introduction

计算机组成与结构简介 计算机的基本组成 计算机的层次结构

Spring Boot 手写starter!!!

原因&#xff1a;为什么要手写starter&#xff1f;&#xff1f;&#xff1f; 原因&#xff1a;简化功能。 实例&#xff1a;以分页为例&#xff1a;写一个starter。 1.首先定义一个PageX注解。 Target({ElementType.METHOD}) Retention(RetentionPolicy.RUNTIME) Documented p…

【计算机毕业设计】541鲜花商城系统

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

pikachu靶场-RCE

介绍&#xff1a; RCE(remote command/code execute)概述 RCE漏洞&#xff0c;可以让攻击者直接向后台服务器远程注入操作系统命令或者代码&#xff0c;从而控制后台系统。 远程系统命令执行 一般出现这种漏洞&#xff0c;是因为应用系统从设计上需要给用户提供指定的远程命…

Pytorch 自用 Scheduler 分享

✅作者简介&#xff1a;人工智能专业本科在读&#xff0c;喜欢计算机与编程&#xff0c;写博客记录自己的学习历程。 &#x1f34e;个人主页&#xff1a;小嗷犬的个人主页 &#x1f34a;个人网站&#xff1a;小嗷犬的技术小站 &#x1f96d;个人信条&#xff1a;为天地立心&…

TreeData 数据查找

TreeData 数据查找 最近做需求的时候遇到了这样的一个需求&#xff0c;Tree组件数据支持查找&#xff0c;而且TreeData的数据层级是无限级的 开始想的事借助UI组件库&#xff08;Ant-design-vue&#xff09;中的Tree组件的相关方法直接实现,看了下api 发现没法实现&#xff0c;…

【前端素材】推荐优质后台管理系统PORTAL平台模板(附源码)

一、需求分析 后台管理系统是一种具有多层次结构的软件系统&#xff0c;用于管理网站、应用程序或系统的后台操作和管理。下面是对后台管理系统的分层次、详细分析&#xff1a; 第一层&#xff1a;用户界面层 登录界面&#xff1a;提供用户登录验证&#xff0c;确保只有经过授…

Puppeteer 使用实战:如何将自己的 CSDN 专栏文章导出并用于 Hexo 博客(三)

文章目录 往期效果将文章信息导出适配 hexo 的文章模板导出的文章路径问题终端控制执行脚本代码整理结尾 往期 Puppeteer 使用实战&#xff1a;如何将自己的 CSDN 专栏文章导出并用于 Hexo 博客&#xff08;二&#xff09; 效果 写了一个 node 脚本用来批量处理 md 文件 本期…

代码随想录算法训练营第50天|123.买卖股票的最佳时机III、188.买卖股票的最佳时机IV

文章目录 123.买卖股票的最佳时机III思路代码 188.买卖股票的最佳时机IV思路代码 123.买卖股票的最佳时机III 题目链接&#xff1a;123.买卖股票的最佳时机III 文章讲解&#xff1a;代码随想录|123.买卖股票的最佳时机III 视频讲解&#xff1a;123.买卖股票的最佳时机III 思路 …

第九届大数据与计算国际会议 (ICBDC 2024) 即将召开!

2024年第九届大数据与计算国际会议&#xff08;ICBDC 2024&#xff09;将于2024年5月24至26日在泰国曼谷举行。本次会议由朱拉隆功大学工程学院工业工程系主办。ICBDC 2024的宗旨是展示大数据和计算主题相关科学家的最新研究和成果&#xff0c;为来自不同地区的专家代表们提供一…

【多线程】synchronized 关键字 - 监视器锁 monitor lock

synchronized 1 synchronized 的特性1) 互斥2) 可重入 2 synchronized 使用示例1) 修饰代码块: 明确指定锁哪个对象.2) 直接修饰普通方法: 锁的 SynchronizedDemo 对象3) 修饰静态方法: 锁的 SynchronizedDemo 类的对象 3 Java 标准库中的线程安全类 1 synchronized 的特性 1)…

操作系统-复试笔记

http://t.csdnimg.cn/PJLWh 操作系统基础 什么是操作系统&#xff1f; 操作系统&#xff08;Operating System&#xff0c;简称 OS&#xff09;是管理计算机硬件与软件资源的程序&#xff0c;是计算机的基石。操作系统本质上是一个运行在计算机上的软件程序 &#xff0c;用于…