|
思科DHCP服务解决方案
对于有近千个信息点的内网来说,如果采用手工的地址分配方案将带有巨大的管理负担和维护成本,尤其是在网络实施用户身份认证及动态VLAN划分时,静态地址分配更不可行,因此大型的局域网一般采用DHCP动态地址分配方案,但传统的DHCP地址分配方案在安全性、可靠性、负载均衡能力等方面存在诸多问题,思科创新的DHCP地址分配方案CNR(Cisco Network Register)可很好地解决上述问题,并支持TFTP和DNS等其它服务。
1 ) DHCP Server分布式设计
在网络的两台核心交换机部署两个Cisco DHCP CNR Server, 这两台DHCP Server 通过双网卡连接上来,此外Cisco DHCP CNR Server可以实现负载分担和故障切换,将整个IP地址池的80%由这两个Server负责,20%的地址池由另外楼层的2个DHCP Server负责。
DHCP 分配的80/20规则:
为了避免重复地址分配,通常采用了80/20的规则,本地部署一台DHCP Server , 负责某一地址范围的80%,远程部署另外一台DHCP Server负责某一地址范围的20%。
假如分给某网段的地址范围是10.1.1.0/24, 则10.1.1.1-10.1.1.200 由本地的DHCP Server负责,10.1.1.201-10.1.1.253 由远程的DHCP Server负责
80/20规则的前提基于如下假设:
当本地的DHCP Server 发生故障时,因两组DHCP服务器地址分配数据库的实时同步操作,很多已经得到IP 地址的主机的租期并没有过期,无需申请地址,只有少数新连接的主机需要申请IP地址,由远程DHCP Server赋予。
2) DHCP Server的 冗余与负载分担
传统方式的 简单DHCP冗余措施
通常的设计的情况时在中心放置2个DHCP Server, 两个DHCP Server没有任何冗余协议,为了防止不同的Client得到重复的IP地址,为这两个Server分配不同的地址池。
简单的DHCP冗余存在的问题:
上述的简单的DHCP冗余存在如下问题:
• IP地址空间不足
当有一个 DHCP Server 发生故障时,只有另外一个Server的地址空间提供服务,但是为了防止IP 地址冲突,两个Server地址池一定不一样,因此另外一个地址空间只能分配给一个网段的一半。
• PC的连接不能永远提供在线连接,可能会中断后在连接
当有一个 DHCP Server 发生故障后,当从此Server获的client的IP地址到期时,它不能得到新的IP地址续用,它就会中断连接,重启动DISCOVERY 过程,引起网络连接中断一段时间。
Cisco DHCP Failover 协议
为了解决上述不足,Cisco 向IETF提交了一份草案并申请IETF考虑作为标准,目前Cisco’s failover protocol 已经成为IETF DHCP工作组构建标准DHCP Redundcy 协议的基础。
草案draft-ietf-dhc-failover-12.txt 的作者Cisco Syetems的杰出工程师,他目前是IETF DHCP工作组主席。
在此工作组模型中,分为Primary DHCP Server和Secondary DHCP Server,Primary DHCP Server和Secondary Server存在协议交互,Secondary Server平时轮询Primary Server以确认其是否工作,如果工作正常,Seconday Server并不对Client发出的DHCP请求作出响应,Primary Server会将它的DHCP 数据库同步更新给Secondary Server.
Cisco Network Registrar 6.2 软件采用了Cisco DHCP Safe Failover Protocol 实现了DHCP Server的冗余。
DHCP Server的 负载均衡
RFC 3074定义了根据MAC地址实现一种DHCP Server负载分担的算法,它能够将不同的MAC地址的DHCP 请求发送给不同的DHCP Server, 因此实现了DHCP Server的负载分担,Cisco DHCP Server支持RFC3074, 因此能够实现在冗余切换和负载分担。
3) DHCP Server安全性设计
DHCP 安全性面临三个问题:
A) DHCP Server 冒用
当某一个恶意用户再同一网段内也放一个DHCP 服务器时,PC很容易得到这个DHCP server的分配的IP地址而导致不能上网。
B) 恶意客户端发起大量DHCP请求的DDos 攻击
恶意客户端发起大量DHCP请求的DDos 攻击,则会使DHCP Server性能耗尽、CPU利用率升高。
C) 恶意客户端伪造大量的MAC地址恶意耗尽IP地址池
解决方案:
防DHCP Server 冒用
Cisco Switch 可采用DHCP Snooping VACL, 只允许指定DHCP Server的服务通过,其它的DHCP Server的服务不能通过Switch。
VACL是应用于一个 Vlan 的 ACL,它的配置很简单,但是实际上已经将ACL应用到VLAN内的所有端口上了,它能够对DHCP 的协议进行分析,因此只允许有效的 DHCP Server的信息通过。
假定正式目标DHCP服务器的IP地址为1.2.3.4。VACL配置将仅允许目标服务器的响应被交换到客户机。
当和不是真正的dhcp Server 同一网段的PC通过DHCP 获得IP地址时,Cisco Catlyst Switch的VACL功能将只能让合法的DHCP Server 的 DHCP-offer、ACK通过,非法的DHCP Server的信息将被过滤掉,因此保证了PC 能够从真实的DHCP Server获得地址
防止恶意客户端发起大量DHCP请求的DDos 攻击
Cisco Switch能够对DHCP请求作流量限速,因此能够防止恶意客户端发起大量DHCP请求的DDos 攻击,防止DHCP Server的CPU利用率升高。
恶意客户端伪造大量的MAC地址恶意耗尽IP地址池
RFC 3046 定义了使用DHCP option 82 来防止恶意客户端伪造大量的MAC地址恶意耗尽IP地址池,其基本原理是:
• Switch截断DHCP的请求,插入交换机的标识,接口的标识等发送给DHCP Server
• DHCP Server接到后,根据标识制定策略,如针对此标识来的请求只分配1-2个 IP地址等。
Cisco 交换机支持DHCP option 82, Cisco DHCP Server CNR支持DHCP option 82,因此可以防止此种恶意攻击。 |
|