哇~真的是你呀!今天是LINUX的DHCP服务与管理

简介: 在Linux中,DHCP(动态主机配置协议)服务器管理是用于分配IP地址和其他网络配置信息给计算机和设备的服务。DHCP服务器管理在Linux中的作用是自动为计算机和设备分配IP地址和其他网络配置信息,简化网络管理并避免IP地址冲突。这使得网络设置更加方便和高效。

前言

在Linux中,DHCP(动态主机配置协议)服务器管理是用于分配IP地址和其他网络配置信息给计算机和设备的服务。它的作用主要有以下几个方面:


1. IP地址分配:DHCP服务器可以自动分配IP地址给连接到网络的计算机和设备,避免了手动配置每个设备的麻烦。通过DHCP,设备可以动态地获得可用的IP地址。


2. 简化网络管理:使用DHCP服务器可以简化网络管理。当有新设备加入网络或设备离开网络时,DHCP服务器将自动分配或释放相应的IP地址,减少了管理员的工作量。


3. 管理其他网络配置信息:除了IP地址,DHCP服务器还可以提供其他网络配置信息,如子网掩码、默认网关、DNS服务器等。这些配置信息可以自动分配给设备,使其能够顺利地与网络和互联网上的其他设备进行通信。


4. 防止IP地址冲突:DHCP服务器可以避免IP地址冲突的发生。在手动配置IP地址时,可能会出现多个设备使用相同的IP地址的情况,而DHCP服务器能够确保每个设备都获得唯一的IP地址。


总而言之,DHCP服务器管理在Linux中的作用是自动为计算机和设备分配IP地址和其他网络配置信息,简化网络管理并避免IP地址冲突。这使得网络设置更加方便和高效。


一、DHCP概述


概述

   DHCP协议全称: Dynamic Host Configuration Protocol ,动态主机配置协议

   可以 动态的进行IP地址分配 、服务端的监听端口67/udp、客户端监听端口 68/udp

    网络架构 C/S

   DHCP的优势: 提高配置效率、减少配置错误

   DHCP的分配方式 手动分配、 自动分配、动态分配

   应用场景:更加准确的配置网络参数的情况下、 网络环境较大时配置ip

   !!!注意: 同一个网络环境下不允许存在多个DHCP服务器

二、DHCP工作流程


工作流程

   1、 当客户端配置为自动获得IP地址时,客户端发送discover广播包(发现),用来寻找网络中的DHCP服务器

   2、假如网络存在DHCP服务器,此时服务器给出回应,向客户端发送Offer广播包,携带了IP地址的信息,询问客户端是否使用该IP地址

   3、假如客户端使用上述IP地址,向服务端发送Request广播包,并将请求信息写入到该包内。

   4、 服务端向客户端发送Ack广播包,并确定IP地址的租约期。


何时更新租约:当租约期达到50%时


当客户端重启后客户端直接发送Request包

     (1)  IP地址空闲  服务端直接回应Ack

     (2)IP地址被占用  服务端回应noAck,客户端需要将上述“工作流程”完整执行一遍


客户端类型

   Linux: DHCP服务器不存在,没有IP

   Windows: DHCP不存在,会启用备用IP地址   范围 169.254.0.0/16 ~ 168.254.255.255/16

三、部署


1、基础环境首先把我们的虚拟机的网络适配器设置成vmnet1(虚拟机不开机)

2.打开虚拟网络编辑器不选中使用本地DHCP服务将IP地址分配给虚拟机

1)配置yum源

 

cd /etc/yum.repos.d
    mkdir backup
    mv CentOS-* backup
    vim local.repo
        [local]
name=local
baseurl=file:///mnt
enabled=1
gpgcheck=0

2)关闭防火墙及SElinux:

systemctl stop firewalld.service && systemctl disable firewalld.service

查看SElinux状态:  getenforce

设置宽容模式 :setenforce  0  

  关闭SElinux
     

vim  /etc/selinux/config


       SELINUX=enforcing  改为 SELINUX=disabled
       重启才能生效

3)配置静态IP(是对DHCP服务器进行配置)
   关闭网络图形化工具

 

cd /etc/sysconfig/network-scripts/

vim ifcfg-ens33
        TYPE=Ethernet
        BOOTPROTO=static
        NAME=ens33
        DEVICE=ens33
        ONBOOT=yes
        IPADDR=192.168.1.254
        PREFIX=24


systemctl restart network

4)安装DHCP软件包
   

yum install -y dhcp


当我们安装好软件之后我们可以查看一下它所对应的文件、路径rpm -ql dhcp

通过查看我们知道了DHCP的配置文件存储路径/etc/dhcp  主配置文件dhcpd.conf

四、配置


通过上述步骤的查看我们知道了  配置文件存储路径 /etc/dhcp

查看dhcpd.conf发现里面没有东西,但是它提示我们们可以参照 see /usr/share/doc/dhcp*/dhcpd.conf.example

我们把模版复制过来其中配置项 subnet:配置DHCP分配的地址池   host :固定IP地址,指定分配给对应的MAC地址的主机

前三个subnet可以用#注释掉。配置完成后重新启动DHCP服务器systemctl restart dhcpd

其中subnet 表示的是网段 net mask 表示掩码 range表示IP池

五、案列


前提


1)准备3台虚拟机,一台作为DHCP服务器两台客户机,将它们按照上述要求把他们的网络设置调配好


2)按照上述步骤配置本地yum源,关闭防火墙及EXLinux,完成DHCP服务机的静态配置。


3)安装DHCP软件包


4)配置 /etc/dhcp/dhcp.conf


1、分配一个地址段动态分配

1)查看我们配置好的IP

