DHCP

DHCP 基础

1. 简介

  ◼ Dynamic Host Configuration Protocol——动态主机设置协议
  ◼ DHCP 采用 CS 的工作模式,Sever 使用 UDP67 端口,Client 使用 UDP68 端口
  ◼ 自动为网络内部的某些设备分配 IP 地址,还可以作为网络管理员对网络的中央管理手段

2. 工作原理

  ◼ Client 端首先发送 Discover 报文,寻找 DHCP 服务器
  ◼ 收到 Discover 报文的 DHCP 服务器回送 Offer 广播报文,表示将为其提供地址
  ◼ Client 收到 Offer 报文之后,发送 Request 报文请求地址
  ◼ Sever 回送其 Ack 报文,为其分配地址
    

【注】
  如果网络中存在多个DHCP 服务器,PC在发出Discover报文之后,可能收到来自不同DHCP服务器的多个Offer报文,此时,PC仅会认可收到的第一个Offer报文的DHCP服务器,PC所发送的Request在向选中的DHCP server请求IP地址的同时,也通告了其他DHCP服务器,自己已经有了可以申请地址的服务器,避免其他DHCP服务器的盲目等待。

3. DHCP relay

    

【场景】
  ◼ 由于DHCP的Client和Server之间使用的都是广播报文,所以如果服务器与客户端不在同一广播域内,那么DHCP的服务器将会失效。
【解决方案】
  ◼ 在沿途阻塞客户端广播消息的第一个接口配置DHCP Relay(一般部署在网关)。DCHP relay会将Client的广播报文转换为单播的形式发送给Sever。
  ◼ 当客户端的网关为svi接口或是单臂路由的子接口时,DHCP Relay部署在这逻辑接口上即可
    
【原理】
  当Client发送的广播报文到达DHCP Relay时,中继会为其封装三层头部,目的IP地址为DHCP服务器地址,源IP地址为Relay的IP地址,数据包会以点对点单播的形式传递给DHCP服务器,DHCP服务器再以单播形式回送给中继,回送数据包的目的IP地址为DHCP中继接口地址,源为DHCP服务器地址,中继接口收到数据包后,拆除三层头部,再以广播形式发送给客户端。

4. DHCP snooping

【场景】
    
  ◼ 在此场景中,Client 通过 DHCP 服务器拿到 IP 地址和网关后,client 的数据流量,先去往网关路由器,
然后进行正常转发。
  ◼ 此时有一个黑客,他干掉了原本的 DHCP 服务器,自己伪造一个 DHCP sever 为 client 分配 IP 地址和
网关,如果此时他将分配的网关设为自己,那么 client 的所有数据流量都将会经过其手,他可以肆意
对数据流量进行分析,并且 client 也不会感知。
【解决方案】
  ◼ 在交换机上开启 DHCP snooping,并将连接 DHCP 服务器的接口设置为信任。
  ◼ 这样当黑客伪造的 DHCP 服务器尝试给 client 分配地址信息时,交换机会丢弃其数据包,只有从 trust
接口接收到的 DHCP 的数据包才被允许通过
【配置】
   Sw(config)# ip dhcp snooping
  //开启DHCP snooping功能
  Sw(config)# ip dhcp snooping vlan [vlan-id]'
  //在指定vlan下应用DHCP snooping功能,一般是client所属的vlan
  Sw(config-if)# ip dhcp snooping trust
  //将接口设置为trust,此接口为连接DHCP服务器方向的接口,此处为e0/1接口
  Sw(config-if)# ip dhcp snooping limit rate [pps]
  //设置每秒钟接收DHCP报文的上限,用于预防拒绝服务攻击,可以选择10
  //超过后接口就shutdown,默认不限制
  Sw(config-if)# do show ip dhcp snooping
  //查看状态
  

5. 配置语句

【Sever】
  R(config)# service dhcp
  //开启DHCP服务。Cisco设备默认开启
  R(config)# ip dhcp pool [pool_name]
  //定义DHCP地址池,一个网段对应一个地址池
  R(dhcp-config)# network [network_address] [subnet mask]
  //定义地址池关联网段,分配的地址会从此网段从小到大进行分配
  R(dhcp-config)# default-router [host_address]
  //定义分配给客户端的网关
  R(dhcp-config)# dns-server [host_address]
  //定义分配给客户端的DNS服务器地址
  R(config)# ip dhcp excluded-address [A.B.C.D]
  //将指定地址排除地址池之外,一般将客户端的网关剔除地址池
【Client】
  R(config-if)# ip address dhcp
  //将client端获取地址的方式指定为DHCP
【relay】
  Switch(config-if)#ip helper-address [DHCP_address]
  //激活中继功能,配置在沿途阻塞客户端广播消息的第一个接口上
  //svi作为客户端网关时,配置在svi接口上

6. 园区网综合实验

【拓扑】
    
    此园区网实验来着朱仕耿老师的专题视频

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值