DHCP服务

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DHCP服务相关的知识,希望对你有一定的参考价值。

DHCP概述

固态IP
只要计算机客户端网卡不换掉,那么该客户端的MAC地址就不会发生改变,由于DHCP
可以根据MAC来给予固定的IP参数租约,所以该计算机每次都能以一个固定的IP连上
Internet。固定IP一般用于某些客户端计算机需要用来作为提供区域内的一些网络
服务的主机之用。获取MAC的方式有很多,例如ifconfig和arp。
动态IP
客户端每次连上DHCP服务器所取得的IP都不是固定的,都直接由DHCP所随机由尚未
被使用的IP提供。动态IP的使用具有良好的弹性。当一台客户机关机之后,它所使用
的IP又可以被其他申请使用的客户机使用。‘
DHCP协议的运作方式

  1. 客户端:利用广播封包发送搜索DHCP服务器,封包的目的IP是255.255.255.255
  2. 服务器端: 接到请求后,先查询服务器的登录文件,寻找该用户之前是否用过某个IP,如果用过,且该IP暂时无人使用,则提供此IP给客户端。若配置文件针对该MAC地址提供额外的固定IP(static IP)时,则提供该固定IP给客户端;若不符合上述两个条件,则随机去用目前没有被使用的IP参数给客户端,并记录下来。
  3. 决定选择的DHCP服务器提供的网络参数租约并回报服务器可能一个网段内有多个DHCP服务器,当客户端接受了一个服务器的IP后,会发广播通知所有的主机,然后没被选择的IP会被发、其他服务器收回,被接收的服务器会继续下面的动作
  4. 服务器端,记录该次租约行为并回报客户端已确认的响应封包信息。当服务器收到客户端发来的选择确认信息后,会回传确认的响应的封包,并且告知客户端IP的租约期限, 并且开始租约计时。
    简易示图如下
    技术分享图片
    IP租约的到期和解约的情况
    • 客户端脱机:不论是关闭网络接口、重新启动、关机等行为,皆算是脱机状态,这个时候server就会将该IP回收,并放到server自己的备用区中,等待未来的使用
    • 客户端租约到期:前面提到DHCP server端发放的IP有使用期限,客户端使用这个IP到达期限的规定的时间,而且没有重新提出DHCP的申请时,就需要将IP缴回去, 这个时候就会造成断线。但用户也可以再向DHCP申请再次分配IP。

DHCP应用

适用DHCP的场景
1..具有相当多行动装置的场合
例:公司内部有很多笔记本使用的场合,因为笔记本本身即使移动性的装置,如果每到一个地方都要去询问当地的网络参数,就会很麻烦,这时候DHCP服务就显得很方便。
2.区域内计算机数量相当的多时
例:某个网域内计算机的数量相当庞大时,大到没有办法一个一个的进行说明来设定他们自己的IP地址,这个时候架设DHCP是最合适的。
不建议使用DHCP的场景
虽然DHCP有很多好处,但是在客户端申请IP的第一步时,会主动的发送讯息给网域上的所有机器,这个时候,如果网域上没有DHCP主机,那么客户端就会一直发送讯息,真正的等待的时间不知道会有多久。所以,如果计算机数不算多时,还是使用手动的方式设定比较划算。

  • 在很多网域内的计算机,有很多机器其实是做为主机来用,很少用户需求,也就没有什么必要假设DHCP。
  • 另外,像一般在家里,只有三四部计算机的时候,也就不需要假设DHCP。

DHCP服务的安装及简单配置和使用

  1. 在做服务器端的主机上安装dhcp-server包
    yum -y insatll dhcp-server
  2. 编辑dhcp配置文件,dhcp-server包里附有配置文件的模板,我们可以直接将模板复制到dhcp配置文件的目录下
    cp /usr /share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
  3. 编辑配置文件
    .vim /etc/dhcp/dhcpd.conf
        subnet 192.168.153.0 netmask 255.255.255.0 {
        range 192.168.153.100 192.168.153.199;
        option routers 192.168.153.6;
        } 
  4. 编辑/etc/sysconfig/dhcpd文件,设定dhcp作用于指定网卡上
    vim /etc/sysconfig/dhcpd
        DHCPDARGS=eth1
  5. 检测配置文件,目的是防止配置文件有误,导致服务无法启动
    /etc/init.d/dhcpd configtest
  6. 启动服务
    /etc/init.d/dhcpd start
  7. 客户端测试,注意,客户端的测试需要安装dhcp客户端服务(客户端操作),将指定的网卡设为动态获取ip地址,然后重启网络服务,获得了新的IP 地址,则说明DHCP搭建成功。
    设置动态获取IP(centos 7) 
         nmcli connection modify ens34 ipv4.method auto
    重启网卡
        ifup ens34 

总结

  • DHCP可以提供网络参数用户给客户端计算机,使其自动设定网络的功能
  • 透过DHCP的统一管理,在同一网域当中就比较不容易出现IP冲突的情况发生
  • DHCP可以透过MAC的比对来提供static IP,否则通常提供客户端dynamic IP
  • DHCP除了static IP与dynamic IP之外,还可以提供租约行为的设定。
  • DHCP可以提供的MAC比对,dynamic IP,static IP等,都在dhcpd.conf这个文件中设置

以上是关于DHCP服务的主要内容,如果未能解决你的问题,请参考以下文章

路由器dhcp自动获取ip地址配置代码

neutron-dhcp-agent服务启动流程

neutron-dhcp-agent服务启动流程

DHCP服务器如何配置

DHCP服务相关实验

DHCP配置实例