DHCP只适用于以太网,串口不适用
DHCP可以说是BOOTP的增强版本
DHCP补充了BOOTP两方面:允许计算机快速、动态的获取IP地址
dhcp请求报文和应答报文都采用UDP封装
DHCP报文格式
DHCP获取地址几个阶段
1、发现阶段:客户端寻找DHCP服务器阶段(Source 68 destination 67)
2、提供阶段:DHCP服务器提供IP地址阶段(Source 67 destination 68)
3、选择阶段:客户端选择某台DHCP服务器提供的IP地址阶段(出现多给DHCP服务器时、先到先得)
4、确认阶段:DHCP服务器确认提供的IP地址的阶段
DHCP服务器为客户端分配IP地址的优先次序:
1、与客户端MAC地址或客户端ID静态绑定的IP地址
2、DHCP服务器记录的曾经分配给客户端的IP地址
3、客户端发送的DHCP-DISCOVER报文中option50字段指定的IP地址
4、在DHCP地址池中,顺序查找可供分配的IP地址,最先找到的IP地址
5、如果未找到可用的IP地址,则依次查询租约过期、曾发生过冲突的IP地址,如果找到则进行分配,否则将不予处理
DHCP服务器分配IP地址,需要确定没有被其他设备所使用的。DHCP服务器通过发送icmp报文进行探测,如果没有在规定时间没有应答再次发送ping报文,达到规定次数没有应答可以分配,否则将探测的IP地址记录为冲突地址,并重新选择IP地址进行分配
DHCP客户端收到DHCP服务器返回的DHCP-ack之后,会以广播的方式发送免费ARP报文,探测是否有主机使用该IP地址
DHCP snooping:DHCP服务的二层监听功能、利用该功能可以从接收到的DHCP-ACK和DHCP-request报文中的提取并记录IP地址和MAC地址信息
DHCP中继出现
DHCP协议要求客户端和服务器只能在同一个子网内,不可以跨越网段,DHCP中继解决此情况
客户端配置ip address dhcp-alloc 后不会立即发送DHCP-discover报文,而是1-10s内随机发送,如果没有收到DHCP服务器的回应报文继续发送,直到回应为止
DHCP攻击方式:
1、饿死攻击:MAC地址限制,不断获取IP地址,这种结合交换机端口安全技术防范
2、DHCP Server仿冒者攻击:信任(Trusted)/不信任(Untrusted)
3、中间人攻击/IP/MAC Spoofing攻击:DHCP Snooping绑定表
4、改变CHADDR值的DoS攻击:检查DHCP报文的CHADDR字段(不断申请IP地址)
DHCP Server仿冒者攻击:
由于DHCP使用discovery广播包、offer报文提供IP/mask GW,requset先来先得地址,ACK确认包
ARP欺骗,MAC地址绑定
update arp 开启定期ARP询问
interfaca g0/0/2
arp authorized 禁止动态更新ARP
arp timeout 60 60s无应答则删除ARP条目
snooping窥探机制工作在交换机上,把端口设为trusted或untrusted
trusted:可以收发DHCP消息
untrusted:可以收到discovery、offer消息、执行drop,不发送任何DHCP消息
ip dhcp snooping 开启snooping,默认是untrusted
ip dhcp snooping vlan 20 vlan20开启snooping
interface f0/0 定义信任端口
ip dhcp snooping trust 交换机连接DHCP服务器端口设为trusted
中继
interface f0/0
ip helper-address 1.1.1.1
ip dhcp relay information trust
dhcp snooping bind-table static ip-address ip-address mac-address mac-address interface g0/0,配置IP与MAC绑定表的静态表项
DHCP利用Option字段传递控制信息和网络配置参数,实现地址的动态分配,为客户端提供更加丰富的网络配置信
DHCP配置
dhcp enable 开启dhcp
dhcp server ip-pool pool 建立dhcp名称
network 172.16.18.0 mask 255.255.255.0 地址段
gateway-list 172.16.18.1 网关
dns-list 202.106.0.20 DNS
expired day 8 租用天数
option 43 hex 800B0000 02AC1267 03AC1267 04 十六进制 (无线用的)
dhcp server forbidden-ip 172.16.18.1 排除地址
dhcp server forbidden-ip 172.16.18.254
dhcp snooping trusted命令用来设置三层接口或VLAN为“信任”状态
undo dhcp snooping trusted命令用来设置三层接口或VLAN为 “非信任”状态
启用portfast的优势在于能够防止DHCP超时的问题
display ip interface br
interface vlan 1
ip add dhcp-alloc 自动获取地址
dhcp selsect global all 全局分配地址
display dhcp server ip-in-use all 查看地址池可用地址信息
reset dhcp server ip-in-use all 重置正在使用的IP地址
address-check enable dhcp中继的安全特性
静态表项和动态表项
1、静态绑定:通过手工配置产生绑定表项来完成端口的控制功能,适用于局域网络中主机数较少或者针对某台做绑定匹配
2、动态绑定:通过DHCP snooping或DHCP relay的绑定表项来完成端口控制功能,能有效控制IP地址冲突、盗用等问题
ip dhcp relay information trust-all 合法的DHCP服务路由,为了形成一个绑定表
no ip dhcp conflict logging 关闭DHCP冲突日志
debugging dhcp server all
1、PC拿不到地址:链路不通、server未启用、缺乏中继、地址耗尽(抓包只拿到前两个包)
2、PC拿到地址,上不了网:DHCP池冲突
UDP Helper能够实现对指定UDP端口的广播报文进行中继转发
将广播报文转换为单播报文发送给指定的目的服务器,解决了当主机与待查询的服务器不在同一个广播域时,无法利用广播报文进行通信,主机无法从服务器中获取所需要的信息的问题;
区别:IP Helper Address支持对DHCP报文的中继,UDP HELPER不支持对DHCP报文的中继
使能UDP Helper功能后,设备接收到广播报文,将根据报文的UDP目的端口号来判断是否要对其中继转发,并进行相应的处理:
如果报文的UDP目的端口号与配置的需要中继转发的UDP端口号匹配,且目的MAC为广播MAC,则修改IP报文头的目的IP地址,将报文发给指定的目的服务器; 否则,直接将报文丢弃