在基于CISCO设备的网络中部署DHCP及相关配置文档格式.docx
《在基于CISCO设备的网络中部署DHCP及相关配置文档格式.docx》由会员分享,可在线阅读,更多相关《在基于CISCO设备的网络中部署DHCP及相关配置文档格式.docx(18页珍藏版)》请在冰豆网上搜索。

部署DHCP服务器15
在核心交换机CS1上部署DHCP服务器15
启用DHCPSnooping18
在核心交换机CS1上启用DHCPSnooping18
在汇聚(接入)交换机LS1上配置DHCPSnooping19
配置DHCPSnooping限速,防止资源耗竭攻击19
保存DHCPSnooping绑定表19
启用DAI21
在汇聚(接入)交换机上启用DAI21
在核心交换机CS1上启用DAI23
检查DAI警告24
关于启用DAI的准则24
配置IPSG25
在汇聚(接入)交换机LS1上配置IPSG25
在核心交换机上启用IPSG27
IPSG配置准则27
启用PortSecurity27
DHCP、DHCPSnooping、DAI和IPSG和端口安全的关系及技术可行性30
经济可行性32
相关参考33
建议的原因
静态IP地址分配其主要目的是为了较好控制各台主机的上网行为,发生ARP攻击或IP欺骗行为时,可以很容易定位主机位置并迅速采取措施。
但是当发生ARP攻击或者IP欺骗时,网络已经发生故障波及其他主机,虽然采取措施,但网络安全性和可靠性均已受到影响。
除了部署DHCP技术以外,应当采用DHCPSnooping、DAI、IPSG等技术搭配提升管理能力、可靠性和安全性。
技术简述
DHCP
DHCP(DynamicHostConfigurationProtocol)动态主机配置协议,作为管理配置资源并向主机分配配置的协议。
在IP网络中,DHCP用于向主机分配IP地址以及子网掩码、网关、DNS服务器、Wins服务器等配置。
DHCP服务器管理着这些资源,并向请求的主机分配这些资源,保证在网段内任意主机持有不同的IP,以正确联网。
DHCP的工作原理
刚接入网络的计算机还没有获得IP地址等配置,它将用广播方式发出DHCP_Discover包。
DHCP服务器接收到DHCP_Discover包后,从可用地址池中选择一个未出租的IP地址,发送DHCP_Offer包给主机。
主机接收到DHCP_Offer后,从其中获得包括IP在内的配置信息,如果配置是正确的,主机将广播发送DHCP_Request包请求分配。
如果主机认为配置不正确,则发送DHCP_Cline拒绝。
DHCP服务器收到属于自己的DHCPRequest后,正式发送含有配置信息的DHCP_ACK包。
主机用DHCP_ACK包中的参数配置其TCP/IP协议以便正确上网。
网络中可能有多台DHCP服务器,因此主机可能收到多个Offer,因此主机在使用某个Offer后,必须广播Request请求,这将同时告诉其他DHCP服务器收回其提供的IP,供分配给其他需要的主机。
DHCP安全性
DHCP本身没有安全性机制,因此DHCP很容易受到攻击,主要的攻击类型包括资源耗竭攻击,伪造DHCP服务器。
资源耗竭型攻击。
攻击主机短时间发送大量的DHCPDiscover,要求DHCP服务器提供IP,但主机并不发送DHCPRequest通告。
DHCP服务器提供Offer后、在未收到Request或者Cline前,为保证不产生冲突,这部分地址不能再分配。
不能分配的地址充满地址池,DHCP服务就拒绝接受为其他主机服务。
其他主机因为得不到正确配置而无法上网。
伪造DHCP服务器。
在网络上某主机伪造成DHCP服务器,向网络上其他请求的主机提供其配置。
配置可能指向一个陷阱网关,当主机接受该配置后,主机使用错误的配置,向陷阱网关发送消息。
别有用心者可以利用陷阱网关偷窥用户的IP数据包,或控制其上网行为。
DHCPSnooping
DHCPSnooping探测技术是Cisco针对DHCP服务器的辅助安全技术。
DHCPSnooping将接入交换机的端口划分为信任端口和非信任端口。
其中信任端口不受限制,在非信任端口,不允许DHCPOffer、DHCPACK等数据包进入该端口,它们将被丢弃。
因此除了在信任端口部署DHCP服务器以外,在非信任端口私自架设的DHCP服务器不能为其他主机提供服务,因为端口拒绝转发DHCPOffer和DHCPACK包。
这样可以保证所有主机所请求的DHCP服务器是管理员明确合法的、受管理的。
DHCPSnooping可以在端口级别限制DHCPDISCOVER的发送速率,在发生超速时发出警告或中断端口。
这样可以有效防止DHCP资源耗竭型攻击。
更重要的是,在非信任端口,DHCPSnooping检查DHCPACK包,根据分配给主机的IP地址在DHCPSnooping绑定表中建立一个条目,包括端口、MAC地址、分配的IP地址、租约期等。
这为部署DAI和IPSG防护技术提供了基础数据库。
因此要实现DAI和IPSG技术,DHCPSnooping必须先进行配置。
需要注意的是,DHCPSnooping仅针对DHCP数据包进行过滤,对于其他数据包则没有效果。
在仅配置DHCPSnooping的网络中,主机仍然可以自行配置IP地址来接入网络而不受影响。
部署DHCPSnooping的目的在于对DHCP服务器进行防护,防止非法DHCP和资源耗竭攻击,并提供DAI和IPSG所需要的数据库资源。
DAI
DAI(DynamicARPInspection)动态ARP检查。
动态ARP检查是针对ARP协议的安全防护措施,DAI在VLan级配置,它根据DHCPSnooping建立的绑定表检查进入端口的ARP请求和响应数据包是否合法。
DAI不但对照绑定表检查ARP包内地址,它还将检查ARP包与封装它的以太网帧的地址是否对应。
对于不合法的ARP包,将被丢弃,并记录日志,网络管理员还可以启用违规ARP流量限速,当超过规定速度后切断该端口。
DAI可以在端口级防止非法ARP数据包的传播。
可以在端口级别杜绝ARP欺骗、ARP攻击、中间人(ManintheMiddle)等多种ARP攻击行为。
因为DAI将根据DHCPSnooping绑定表检查ARP包,采用静态分配IP地址的主机,因为在DHCPSnooping绑定表中不存在相应条目,端口默认拒绝所有ARP协议包通过,主机得不到其他主机或网关的数据链路层地址而无法通信。
DAI的一个好处是强制用户必须使用DHCP服务动态分配IP,防止用户手动分配IP导致与网段上其它主机发生冲突。
IPSG
IPSG(IPSourceGuard)IP源防护是Cisco的安全技术。
虽然DAI可以检查非法的ARP数据包,但DAI不检查承载IP及其它协议的以太网帧,对于IP地址欺骗行为无能为力,IPSG针对IP地址欺骗行为提供防护。
IPSG将检查所有IP数据包,对照DHCPSnooping绑定表,如果认为合法,则允许从该端口转发,非法数据包将被丢弃。
IPSG提供了几种防护标准,包括IP防护——仅检查端口-IP地址对应关系;
IP-MAC防护——同时检查端口-IP-MAC,三者必须对应才能通过端口。
PortSecurity端口安全
交换机依据MAC转发表决定一个数据链路层帧应该从哪个端口转发。
通常交换机都具备自学习功能,交换机启动后,转发表没有内容,它除了向所有端口转发帧外,在这个过程中还记录端口与MAC的关系。
交换机的CAM有大小限制,一般情况下转发表的大小足够用,但当发生攻击,一个主机伪造大量MAC不同的帧发送到该端口,端口的自动学习功能学到大量MAC,继而造成MAC转发表溢出失效,此时,交换机将采用最低效的交换方式向所有端口泛洪帧,除了性能问题以外,向所有端口泛洪帧也导致了安全风险,主机可以嗅探到所有流量,偷窥其中的内容。
端口安全技术旨在有效保护CAM不受大量伪造MAC帧冲击。
端口安全特性允许管理员指定某个端口学习规定的MAC地址(如在DHCPSnooping绑定表中记录的MAC地址),以及学习MAC地址的最大数量,一个端口如果学习到超过最大数量的MAC地址后,允许管理员设定限制或切断端口。
端口安全特性只能在staticaccess模式端口上启用,只有当端口安全技术和IPSG配合才能促使IPSG使用Port-IP-MAC最严格的检查方式。
需求、环境影响和先决条件
需求
由标题就可以明确,在网络上部署DHCP和相关安全技术,需要Cisco设备支持。
并且对于具体的设备有具体的支持。
通过查阅网上资料,笔者整理了部分能够部署DHCP和安全技术的典型设备。
表1:
部分设备对DHCP及其安全技术的支持
典型设备
CiscoCatalyst2960系列
√
○
CiscoCatalyst3xxx系列
CiscoCatalyst4500系列
Cisco2600系列路由器
Cisco2800系列路由器
HuaweiQuidwayS系列交换机
×
TP-LINKWR541Gv1802.11x无线路由器
TP-LINKTLSF1008+快速以太网交换机
√:
明确支持;
○:
有条件地支持;
:
明确不支持
环境影响
对环境的影响主要说明了部署这些技术时可能的网络结构变化、客户端变化、对环境伸缩适应性等变化。
在部署DHCP等安全技术时,对网络的拓扑结构、分段、路由等配置均没有影响。
DHCP技术可以在单独一个VLan上执行,或者在多个Vlan上执行,对于其他VLan和其他网络而言,它是透明的。
对于客户端而言,部署DHCP等安全技术后,客户端采用手动分配固定IP地址将不能够继续上网。
因此在准备部署DHCP及其安全技术时,应当制定详细的转换计划,最好选择在非关键用网时期,并且需进行预告,管理员也需留守负责对部分机器配置现场更改。
对于运行的应用服务器,DHCP技术可能并不适合。
可以考虑几种解决方案:
1、将其列入单独的Vlan,在此Vlan上不实行DHCP及其安全技术。
2、在实施了DHCP及其安全技术的网络上,配置DHCP为其动态分配固定的IP地址。
3、在实施了DHCP及其安全技术的网络上,配置DHCPSnooping绑定,执行静态绑定,然后在应用服务器上手动分配固定IP。
4、在实施DHCP机器安全技术的网络上,将连接应用服务其的端口设置为信任端口,将不受这些安全技术的限制。
这几种解决方法都可以通过参考Cisco相关支持教材或在线检索信息来解决。
对环境伸缩适应性的变化。
在实施了DHCP及其安全技术的网络中,网络端口扩容时,建议采用支持这些安全技术的接入交换机,以提供针对每一个终端的安全防护,配置这些设备的方式基本类似,在下文中对多层次交换网络配置有一些描述可供参考。
部署DHCP及其安全技术
部署场景
针对烟草专网的拓扑结构,这里构造了一个典型的部署场景,如图所示。
图1:
试验用典型网络拓扑结构
路由器:
Cisco2611XM,名称:
R1
核心交换机:
Cisco4507R,名称:
CS1
汇聚(或接入)交换机:
Cisco3900,名称:
LS1
不可管理的家庭交换机:
TP-LINKTLSF1008+。
终端设备:
PC1,PC2,PC3,PC4,PC5。
端口连接说明如下:
路由器Fa0/0与核心交换机Gi1/1端口相连。
汇聚(接入)交换机LS1的Gi1端口与核心交换机的Gi1/2端口相连。
两台主机PC1和PC2与汇聚(接入)交换机Fa1和Fa2端口相连。
主机3直接与核心交换机Gi1/3端口相连。
一台家用交换机TLSF1008+的上行端口P0与核心交换机Gi1/4端口相连。
两台主机PC4和PC5与交换机的P1和P2接口相连。
IPVlan划分说明
依据笔者试验的网络,现在假设该网络仅划分两个Vlan,所有PC处于一个Vlan中,命名为Vlan75,网关和掩码分别是:
10.145.75.254255.255.255.0。
核心交换机CS1与路由器R1处于Vlan77,由于在本建议中部涉及路由器与交换机之间的配置,Vlan77的配置省略。
要求
对性能的要求。
通常,交换机采用快速交换方式,在接收到以太网帧的头部地址字段后,就可以做出转发决定。
快速交换方式性能高,系统资源占用率较低。
但在部署IPSG安全技术后,交换机就必须改变其转发策略,交换机必须至少检查到IP数据包的头部地址后,才能做出转发决定,因此对系统内存、CPU资源的占用率将相应提高。
在重负载的网络环境中,部署这些安全技术应当非常谨慎。
以4507R为例,在部署前,网络管理员可以通过SuperAdvisorEngine面板上的Utilization指示灯获知交换机的负载状态。
或者使用命令showprocesscpuhistory查看CPU负载率。
在高于50%以上的负载率情况下,部署该安全特性就需要进行仔细评估。
通常认为DHCP服务器平时仅监听发现,在主机请求配置时工作,大多数情况下DHCP服务器处于监听等待状态,不占用系统CPU资源,在试验部署模型中,将DHCP部署在核心交换机CS1上。
部署DHCP服务器
在核心交换机CS1上部署DHCP服务器
在Cisco网络交换设备上启用DHCP的好处是可以充分保障DHCP服务器的可用性,避免因服务器当机导致网络中断(实际上当网络发生中断时,通常与交换设备的其他故障有关系),但在Cisco交换设备上部署DHCP服务,要求网络管理员必须具备配置Cisco交换设备的能力,管理员或工程师必须面对纯字符界面,并且调试和追踪DHCP事件的难度比较大。
但是,在Cisco交换设备上部署DHCP可以获得一些其他特性,其中包括基于Option82的分配策略等,而大多数传统的DHCP软件服务器不具备这种能力。
另外,要使端口安全技术与IPSG配合检查Port-IP-MAC,DHCP必须支持Option82。
默认情况下,DHCP服务是关闭的,先开启DHCP服务,
在全局配置模式下开启DHCP,并启用Option82特性。
CS1(config)#servicedhcp
CS1(config)#ipdhcpuseclass
为了在Vlan75上分配地址,需要创建一个地址池,在全局配置模式下,使用下列命令创建和配置地址池:
CS1(config)#ipdhcppoolTestRootPool
CS1(dhcp-config)#network10.145.75.0255.255.255.0
CS1(dhcp-config)#default-router10.145.75.254
CS1(dhcp-config)#dns-server222.172.200.6861.166.150.123
这些命令创建了一个名为TestRootPool的地址池,为10.145.75.0/24网络服务,定义了默认网关为10.145.75.254,定义了DNS服务器地址。
此时DHCP就已经可以运行了。
但大多数时候,我们需要把一些地址排除在外,在全局配置模式下,通过以下命令排除地址:
CS1(config)#ipdhcpexcluded-address10.145.75.110.145.75.99
这里将排除100以下的地址,从10.145.75.100开始分配。
对于需要分配固定地址的主机,需要建立相应的地址池,绑定该主机MAC和IP地址对应关系,在全局配置模式下,创建一个名为PC1的地址池,进行如下配置:
CS1(config)#ipdhcppoolPC1
CS1(dhcp-config)#host10.145.75.8255.255.255.0
CS1(dhcp-config)#client-identifier0100.2186.eda8.07
host指明了想要分配的IP地址和子网掩码,client-identifier则指明主机的MAC地址。
需要注意的是在主机MAC地址的基础上,要添加前缀01。
此时具有此MAC地址的主机将获得10.145.75.8的地址,固定分配IP的地址池租约期为无穷,其他的配置信息从TestRootPool继承。
其他关于DHCP的命令还有很多,不再赘述。
任何配置命令都可以使用no关键字取消配置。
启用DHCP后,我们可以通过showipdhcpbind来显示当前已经分配的IP地址及其他详细信息:
CS1>
showipdhcpbind
IPaddressClient-ID/LeaseexpirationType
Hardwareaddress
10.145.75.80100.2186.eda8.07InfiniteManual
10.145.75.160100.089b.1f9b.02InfiniteManual
10.145.75.1330100.2186.edaf.f3Sep06200909:
53PMAutomatic
10.145.75.1410100.216a.0cb6.9eSep06200910:
16AMAutomatic
10.145.75.1420100.1bb9.741d.a5Sep06200910:
23PMAutomatic
配置使DHCP支持Option82的实例本建议书省略,请参考Cisco技术文章《DHCPAddressAllocationUsingOption82》(英文)。
启用DHCPSnooping
在核心交换机CS1上启用DHCPSnooping
在核心交换机上启用DHCPSnooping,可以在全局配置模式下通过以下命令完成:
CS1(config)#ipdhcpsnooping
CS1(config)#ipdhcpsnoopingvlan75
DHCPSnooping根据Vlan配置,所有加入Vlan的端口都生效。
DHCPSnooping将端口区分为信任端口和非信任端口。
默认情况下,所有端口都是非信任端口。
这里需要注意的是,如果使用应用服务器作为DHCP服务器,那么连接DHCP服务器的端口应当配置为信任端口,否则DHCP服务器发送的DHCPOffer和DHCPACK包将被丢弃,主机不可能获得IP地址。
DHCPSnooping在非信任端口根据DHCPACK的内容建立绑定表,但在信任端口则不建立绑定表。
在汇聚(接入)交换机LS1上配置DHCPSnooping
在LS1上配置DHCPSnooping的方法和在CS1上配置类似,但LS1接CS1的上行端口Gi1需要配置为信任端口,以便DHCPOffer和DHCPACK包能顺利通过该端口进入,并转发到相应主机端口。
配置DHCPSnooping限速,防止资源耗竭攻击
启用DHCPSnooping后,交换机支持在非信任端口上启用DHCPDiscover限速,防止资源耗竭攻击。
当DHCPDiscover包超过一定速率后引发警告或中断端口。
如果配置了限速,最好再配置端口中断后自动恢复机制。
要配置端口限速,需要进入端口配置模式下:
CS1(config-if)#ipdhcpsnoopinglimit15
CS1(config)#errdisablerecoverycausedhcp-rate-limit
CS1(config)#errdisablerecoveryinterval30
上述命令对端口进行了DHCPDiscover限速,速度不超过15包/秒。
并且当端口因限速警告切断后,能自动恢复,恢复时间30秒。
保存DHCPSnooping绑定表
DHCPSnooping绑定表存储在运行内存中,因此当设备掉电后绑定表会丢失。
此时要重新建立绑定表,需要每台主机重新做DHCP请求,另外,当部署了DAI和IPSG后,因为绑定表丢失而丢弃数据包,也会使用户误以为网络发生故障中断。
因此Cisco提供了将绑定表写入Flash、NVRAM或者TFTP服务器的功能。
以下命令配置将绑定表写入BootFlash,掉电重启后可以从bootflash自动找回。
CS1(config)#ipdhcpsnoopingdatabasebootflash:
dhcp-snooping.db
CS1(config)#ipdhcpsnoopingdatabasewrite-delay30
CS1(config)#ipdhcpsnoopingdatabasetimeout300
这些命令配置了将DHCPSnoopingdatabase保存在bootflash中,文件名为dhcp-snooping.db。
当DHCPSnooping绑定表更新(增加、删除、修改)后,延迟30秒写入flash,如果写入不成功,Cisco交换机将尝试每30秒写入,直到超时为止。
配置了DHCPSnooping后,可以通过showipdhcpsnoopingbind命令查看DHCPSnooping绑定表的内容:
showipdhcpsnoopingbind
MacAddressIpAddressLease(sec)TypeVLANInterface
----------------------------------------------------------------------
----------
00:
08:
9B:
1F:
0210.145.75.1663308dhcp-snooping75GigabitEt
hernet4/11
21:
6A:
0C:
B6:
9E10.145.75.14119770dhcp-snooping75GigabitEt
hernet5/22
86:
ED:
AF:
F310.145.75.13361602dhcp-snooping75GigabitEt
hernet4/4
A8:
0710.145.75.871