• 手把手教你搭建DHCP服务器


    目录

    DHCP实现原理

    DHCP定义

    DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作。它是一种流行的Client/Server协议,一般用于为主机或者为路由器等指定相关的配置信息。DHCP服务在企业和家庭中得到了大量的应用,它能够自动分配ip地址以及一些其他的相关信息,整个过程对客户透明。

    DHCP分配方式

    • 自动分配方式(Automatic Allocation),DHCP服务器为主机指定一个永久性的IP地址,一旦DHCP客户端第一次成功从DHCP服务器端租用到IP地址后,就可以永久性的使用该地址。
    • 动态分配方式(Dynamic Allocation),DHCP服务器给主机指定一个具有时间限制的IP地址,时间到期或主机明确表示放弃该地址时,该地址可以被其他主机使用。
    • 手工分配方式(Manual Allocation),客户端的IP地址是由网络管理员指定的,DHCP服务器只是将指定的IP地址告诉客户端主机。

    DHCP工作过程

    DHCP客户机在启动时,会搜寻网络中是否存在DHCP服务器。如果找到,则给DHCP服务器发送一个请求。DHCP服务器接到请求后,为DHCP客户机选择TCP/IP配置的参数,并把这些参数发送给客户端。 如果已配置冲突检测设置,则DHCP服务器在将租约中的地址提供给客户机之前会使用Ping测试作用域中每个可用地址的连通性。这可确保提供给客户的每个IP地址都没有被使用手动TCP/IP配置的另一台非DHCP计算机使用。

    根据客户端是否第一次登录网络,DHCP的工作形式会有所不同。

    初次登录

    这里写图片描述
    初次登录时DHCP工作包括四个步骤
    1、寻找DHCP服务器
    当DHCP客户端第一次登录网络的时候,计算机发现本机上没有任何IP地址设定,将以广播方式发送DHCP discover发现信息来寻找DHCP服务器,即向255.255.255.255发送特定的广播信息。网络上每一台安装了TCP/IP协议的主机都会接收这个广播信息,但只有DHCP服务器才会做出响应。
    2、分配IP地址
    在网络中接收到DHCP discover发现信息的DHCP服务器就会做出响应,它从尚未分配的IP地址池中挑选一个分配给DHCP客户机,并向DHCP客户机发送一个包含分配的IP地址和其他设置的DHCP offer提供信息。
    3、接受IP地址
    DHCP客户端接受到DHCP offer提供信息之后,选择第一个接收到的提供信息,然后以广播的方式回答一个DHCP request请求信息,该信息包含向它所选定的DHCP服务器请求IP地址的内容。
    4、IP地址分配确认
    当DHCP服务器收到DHCP客户端回答的DHCP request请求信息之后,便向DHCP客户端发送一个包含它所提供的IP地址和其他设置的DHCP ack确认信息,告诉DHCP客户端可以使用它提供的IP地址。然后,DHCP客户机便将其TCP/IP协议与网卡绑定,另外,除了DHCP客户机选中的DHCP服务器外,其他的DHCP服务器将收回曾经提供的IP地址。

    重新登录

    以后DHCP客户端每次重新登录网络时,就不需要再发送DHCP discover发现信息了,而是直接发送包含前一次所分配的IP地址的DHCP request请求信息。当DHCP服务器收到这一信息后,它会尝试让DHCP客户机继续使用原来的IP地址,并回答一个DHCP ack确认信息。如果此IP地址已无法再分配给原来的DHCP客户机使用时,则DHCP服务器给DHCP客户机回答一个DHCP nack否认信息。当原来的DHCP客户机收到此DHCP nack否认信息后,它就必须重新发送DHCP discover发现信息来请求新的IP地址。
    这里写图片描述
    1、如果客户端DHCP request 内的IP地址在服务器端没有被使用,DHCP服务器回复DHCP ACK继续使用IP。
    2、如果客户端DHCP request 内的IP地址在服务器端已被使用,DHCP服务器回复DHCP NACK告诉客户端IP已被使用。
    3、回复NACK后,重新开始DHCP初次登录时的流程

    更新租约

    DHCP服务器向DHCP客户机出租的IP地址一般都有一个租借期限,期满后DHCP服务器便会收回出租的IP地址。如果DHCP客户机要延长其IP租约,则必须更新其IP租约。DHCP客户机启动时和IP租约期限到达租约的50%时,DHCP客户机都会自动向DHCP服务器发送更新其IP租约的信息。

    搭建DHCP服务器

    实验目的

    手动搭建一台DHCP服务器,使其达到该网段内的所有主机,都能通过该服务器自动获取ip地址,并且获取到的ip地址是自己在DHCP服务器上所指定的网段

    实验环境

    操作系统:CentOs7
    工具:VMvare软件

    实验步骤

    1、在CentOS7上安装DHCP软件包

    [root@CentOs7 ~]# yum -y install dhcp     

    2、修改DHCP的配置文件

    [root@CentOs7 ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example  /etc/dhcp/dhcpd.conf 
    将样板拷贝到并替换配置文件。
    在配置文件中加入这么一段
    subnet 172.25.0.0 netmask 255.255.0.0{
      range 172.25.0.50 172.25.0.253;
    }
    其中subnet 和netmask分别代表网段号和子网掩码号。可以按需求选择三种private ip中的任意一种。
    range代表你要划分的ip池的范围。

    这里写图片描述
    3、关闭VMvare自带的dhcp服务器,如下所示,然后所有需要分配ip的主机都使用这一张网卡。
    例如,我们图中所示的例子。我使用的是VMNET网卡2来进行相关的配置。
    这里写图片描述
    我们取消掉该网卡的DHCP服务,并且让所有主机都接入这张网卡。
    4、服务机上启动DHCP服务器

    [root@CentOs7 ~]# systemctl start dhcpd.service  

    5、Client上重新启动网卡

    [root@CentOs7 ~]# systemctl restart network

    实验结果

    每台主机都得到了指定范围的ip地址,我们使用pssh命令查询我所开的四台客户端的情况,如图所示:
    这里写图片描述
    这四台客户机的ip刚好是我们在配置文件中分配的ip!0

    原文地址:https://blog.csdn.net/gui951753/article/details/79933819#dhcp%E5%AE%9E%E7%8E%B0%E5%8E%9F%E7%90%86
  • 相关阅读:
    c语言求最大公约数和最小公倍数(转)
    git 提交去除每次输账号密码
    phpstorm使用zen coding 快速编辑补全html/css代码
    YII2.0使用ActiveForm表单(转)
    php面向对象之trait
    php操作redis(转)
    模块
    列表生成式 与生成器表达式
    三元表达式,递归,内置函数
    面向过程的编程思想
  • 原文地址:https://www.cnblogs.com/jpfss/p/10918222.html
Copyright © 2020-2023  润新知