哇~真的是你呀!今天是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


总结

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

目录
相关文章
|
3月前
|
Linux
在Linux中,怎么把脚本添加到系统服务里,即用 service 来调用?
在Linux中,怎么把脚本添加到系统服务里,即用 service 来调用?
|
19天前
|
Ubuntu Linux 网络安全
Linux中服务管理问题
【10月更文挑战第4天】
15 2
|
23天前
|
应用服务中间件 Linux Shell
Linux 配置 Nginx 服务的详细步骤,绝对干货
Linux 配置 Nginx 服务的详细步骤,绝对干货
53 0
|
2月前
|
NoSQL Linux Redis
Linux Redis 服务设置开机自启动
【9月更文挑战第2天】在 Linux 系统中,可使用两种方法设置 Redis 开机自启动:一是通过创建 `redis.service` 文件并利用 systemd 进行管理,包括定义服务参数和启动脚本;二是编辑 `/etc/rc.local` 文件,在其中添加启动命令。推荐使用 systemd 方法,因为它更符合现代 Linux 系统的设计理念。设置完成后,可通过 `sudo systemctl status redis.service` 检查服务状态。
170 3
|
2月前
|
编解码 Linux 开发工具
Linux平台x86_64|aarch64架构RTMP推送|轻量级RTSP服务模块集成说明
支持x64_64架构、aarch64架构(需要glibc-2.21及以上版本的Linux系统, 需要libX11.so.6, 需要GLib–2.0, 需安装 libstdc++.so.6.0.21、GLIBCXX_3.4.21、 CXXABI_1.3.9)。
|
3月前
|
Ubuntu Linux 测试技术
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
|
3月前
|
监控 安全 Linux
在Linux中,如何配置VPN服务?
在Linux中,如何配置VPN服务?
|
3月前
|
安全 Ubuntu 网络协议
在Linux中,如何配置DHCP服务器?
在Linux中,如何配置DHCP服务器?
|
3月前
|
Ubuntu Linux 应用服务中间件
在Linux中,如何启动、停止或重启服务?
在Linux中,如何启动、停止或重启服务?
|
3月前
|
机器学习/深度学习 Ubuntu Linux
在Linux中,如何按照该要求抓包:只过滤出访问http服务的,目标ip为192.168.0.111,一共抓1000个包,并且保存到1.cap文件中?
在Linux中,如何按照该要求抓包:只过滤出访问http服务的,目标ip为192.168.0.111,一共抓1000个包,并且保存到1.cap文件中?