DHCP

DHCP

一、DHCP背景

在大型企业网络中,会有大量的主机或设备需要获取IP地址等网络参数。如果采用手工配置,工作量大且不好管理,如果有用户擅自修改网络参数,还有可能会造成IP地址冲突等问题。需要一种自动化的协议,可以自动的下发IP地址和IP有关的各项配置。

二、DHCP基础及通信

  1.  基于请求和响应的C/S服务机制

  2.  DHCP是应用层的协议,端口号时67 68

  3.  地址池

    全局地址池:不论接口,路由器或者交换机上存在的地址池,任何一个PC都可以使用

    接口地址池:只在接口下生效的地址池

  4.  DHCP服务器在现网部署时,一般情况载体(路由器/三层交换机/windows/linux)现网更多的是部署在LINUX上的(最小化)

  5.  DHCP过程

    当一个PC启动以后,再没有触发DHCP时,本身是有IP地址的169特殊IP地址段都是没有自动获得地址

    DHCP Discover (广播):客户端向外发送广播报文DHCP,寻求网络中的DHCP服务器回应。

    DHCP Offer(广播/单播):服务端offer中携带了一个,DHCP服务器分配出来的地址,这个地址是可用地址,并不代表已经分配了。(同时来了两个就是先到先得)

    DHCP Request (广播):客户端针对offer中携带可用地址,发起请求

    DHCP ACK(广播/单播):服务端针对请求的确认

    客户端收到确认后,马上激活发送一个免费ARP,等待回应。没有回应表示不冲突,有回应表示冲突

    DHCP NAK:服务端向客户端发送的,如果服务端发现,我提供给客户端的offer中的地址不可用,触发NAK,NAK是相对request

    DHCP decline:客户端向服务端发起,客户端通过请求以后,确认后发免费ARP,如果发现地址出现了冲突,那么就说明服务器给的地址不可用

    向服务端发送decline,告知服务端该地址不可用,客户端再重新请求DHCP

    DHCP information:客户端向服务端发送的一切请求信息的数据包

  6.  续租

    IP租约期限到达50%时,DHCP客户端会请求更新IP地址租约

    DHCP客户端在租约期限到达87.5%时,还没收到服务器响应,会申请重绑定IP

    如果DHCP客户端不再使用分配的IP地址,也可以主动向DHCP服务器发送DHCP RELEASE报文,释放该IP地址。

三、DHCP配置

  1.  接口地址池配置(适合直连DHCP服务的设备)

    1.全局开启DHCP功能 2.选择地址池的模式(接口)  3.制定DNS   4.制定排除地址

  2.  全局地址池配置(适合需要中继的设备)

    1.全局开启DHCP功能  2.创建地址池 3.制定地址池的大小 4.制定网关 5.制定DNS 6.制定租期 7.进接口,选择DHCP的选择模式(全局)

四、DHCP的中继

  1.  DHCP的客户端和服务端不在同一个广播域下,这个时候,discover报文无法跨越广播域,造成获取地址失败。核心实现方式,就是将广播变成可以进行路由的单播数据报文

  2.  中继的配置,哪个接口第一个阻挡了广播报文,就在哪个接口配置

五、常用命令

[系统视图] dhcp enable 开启DHCP服务

[接口视图]dhcp select global 全局地址池

[接口视图]dhcp select interface 接口地址池

[接口视图]dhcp select relay 开启DCHP中继

[接口视图]dchp server lease day 2 设置租期时长(接口)

[接口视图]dhcp server excluded-ip-address 192.168.1.250 192.168.1.254 去除固定ip范围(接口)

[接口视图]dhcp server dns-list 8.8.8.8 设置域名地址  (接口)

[系统视图]ip pool pool192.168.1.0(pool192.168.1.0是名字)设置地址池 (全局)

[R3-ip-pool-pool192.168.1.0]network 192.168.1.0 mask 24 地址池的范围 (全局)

[R3-ip-pool-pool192.168.1.0]gateway-list 192.168.1.1  PC的网关,要属于地址池范围 (全局)

[R2-ip-pool-pool192.168.1.0]excluded-ip-address 192.168.1.254 去除需要固定IP可以范围 (全局)

[R2-ip-pool-pool192.168.1.0]dns-list 8.8.8.8  设置域名地址 (全局)

[接口视图]dhcp relay server-ip 12.1.1.1 提供DCHP服务的端口IP

[系统视图]dhcp server group dhcp-group (dhcp-group名字)

[R3-dhcp-server-dhcp-group]dhcp-server 12.1.1.1 提供DHCP服务的端口IP

[接口视图]dhcp relay server-select dhcp-group 将端口加入dhcp-group中继组中

[系统视图]ds ip pool 查看地址池

六、DHCP的安全威胁

DHCP在设计上未充分考虑到安全因素,从而留下了许多安全漏洞
1. DHCP饿死攻击(DHCP地址池耗尽攻击)   DOS  拒绝服务
    攻击原理:攻击者持续大量地向DHCP Server申请IP地址,直到耗尽DHCP Server地址池中的IP地址,导致DHCP Server不能给正常的用户进行分配。
    漏洞分析:DHCP Server向申请者分配IP地址时,无法区分正常的申请者与恶意的申请者

2. 仿冒DHCP Server攻击(DHCP欺骗)     欺骗
    攻击原理:攻击者仿冒DHCP Server,向客户端分配错误的IP地址及提供错误的网关地址等参数,导致客户端无法正常访问网络。
    漏洞分析:DHCP客户端接收到来自DHCP Server的DHCP消息后,无法区分这些DHCP消息是来自仿冒的DHCP Server,还是来自合法的DHCP Server。
    通常仿冒的DHCP服务器下发的IP地址都是错误的
3. DHCP中间人攻击     双向欺骗    既欺骗客户端,也欺骗服务端
    攻击原理:攻击者利用ARP机制,让PC-A学习到IP-S与MAC-B的映射关系,又让Server学习到IP-A与MAC-B的映射关系。如此一来,PC-A与Server之间交互的IP报文都     会经过攻击者中转。
    漏洞分析:从本质上讲,中间人攻击是一种Spoofing IP/MAC攻击,中间人利用了虚假的IP地址与MAC地址之间的映射关系来同时欺骗DHCP的客户端和服务器。
4. DHCP release攻击     客户端地址收回,导致客户端下线
    震荡攻击   通过伪造release报文,给DHCP服务器发送虚假的信息,就会导致全网所有的DHCP客户端全部都下线

七、防御手段
1、DHCP snooping  CHADDR检查
2、DHCP snooping   信任和非信任 接口   信任接口一般对上   非信任接口一般对下面对的时用户
3、DHCP Snooping   绑定表  把PC对应MAC地址绑定   服务器对应的MAC绑定    ARP
  

posted on 2020-03-02 23:05  疑犯  阅读(965)  评论(0)    收藏  举报

导航