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和ip
                hardware 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测试

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

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

相关文章

js---回溯算法

在 JavaScript 中实现回溯算法通常需要使用递归来进行搜索。回溯算法通常用于解决组合优化问题、排列组合问题、棋盘类游戏等。回溯算法一般是一个for加递归,for循环横向遍历,递归纵向遍历—以上是回溯算法的基本框架 1、回溯算法求数组所有子集 2、回溯算法求全排列

电商+支付双系统项目------项目部署到服务器

我已经把这个项目的所有模块都做好了。那么,现在我们要做的就是将这个项目部署发布了。其实关于部署发布网上有很多的文章都会教,我就不写哪些很具体的步骤了,我就简单的总结一下怎么部署这个项目,让大家对项目部署有一个整体的认…

【rust】9、reqwest 调用 http

文章目录 一、client1.1 post reqwest 实现的 http server 和 client 用 https://github.com/seanmonstar/reqwest cargo add reqwest -F json cargo add tokio -F full一、client 1.1 post async fn http_post<T: Serialize>(addr: String, body: T) -> Result<…

【centos】【vsftpd】FTP本地用户登录配置

目录 ftp与sftp安装vsftpd和ftp本地用户登录-不限制访问目录本地用户登录-限制访问目录有可能影响连接的问题pam认证selinux策略被动模式防火墙ipv4和ipv6 报错1、 530 Login incorrect2、500 OOPS: vsftpd: refusing to run with writable root inside chroot()3、227 Enterin…

[C++] 如何操作ini文件

什么是ini文件&#xff1f; INI文件&#xff08;.ini&#xff09;是一种常见的配置文件格式&#xff0c;用于存储程序、操作系统或设备驱动程序的配置信息。INI是"Initialization"的缩写&#xff0c;指的是初始化。INI文件通常是纯文本文件&#xff0c;在Windows操作…

《TCP/IP详解 卷一》第3章 链路层

目录 3.1 引言 3.2 以太网 3.3 全双工 省点 自动协商 流量控制 3.4 网桥和交换机 3.5 WiFi 3.6 PPP协议 3.6.1 PPP协议流程 3.7 环回 3.8 MTU和路径MTU 3.9 隧道基础 3.9.1 GRE 3.9.2 PPTP 3.9.3 L2TP 3.10 与链路层相关的攻击 3.11 总结 3.1 引言 城域网&…

如何将负压控制信号转换为正电压

多电源域系统中&#xff0c;时常会出现负电压&#xff0c;比如双电源运放&#xff0c;比如射频功率放大器的栅极偏置电压等。以射频功率放大器的栅极偏置电压和VDD上电为例&#xff0c;是要考虑上电顺序的&#xff0c;参见博文《功放的上电顺序》https://blog.csdn.net/mzldxf/…

什么是nginx 、安装nginx、nginx调优

一、 什么是nginx 1.1 nginx的概念 一款高新能、轻量级Web服务软件系统资源消耗低对HTTP并发连接的处理能力高单台物理服务器可支持30 000&#xff5e;50 000个并发请求。 1.2 nginx模块与作用 核心模块&#xff1a;是 Nginx 服务器正常运行必不可少的模块&#xff0c;提供错…

设备树详解

设备树(Device Tree)基本概念及作用 设备树(Device Tree)基本概念 在内核源码中,存在大量对板级细节信息描述的代码。这些代码充斥在/arch/arm/plat-xxx和/arch/arm/mach-xxx目录,对内核而言这些platform设备、resource、i2c_board_info、spi_board_info以及各种硬件的…

leet hot 100-1 两数之和

两数之和 原题链接思路代码 原题链接 leet hot 100-1 1. 两数之和 思路 可以把当前数字放到容器里面去 当我们遍历一个新的数字的时候 减一下与目标值的差 然后得到的结果在容器里面查看是否存在 时间复杂度O(n) 空间复杂度(n) 代码 class Solution { public:vector<…

修复 Android 手机陷入恢复模式的 5 种方法

您的手机卡在 Android Recovery 模式且无法退出此模式&#xff1f;无论您按什么按钮组合&#xff0c;甚至在取出并重新插入电池后重新启动手机&#xff0c;手机都会启动回到恢复模式吗&#xff1f; Android卡在recovery模式的情况并不罕见&#xff0c;各种品牌的Android手机都…

EasyRecovery易恢复14好不好用?恢复速度怎么样

EasyRecovery易恢复14的恢复速度相对较快&#xff0c;但具体的恢复速度取决于多个因素。以下是一些影响恢复速度的主要因素&#xff1a; 存储设备性能&#xff1a;恢复速度受到存储设备性能的影响。如果存储设备&#xff08;如硬盘、U盘等&#xff09;的读写速度较慢&#xff…

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

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

Ubuntu环境安装MySQL数据库

1.安装过程 打开终端&#xff08;Terminal&#xff09;窗口&#xff0c;使用以下命令更新系统软件包&#xff1a; sudo apt update ubuntu环境安装mysql-server和mysql开发包&#xff0c;包括mysql头文件和动态库文件&#xff0c;命令如下&#xff1a; sudo apt-get instal…

代码随想录算法训练营第60天 | 647.回文子串 + 516.最长回文子序列 + 动态规划总结篇

今日任务 647. 回文子串 516.最长回文子序列 动态规划总结篇 647.回文子串 - Medium 题目链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 给你一个字符串 s &#xff0c;请你统计并返回这个字符串中 回文子串 的数目。 回文字符串 是正着读和倒过来读一样的字符串…

【Spring面试题】

目录 前言 1.Spring框架中的单例bean是线程安全的吗? 2.什么是AOP? 3.你们项目中有没有使用到AOP&#xff1f; 4.Spring中的事务是如何实现的&#xff1f; 5.Spring中事务失效的场景有哪些&#xff1f; 6.Spring的bean的生命周期。 7.Spring中的循环引用 8.构造方法…

海外媒体发稿:链游媒体宣发推广7种有效策略解析-华媒舍

随着区块链技术的不断发展&#xff0c;链游&#xff08;区块链游戏&#xff09;已经成为了游戏市场中备受瞩目的一部分。仅仅开发出一款出色的链游并不足以成功&#xff0c;而有效的宣发推广策略则是不可或缺的。 本文将介绍7种有效的链游媒体宣发推广策略&#xff0c;帮助您了…

一、初始 Vue

1、Vue 1.1 Vue简介 1.1.1 Vue.js 是什么 Vue (读音 /vjuː/&#xff0c;类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是&#xff0c;Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层&#xff0c;不仅易于上手&#xff0c;还便于与第…

wordpress免费主题模板

免费大图wordpress主题 首页是一张大图的免费wordpress主题模板。简洁实用&#xff0c;易上手。 https://www.jianzhanpress.com/?p5857 wordpress免费模板 动态效果的wordpress免费模板&#xff0c;banner是动态图片效果&#xff0c;视觉效果不错。 https://www.jianzhan…

Freertos实时操作系统---基于STM32

一、Freertos简介 1.Freertos介绍 1&#xff09;RTOS指的是一类的实时操作系统 2&#xff09;rtos的使用&#xff1a;用户根据对任务来设置其优先级然后来使用调度器来决定哪一个任务来先执行。 3&#xff09;Freertos的文件数量远低于其他操作系统 4&#xff09;主要特点&…