运维——DHCP服务及模拟DHCP服务器

之前查看了很多博客和相关DHCP的一些相关信息,但是都没能完全理解(各有各的理解方式),感觉还是写一篇自己能理解的博客,当然有不足之处,在模拟DHCP分配IP之前首先来了解一下DHCP的相关知识


网络配置的两种方式(可以简单理解为IP地址的获取方法):

        静态指定

        动态获取 :bootp  dhcp

                   bootp:boot protocol   它的实现方式是MAC与IP绑定在一起,但是如果服务器不开启则占用一个IP,如果服务器较少还可以,但是如果服务器较多显然IP是不够用的,而那些占着IP 却不开机的服务器造成了很大的资源浪费这时DHCP就解决了这一问题


                   DHCP服务 Dynamic Host Configuration Protocol   动态主机配置协议,服务器一旦开机则自动分配IP,并有一定的租期,租期到了则收回,IP可以续租,续租失败则收回并重新分配,如果服务器关闭则收回IP,先到先得的原则,哪台主机先申请就优先分配,并且基于广播机制(服务器和客户端必须在一个网段

dhcp的主要用途:

  1、用于内部网络和网络服务供应商自动分配ip地址给用户

  2、用于内部网络管理员作为对所有电脑做集中管理的手段

dhcp的使用场景:

  1、自动化安装系统

  2、解决IPV4资源不足问题

    dhcp的客户端工具dhclient(默认后台运行)

    dhclient -d 前台运行 可以观察其执行过程(前四个报文)


dhcp工作原理(前4种经常用到)

        DHCP DISCOVER:客户端到服务端  客户端设置为自动获取后一开机就会向网络发广播
DHCP OFFER:服务器到客户端  如果网络中有DHCP服务器就会分配一个IP并同时在网络中进行标记此IP已被占用
DHCP REQUEST:客户端到服务器  网络中有多个DHCP同时分配IP这时就需要进行选择一个
DHCP ACK:服务器到客户端  服务器最终确认
DHCP NAK:服务器到客户端,通知用户无法分配合适的ip地址
DHCP DECLINE:客户端到服务器,只是地址已被使用
DHCP RELEASE: 客户端到服务器,放弃网络地址和取消剩余的租约时间

DHCP INFORM: 客户端到服务器,客户端如果需要从DHCP服务器端获取更为详细的配置信息 ,则发行inform报文向服务器进行请求,极少用到



模拟dhcp的实现过程

准备:两台虚拟机(centos7模拟DHCP服务器,centos6模拟客户端)

           centos7本身使用静态获取,centos6为动态获取 并且为仅主机模式

关闭防火墙  iptables  -vnL

关闭SELinux   检查状态getenforce  

vim /etc/sysconfig/selinux   改为SELinux=disabled   重启后生效

对centos7设置,使其成为dhcp服务器

打开虚拟机--->编辑---->虚拟网络设置--->选中仅主机--->取消下面DHCP设置


取消DHCP服务就意味着网络中没有了DHCP服务器,那么客户端如果设置DHCP获取那么是不能获取到IP


在客户机将其获取方式改为DHCP  vim /etc/sysconfig/network-scripts/ifcfg-eth0



设置完之后重启,客户机将不能获取IP,因为网络中没有DHCP服务器



开始配置DHCP服务器(centos7)

配置前首先安装包



在其他的服务安装后就可以开启服务,但dhcp比较特殊,所以此时应先复制模板到配置文件进行相关设置,然后再开启服务



如果此时开启服务肯定是失败的



复制模板


配置文件





重启服务



重启完之后再次重启客户端


此时获得的IP就是刚才指定IP范围的第一个IP,至此已经实现一个模拟的DHCP服务器。


猜你喜欢

转载自blog.csdn.net/u011314255/article/details/80459926