2)编辑vim /dhcpd.conf

修改网段,码,IP池保存退出重启DHCP服务

3)打开我们的其他2台客户机连接网络并且查看IP

此时我们客户机的IP分别为192.168. 1.3和192.168.1.4说明IP地址获取成功


2.分配固定IP地址,指定分配给对应的MAC地址的主机

和上面一样我们再添加一台客户机指定分配给他的它的IP为192.168.1.55


首先我们先进入新的客户机查看它的mac地址,它的mac地址为00:0c:29:1f:61:f6

好的,下面我们进入DHCP服务器,还是编辑 /etc/dhcp/dhcpd.conf我们找到


把MAC地址改为客户机的地址输入想要分配的IP,保存退出,重启dhcpd

打开我们的客户机连接网络并查看IP ,成功获得我们指定的IP

3.分配多个地址段

分配多个网段地址我们还需要添加一台(中继服务器)虚拟机充当路由器的角色,再添加一台客户机。这次我们添加网段为192.168.2

1)我们添加一台中继设备并且再添加一块网卡,选择vmnet2,客户机也是选择vmnet2

2)我们打开中继设备,IP a 查看网卡

3)我们编辑2块网卡 cd /etc/sysconfig/network-scripts/  

创建ifcfg-ens37 并编辑

4)做完这些我们编辑vim /etc/sysctl.conf在末尾输入net.ipv4.ip_forward = 1

输入sysctl -p使之生效

5)配置中继设备的本地yum源并且关闭防火墙和EXlinux,和图形化

配置本地yum源

安装dhpc

6)用中继服务区指向DHCP服务器

7)进入DHCP服务器编辑vim dhcpd.conf。进入命令模式输入set nu显示行号将我们的之前编辑的那几行输入9yy复制p粘贴,可以添加注释#192.168.20

修改,保存退出并重启dhcp    systemctl restart dhcpd

验证: 打开客户端查看是否获取IP

客户机获得192.168.2网段IP


总结

我么在配中继设备时要注意!我们添加的网卡都要进行配置,不要忘记配置,其次网卡配置时名字不能搞错。另外如果你在配置结束后在重启服务时发现重启失败,你可以去查看你的配置文件在你编辑时是否有误,一定要细心,我建议能复制就复制。最后我们要把实验的步骤捋清楚,否则容易遗忘某些步骤。

目录
相关文章
|
1月前
|
监控 Linux Shell
【Shell 命令集合 网络通讯 】Linux 配置和管理网络流量的形状 shapecfg命令 使用指南
【Shell 命令集合 网络通讯 】Linux 配置和管理网络流量的形状 shapecfg命令 使用指南
39 0
|
1月前
|
存储 算法 Linux
【Linux 应用开发 共享内存】深入理解和实践 ftruncate:共享内存的有效管理
【Linux 应用开发 共享内存】深入理解和实践 ftruncate:共享内存的有效管理
63 5
|
1月前
|
搜索推荐 Shell Linux
【Shell 命令集合 系统管理 】Linux 管理用户配置文件 userconf命令 使用指南
【Shell 命令集合 系统管理 】Linux 管理用户配置文件 userconf命令 使用指南
38 2
|
19天前
|
网络协议 Linux
在Linux中,管理和配置网络接口
在Linux中管理网络接口涉及多个命令,如`ifconfig`(在新版本中被`ip`取代)、`ip`(用于网络设备配置)、`nmcli`(NetworkManager的CLI工具)、`nmtui`(文本界面配置)、`route/ip route`(处理路由表)、`netstat/ss`(显示网络状态)和`hostnamectl/systemctl`(主机名和服务管理)。这些命令帮助用户启动接口、设置IP地址、查看连接和路由信息。不同发行版可能有差异,建议参考相应文档。
19 4
|
12天前
|
存储 关系型数据库 MySQL
Linux服务详解
Linux服务详解
26 0
|
13天前
|
网络协议 Ubuntu Linux
Linux 下 TFTP 服务搭建及 U-Boot 中使用 tftp 命令实现文件下载
Linux 下 TFTP 服务搭建及 U-Boot 中使用 tftp 命令实现文件下载
|
13天前
|
消息中间件 监控 Linux
Linux进程和计划任务管理
通过这些命令和工具,你可以有效地管理Linux系统中的进程和计划任务,监控系统的运行状态并保持系统的稳定和可靠性。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
103 2
|
20天前
|
存储 缓存 监控
Linux内存和硬盘空间管理技巧
了解Linux内存和硬盘管理技巧,提升系统性能和稳定性。使用`free`, `top`, `vmstat`监控内存,通过`sync`, `echo 1 > /proc/sys/vm/drop_caches`清理缓存。利用Swap分区释放内存。借助`df`, `du`检查硬盘空间,清理无用文件,使用`clean-old`, `gzip`, `tar`压缩归档。查找大文件用`find`和`du`,确保
33 0
|
20天前
|
监控 Java Linux
linux下监控java进程 实现自动重启服务
linux下监控java进程 实现自动重启服务
|
23天前
|
关系型数据库 MySQL Linux
linux特定服务日志
Linux系统的服务日志在`/var/log`目录下,如系统日志(`/var/log/syslog`或`/var/log/messages`)、认证日志(`/var/log/auth.log`)、SSH日志(`/var/log/auth.log`或`/var/log/secure`)。Web服务器(Apache和Nginx)的访问和错误日志、MySQL错误日志、Postfix及Dovecot邮件服务器日志也在此处。日志位置可能因发行版和服务配置而异,不确定时可查服务配置或用`grep`搜索。使用`logrotate`可管理日志文件大小。
22 6