CCNP知识点总结——交换部分
1、交换机
交换机工作在OSI的数据链路层, 可分为2层和多层交换机。按照网络位置可划分为接入层、分布层、核心层交换机。其重要参数有:背板带宽、接口速率、转发速率。
2、VLAN技术
VLAN是一个单独的广播域。交换机的一个端口只能承载单个VLAN的流量, Trunk技术可承载多个VLAN的流量。
配置VLAN
(1)创建VLAN:Switch(config)#vlan vlan-id
(2)(可选)命名VLAN:Switch(config-vlan)#name vlan-name
(3) 删除VLAN:Switch(config)#no vlan vlan-id
(4)将端口指定为access端口,将端口放入某个VLAN中: Switch(config)#interface interface_id
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan vlan-id
(5)验证VLAN: show vlan
show running-config interface interface-type slot/port
show mac-address-table interface interface-type slot/port
3、Trunk技术
(1)Trunk简介
要使得交换机的端口承载多个VLAN,那么就必须将其配置为Trunk。使用环境:可以是两个交换机,也可以是交换机和路由器相连,还可以是交换机和支持trunk封装的主机。
(2)DTP技术
DTP是Cisco私有点到点协议,使用DTP来协商链路聚集的状态。
作用:<1>协商使用哪种协议: ISL/802.1Q;<2>协商使用哪种模式: access、 trunk、 desirable、 auto。
(3)Trunk的配置 Switch(config)#interface interface_id
Switch(config)#switchport trunk encapsulation {isl|dot1q|negotiate}
Switch(config)#switchport mode {trunk|auto|desirable}
Switch(config)#switchport nonegotiate
Switch(config)#switchport trunk native vlan vlan-id
Switch(config)#switchport trunk allowed vlan {add|except |all|remove}
vlan-id[,vlan-id,vlan-id…]
(4)Trunk的验证 show running-config interface_id
show interface interface_id switchport
show interface interface_id trunk
4、VTP技术
(1)VTP协议的作用是在整个交换网络中分发和同步与VLAN的相关信息。
(2)VTP通过Trunk链路传播消息,Cisco交换机每5分钟就会通过管理VLAN以二层组播(组播地址: 01-00-0C-CC-CC-CC)数据帧的形式传输一次VTP汇总通告。每台交换机只能支持单个VTP域。
(3)VTP工作模式
<1>Server:可创建、修改和删除VLAN,发送或转发通告消息,同步VLAN配置,将VLAN配置保存在NVRAM中。
<2>Client:不能创建、更改和删除VLAN,转发通告,同步VLAN配置,不会将VLAN配置保存在NVRAM中。
<3>Transparent:只在本地交换机中创建、删除和修改VLAN,转发通告消息,不同步VLAN配置,将VLAN配置保存在NVRAM中。
(4)VTP版本
VTP版本1:不支持令牌环网,透明模式检测版本和域名;
VTP版本2:支持令牌环网,支持TLV,透明模式不检测版本;
VTP版本3:支持扩展VLAN,支持创建和通告pVLAN,增强服务器认证,能与版本1和版本2互动,能够基于端口来配置VTP。
(5)VTP消息类型
<1>汇总通告消息:用于通知邻接的交换机目前的VTP域名和配置修订编号。每5分钟发送一次汇总通告消息,配置改变的时候发送通告。交换机对比数据包中的VTP域名,域名不同则忽略这个数据包。VTP域名相同将对比修订号:修订号大于等于通告消息中的修订号,忽略这个数据包;修订号小于通告消息中的修订号,发送通告请求消息。
<2>子集通告消息:包含VLAN的详细信息。交换机上添加、删除或修改VLAN时,增加配置修订号,发送汇总通告,随后发送一条或多条子集通告消息。子集通告消息包含一个VLAN信息的列表。多个VLAN,发送多条子集通告消息。
<3>通告请求消息:需要发送VTP通告请求消息:交换机重启、 VTP域名被修改、交换机收到修订号较大的VTP汇总通告消息。收到通告请求消息后, VTP设备发送一条汇总通告消息,再发送一条或多条子集通告消息。
(6)VTP配置 Switch(config)#vtp mode server
Switch(config)#vtp domain domain_name
Switch(config)#vtp version 2
Switch(config)#vtp password password_string
(7)VTP验证 show vtp status
show vtp counters
show vtp password
5、VLAN间路由
(1)提供VLAN间路由选择功能的设备:三层交换机、路由器。
路由器:单臂路由;多层交换机:路由端口或SVI交换机虚拟接口。
(2)使用路由器实现VLAN间路由
注意点:<1>交换机和路由器之间链路为trunk;<2>路由器的物理链路至少应该是FastEthernet或者更快的链路。
单臂路由配置: Router(config)#interface fastethernet0/0
Router(config-if)#no shutdown
Router(config)#interface fastethernet0/0.1
Router(config-subif)#description VLAN1
Router(config-subif)#encapsulation dot1q 1 native
Router(config-subif)#ip address 10.1.1.1 255.255.255.0
Router(config-subif)#interface fastethernet0/0.2
Router(config-subif)#description VLAN2
Router(config-subif)#encapsulation dot1Q 2
Router(config-subif)#ip address 10.2.2.1 255.255.255.0
Router(config-subif)#exit
switch(config)#interface fastethernet 4/2
switch(config)#switchport trunk encapsulation dot1q
switch(config)#switchport mode trunk
switch(config)#end
(3)SVI接口实现VLAN间路由
SVI接口配置: switch(config)#ip routing
switch(config)# interface vlan 10
switch(config-if)#ip address 10.1.10.1 255.255.255.0
switch(config-if)#no shutdown
switch(config)# interface vlan 20
switch(config-if)#ip address 10.1.20.1 255.255.255.0
switch(config-if)#no shutdown
使用SVI接口实现VLAN间路由,默认情况下, SVI接口满足下列条件,那么该接口处于Up状态:
<1>存在这个VLAN;
<2>存在这个VLAN接口,并且状态不是管理性关闭;
<3>交换机上至少一个二层端口,这个VLAN至少有一条链路处于启用状态。
(4)在多层交换机上配置路由端口
Catalyst 3550和4500系列交换机默认都是用二层接口,Catalyst 6500系列交换机默认使用三层接口。
配置: switch(config)#interface gigabitethernet1/1
switch(config)# no switchport
switch(config-if)#ip address 10.10.1.1 255.255.255.0
switch(config-if)#no shutdown
(5)VLAN间路由验证 show ip interface interface_type_port | svi_number
show interface interface_type_port | svi_number
show running interface_type_port | svi_number
show vlan
show interface trunk
ping
6、交换机的管理地址
限制远程管理源地址 switch(config)# access-list 99 permit host 192.168.1.100
switch(config)# line vty 0 4
switch(config-line)# access-class 99 in
7、802.1Q Tunneling(QinQ)
8、生成树协议
(1)二层转发特征:<1>转发时不用修改数据帧中的信息,<2>MAC地址学习是基于源地址的学习方式,<3>转发广播帧,<4>泛洪未知单播帧,<5>直接转发已知单播帧。
(2)STP作用:<1>逻辑上打破二层环路,<2>保持冗余链路。
(3)STP步骤:<1>在一个广播域中选一个根桥,<2>选择所有非根桥的根端口,<3>选择各个网段的指定端口,<4>阻塞所有非指定端口。
<1>根桥的选举:BPDU每2S发送一次,Bridge ID=Bridge Priority + MAC address,选择最小的Bridge ID。
有两种类型的BPDU:Config BPDU和TCN BPDU。
根桥的选举配置:配置交换机成为根桥,宏命令 ——衍生出来具体配置。 Switch(config)#spanning-tree vlan 1 root primary
配置交换机成为备份根桥 Switch(config)#spanning-tree vlan 1 root secondary
配置交换机的优先级 Switch(config)#spanning-tree vlan 1 priority priority
配置交换机的端口优先级(0-255,默认为128) Switch(config-if)#spanning-tree vlan 2 port-priority 1
<2>选择所有非根桥的根端口,即离根最近的接口,考虑:1)到达根桥开销最低的接口,2)BID最小的端口,3)Port ID最小的端口。
<3>选择各个网段的指定端口,在所有链路上选举一个离根最近的接口,考虑:1)到达根桥开销最低的接口,2)BID最小的端口,3)Port ID最小的端口。
<4>未指定的端口为非指定端口。
(4)802.1D STP Topology Change使用TCN BPDU,有3种情况会发送TCN BPDU
<1>从Forwarding或Listening的端口过渡到Blocking;
<2>端口进入到Forwarding,并且网桥已经有DP端口;
<3>非根网桥在他的DP端口接收到TCN。
9、快速生成树协议(802.1W RSTP)
(1)802.1D STP能够在大约1分钟之内恢复连接,而802.1W STP能够快速的收敛。
原理:RSTP会选择一台交换机作为连接到活动拓扑的生成树的根,并为交换机上的不同端口分配端口角色,在出现故障之后,交换机之间实施明确的握手协议,完成快速的收敛。
(2)配置边缘端口使用: spanning-tree portfast
命令。
(3)RSTP拓扑变更机制原理
<1>根网桥知道网络拓扑发生变更时,设置BPDU的TC标志;
<2>此BPDU传输给网络中的所有网桥;
<3>网桥接收到TC置位的BPDU后,将桥接表的老化时间 300s降低到转发延迟的秒数15s。
只有当非边缘端口从阻塞状态到转发状态的时候才会导致拓扑变更.与802.1D不同,连接丢失并不会产生拓扑的变更。 换句话说, 如果某个状态进入阻塞状态将不会导致相应的网桥产生TC BPDU。
(4)Cisco Catalyst交换机支持下列3类生成树:PVST+,RPVST+,MST,默认交换机为PVST+。
RPVST+为每个VLAN运行一个独立的生成树实例,需要通过BID字段来承载VLAN ID信息,使用扩展系统ID。
(5)RPVST+生成树的配置和验证
<1>配置模式: Switch(config)# spanning-tree mode rapid-pvst
指定root / secondary root
: Switch(config)#spanning-tree vlan 1 root primary
Switch(config)#spanning-tree vlan 1 root secondary
指定交换机的优先级: Switch(config)#spanning-tree vlan 1 priority priority
查看: show spanning-tree vlan vlan-id
10、多生成树
MST区域
MST区域是指一组相互连接,并且具有相同MST配置的网桥,VLAN到MST的分组必须在同一个MST区域的所有网桥中保持一致。拥有不同MST配置的网桥或运行802.1D协议的传统网桥则可以看做位于不同的MST区域中。
MST的配置中包括如下属性:
<1>包含数字和字母的配置名称;<2>配置修订号;<3>VLAN映射表。
MST的配置
<1>指定模式:Switch(config)#spanning-tree mode mst
<2>配置参数: Switch(config)#spanning-tree mst configuration
Switch(config-mst)#name name
Switch(config-mst)#revision rev_num
Switch(config-mst)#instance inst vlan range
<3>配置MST的primary 和 secondary roots: Switch(config)#spanning-tree mst instance_number root primary|secondary
<4>MST验证: show spanning-tree mst instance_number detail
show spanning-tree mst configuration
11、生成树特性
(1)PortFast
配置: Switch(config-if)#spanning-tree portfast
全局启用: Switch(config)#spanning-tree portfast default
接口禁用: Switch(config-if)#no spanning-tree portfast
(2)UplinkFast
用于检测直连故障,使接口状态从Blocking到Forwarding<=5S,**UplinkFast的条件:<1>交换机启用UplinkFast 功能;<2>交换机上至少有一个端口处于Blocking状态(即有冗余链路);<3>链路失效发生在根端口上。
启用了UplinkFast的交换机:
<1>默认priority由32768改变到49152;<2>默认cost增加3000;<3>非默认的priority与cost不变。
配置:Switch(config)#spanning-tree uplinkfast
(3)BackboneFast
(4)BPDU Guard
能够限制在启用PortFast端口接收BPDU。防止交换机连接到PortFast端口。
特征:一旦收到BPDU,接口进入到err-disabled状态, err-disabled状态的接口必须手动启用。
全局配置:Switch(config)#spanning-tree portfast bpduguard default
或接口配置:Switch(config-if)#spanning-tree bpduguard enable
全局下配置,只影响portfast特性开启的接口。
(5)BPDU Filter
能够限制在启用PortFast端口发送和接收BPDU。
全局启用:当端口接收到BPDU时,不再处于PortFast状态,过滤特性也会被禁用。 Switch(config)#spanning-tree portfast bpdufilter default
接口启用:不发送也不接收任何BPDU数据包,收到BPDU则丢弃。 Switch(config-if)#spanning-tree bpdufilter enable
BPDU Filter优先级>BPDU Guard优先级,若同时启用两者,则BPDU Filter生效
查看: show spanning-tree summary
show spanning-tree interface interface-id detail
(6)Root Guard
启用根防护的端口不能成为根端口,将成为指定端口,当该端口接收到更好的BPDU时,根防护特性就会使接口进入root-inconsistent的阻塞状态。
root-inconsistent状态等效于监听状态。当root-inconsistent端口不在接收到更优
的BPDU时,它会自动恢复。
配置 Switch(config-if)#spanning-tree guard root
查看 show running-config interface interfac-id
show spanning-tree inconsistentports
(7)LOOP Guard
loop-inconsistent状态的端口重新接收到了BPDU,根据接收到的BPDU过渡到STP状态,为自动恢复过程。
配置: Switch(config-if)#spanning-tree guard loop
Switch(config)#spanning-tree loopguard default
查看: show spanning-tree interface interface-id detail
(8) UDLD
UDLD能够检测并禁用单向链路,是一个二层协议,与一层机制协同工作,启用UDLD后,交换机会定期向邻居发送UDLD协议包,并要求定期收到回应,否则判断为单向链路,并且关闭该端口,数据包中包含设备ID,端口ID,邻居设备ID和端口ID信息。模式分为:Normal mode和Aggressive mode。
<1>Normal mode: 只能检测光口,未接收到UDLD消息时,端口状态为
undetermined状态产生系统日志,但并不影响流量转发。 Switch(config)# udld enable
Switch(config-if)# udld port
<2>Aggressive mode: 检测光口和电口,未接收到UDLD消息时,就会与邻居重新建立连接关系,连续尝试了8次都失败后,端口就会成为err-disable状态。 Switch(config)# udld aggressive
Switch(config-if)# udld port aggressive
(9)Flex
Flex链路是一种二层的可用性特性,是STP的一种替代解决方案。在关闭了STP的情况下,仍然可以实现基本的链路冗余。可让收敛时间降低到50毫秒以下。
Flex链路定义了一对主用/备用链路,Flex链路是一对接口,可以是switchport接口、 port-channel接口。主用链路和备用链路的类型(fast ethernet/gigabit ethernet/ portchannel)不强求一致。Flex链路端口上禁用STP,所以STP没有启用时,要确保配置拓扑中没有环路,接口只属于一个Flex链路。
配置: Switch(config-if)# switchport backup interface interface-id
配置一例: Switch(config)# interface f0/1
Switch(config-if)# switchport backup interface f0/2
查看 show interface switchport backup
12、高可用性
(1)EtherChannel
为了适应园区网业务的发展、速率的提高,我们可以采用多种方式提高园区网络中的数据传输速度。
<1>使用端口速率更快的端口,如1Gbit/s或10Gbit/s。
<2>增加两边交换机上物理链路的数量。
<3>EtherChannel:EtherChannel是将多个快速以太网端口或吉比特以太网端口分组到一个逻辑通道中。
PAgP:思科私有协议。
LACP:IEEE 802.3ad标准协议。
注意事项:
可以最多将8条物理链路捆绑为一条逻辑的EtherChannel链路,同一条EtherChannel链路不能向不同的交换机发送流量,一条EtherChannel连接的两台设备配置必须相同,管理员配置EtherChannel接口时,同时影响所有分配了该接口的端口,同一个EtherChannel的所有接口要配置相同的速率和双工模式,EtherChannel的接口配置允许相同的VLAN,EtherChannel不能作为SPAN中的目的端口,IP地址配置在port-channel端口上。
二层EtherChannel配置: Switch(config)#interface range interface slot/port - port
Switch(config-if-range)#channel-protocol {pagp | lacp}
Switch(config-if-range)#channel-group number mode {active | passive | on | desirable | auto}
三层EtherChannel配置: Switch(config)# interface range interface slot/port - port
Switch(config-if)#no switchport
Switch(config-if)# channel-group number mode {active | passive | on | desirable | auto}
Switch(config)#interface port-channel port-channel-number
Switch(config-if)#no switchport
Switch(config-if)#ip address address mask
查看 show running-config interface port-channel num
Switch#show running-config interface interface x/y
负载分担: Switch# show etherchannel load-balance
Switch(config)#port-channel load-balance type
负载分担类型: • src-mac
• dst-mac
• src-dst-mac
• src-ip
• dst-ip
• src-dst-ip
• src-port
• dst-port
(2)设备冗余——Supervisor Engine
Supervisor Engine:提供多层交换数据的处理转发
Catalyst 4500只能在4057R-E和4510R-E机箱中部署
Catalyst 6500系列交换机可以在所有型号的机箱中部署
Supervisor Engine支持下列冗余特性
<1>RPR(路由处理器冗余性)和RPR+(仅用于Catalyst6500)
<2>SSO(状态化故障倒换)
<3>NSF(不间断转发)结合SSO
(3)设备冗余——Power Supplies
Power Supplies两种模式:主备供电和同时供电。
Power Supplies配置:Switch(config)#power redundancy-mode combined | redundant
查看:show power Switch(config)# No power enable module 5 -> 模块关电
Switch(config)# Power cycle module 5 -> 模块加电
(4)设备冗余——Fans&Hot-swappable
(5)设备冗余——StackWise Switches
Catalyst 3750支持堆叠,最高支持9个3750,独立的堆叠端口,专用互连电缆,自动配置和IOS版本检测,采用背板堆叠方式,优点:高密度端口,便于管理。
堆叠要求:相同的IOS版本(推荐加密版本),最多9台交换机做堆叠,通过1个地址管理堆叠。
物理连接:物理连接好堆叠线缆,连接方法为Master的Stack1连接到Slave的Stack2上面。先开Master,等完全启动后再开Slave。不作任何的配置。
以三个交换机堆叠为例:
交换机1: ws-c3750g-12s,交换机2: ws-c3750g-24ts,交换机3: ws-c3750g-48ts。
交换机1做为主交换,配置如下: Switch(config)# switch 1 provision ws-c3750g-12s
Switch(config)# switch 1 priority 15
Switch(config)# switch 2 provision ws-c3750g-24ts
Switch(config)# switch 2 priority 14
Switch(config)# switch 3 provision ws-c3750g-48ts
Switch(config)# switch 3 priority 13
Switch(config)# sdm prefer desktop
Switch(config)# copy running-config startup-config
(6)虚拟交换系统——Virtual Switching System
虚拟交换系统将两台交换机虚拟组合成单一交换机,中间采用虚拟交换链路( VSL) 互连,对外来看只有一台交换机,管理冗余链路如同管理一个单一接口。互连交换机通过链路聚合链接到VSS的两台交换机。VSS利用MEC技术在捆绑的逻辑端口上实现冗余和负载均衡。使得下游交换机好像与一台交换机进行互联。VSS和下联交换机之间形成了一个无环的二层网络结构,不再需要生成树协议,也减少了3层路由邻居,简化了网络的配置和操作。
开启VSS时,两台VSS成员设备通过相互协商,一个成为Active状态,另一个成为Standby状态。Active状态设备用于控制整个VSS, Standby状态设备将控制流量通过VSL交由Active统一处理。两台设备同时转发数据层面流量。VSL是一条特殊的链路,用于VSS系统中的两台设备间传输控制流量和数据流量。VSL最多支持八条10GE捆绑,利用Etherchannel技术实现负载和冗余。其中的控制流量优先级高于数据流量。Standby设备使用VSL监控Active设备,检测到Active故障时, Standby设备将把自己转换成Active状态。
配置: Switch1:
Switch1(config)# switch virtual domain 100 // 指定交换机1为VSS100区域内的设备
Switch1(config-vs-domain)# switch 1 // 指定VSS区域内该交换机的ID
Switch2:
Switch2(config)# switch virtual domain 100 // 指定交换机2为VSS100区域内的设备
Switch2(config-vs-domain)# switch 2 // 指定VSS区域内该交换机的ID
Switch1/2:
Switch(config)# interface port-channel 10 // 启动逻辑接口
Switch(config-if)# switch virtual link 1 // 配置交换ID1使用该逻辑接口
Switch(config)# interface range tenGigabitEthernet 1/1-2 // 进入需要加入逻辑接口的物理接口
Switch(config-if)# channel-group 10 mode on // 物理接口绑定逻辑接口
Switch# platform hardware vsl pfc mode pfc3c // 将PFC模式转换成PFC3C(可选)
Switch# switch convert mode virtual // 转换交换模式为虚拟交换
13、FHRP首跳冗余性协议
链路冗余技术有:EtherChannel、STP、FHRP(首跳冗余性协议):HSRP/VRRP/GLBP
(1)FHRP首跳冗余协议,提供了默认网关的冗余性,主要方法是让一台路由器充当活跃的网关路由器,而另一台或多台其他路由器则处于备用模式。FHRP包括 HSRP/VRRP/GLBP,网关的识别要达成一致。虚拟的IP地址。
(2)HSRP(Host Standby Route Protocol)
HSRP是Cisco私有,该协议定义了一组路由器,这组路由器共享IP地址和MAC地址,模拟出一台虚拟的路由器。
HSRP组路由器角色:一台active路由器,一台standby路由器,一台virtual路由器和其他路由器。active和standby向组播地址224.0.0.2 UDP 1985端口发送Hello消息。
<1> active路由器:转发所有发送到虚拟路由器MAC地址的数据包,使用以虚拟路由器MAC地址回应ARP请求。
<2>standby路由器:监听周期性Hello消息,当active路由器发生故障后,取代active路由器的角色。不响应ARP请求。Hello时间=3s,Hold时间=10s。
HSRP状态:
<1>Initial:路由器还未运行HSRP,路由器配置发生变化或接口刚进入UP状态。
<2>Listen:该路由器知道虚拟IP地址,当不是active和standby路由器,监听那些路由器发出的Hello消息。
<3>Speak:该路由器周期性发送Hello消息,并且积极参与到活跃路由器或备用路由器的选举中,知道虚拟IP地址。
<4>Standby:该路由器为下一个活跃路由器的候选者,周期性发送Hello消息,只有一台处于standby状态。
<5>Active:该路由器负责转发所有发送到组虚拟MAC地址的数据包,周期性发送Hello消息,只有一台处于active状态。
HSRP配置:
启用HSRP,并指定虚拟IP: Switch(config-if)#standby group-number ip ip-address
禁用HSRP: Switch(config-if)#no standby group-number ip ip-address
HSRP理论最多支持255个组,实际只支持16个。
配置优先级和抢占: Switch(config-if)#standby group-number priority priority-value
Switch(config-if)#standby group-number preempt {delay}[minimum]
优先级范围0~255,默认值为100,优先级高的路由器成为active路由器,优先级相同时, IP地址大的路由器成为active路由器。
配置HSRP认证: Switch(config-if)#standby group-number authentication password
配置HSRP接口追踪:
接口追踪能够使备用组路由器根据某个路由器接口的可用性状态,来自动调节优先级。 Switch(config-if)#standby group-number track interface-type interface-number [interface-priority]
interface-priority 当接口失效后,优先级减少量,当接口恢复后,优先级增加量,默认值为10。
配置HSRP对象追踪: Switch(config-if)#standby group-number track track-group decrement priority
Switch(config)#track track-group ?
interface
ip
list
rtr
简单配置: Standby 1 ip 192.168.1.1(配置虚拟IP)
Standby 1 priority 150(越高越好,默认为100)
Standby 1 preemt(抢占,默认没有)
Standby 1 track f0/1 60(跟踪上行端口,优先级减少60)
查看验证: show standby
show standby brief
debug standby [errors] [events] [packets]
(3)VRRP
利用VRRP(虚拟路由器冗余协议)一组路由器协同工作,但只有一个处于**
状态。在一个VRRP组内的多个路由器共用一个虚拟的IP地址,该地址被作为局域网内所有主机的缺省网关地址。 VRRP协议决定哪个路由器被**,该被**的路由器负责接收发过来的数据包并进行路由。
VRRP名词
<1>VRRP路由器
运行VRRP协议的路由器,一台VRRP路由器可以同时参与到多个VRRP组中,在不同的组中,一台VRRP路由器可以充当不同的角色。
<2>VRRP组(VRID)
由多个VRRP路由器组成,属于同一VRRP组的VRRP路由器互相交换信息,每一组由一个VRID标识。
<3>虚拟路由器
对于每一个VRRP组,抽象出来的一个逻辑路由器,该路由器充当网络用户的网关。
<4>虚拟IP地址、 MAC地址
用于标示虚拟的路由器,该地址实际上就是用户的默认网关,MAC地址为虚拟的。
<5>MASTER、 BACKUP 路由器
MASTER 路由器:就是在 VRRP 组实际转发数据包的路由器,在每一个VRRP组中,仅有MASTER响应对虚拟IP地址的ARP请求。
BACKUP 路由器:就是在 VRRP 组中处于监听状态的路由器,一旦MASTER 路由器出现故障, BACKUP 路由器就开始接替工作。
只有处于活动状态的设备才可以转发那些发送到虚拟IP地址的报文。
VRRP的三个状态
<1>初始状态(Initialize):路由器刚刚启动时进入此状态,通过VRRP报文交换数据后进入其他状态。
<2>活动状态(Master): VRRP组中的路由器通过VRRP报文交换后确定的当前转发数据包的一种状态。
<3>备份状态(Backup): VRRP组中的路由器通过VRRP报文交换后确定的处于监听的一种状态。
VRRP报文
VRRP路由器之间使用组播进行消息传输,VRRP报文使用的IP组播地址是224.0.0.18。VRRP报文承载在IP报文之上,使用协议号112 。
定时器Timers:
<1>Advertisement Interval:
由主路由器按照Advertisement Interval定义的时间间隔来发送 VRRP 通告报文,默认为1s。在备份路由器上可以手动配置,但必须与主路由器相同,也可以从主路由器学习到这个时间间隔。
<2>Master_Down Timer:
Backup 路由器认为Master路由器down机的时间间隔。默认情况下等于:3*hello+skew time,(skew time=((256-pri)/256) ms)这个时间是确保优先级更好的备份路由器成为新的master路由器。
Preempt 抢占模式:
抢占模式主要应用于保证高优先级的路由器在接入网络时成为活动路由器。如果抢占模式关闭,高优先级的备份路由器不会主动成为活动路由器,即使活动路由器优先级较低,只有当活动路由器失效时,备份路由器才会成为主路由器。默认情况下,VRRP抢占模式都是开启的。(HSRP默认不开启抢占)
Track:
监视某个接口,并根据所监视接口的状态动态地调整本路由器的优先级。
VRRP配置:
配置R1: R1(config)#interface F1/0
R1(config-if)#ip address 192.168.1.253 255.255.255.0
R1(config-if)#vrrp 1 ip 192.168.1.254
R1(config-if)#vrrp 1 priority 105 //默认时的PRIORITY为100, 1-254
R1(config-if)#vrrp 1 preempt
R1(config-if)#vrrp 1 track fa1/0
配置R2: R2(config)#interface F1/0
R2(config-if)#ip address 192.168.1.252 255.255.255.0
R2(config-if)#vrrp 1 ip 192.168.1.254
R2(config-if)#vrrp 1 preempt
R2(config-if)#vrrp 1 track fa1/0
(4)GLBP
HSRP和VRRP能够实现网关的快速复原,但对于冗余性组中的备用成员来说,处于备用模式时,是无法使用上行链路带宽的。
GLBP是Cisco私有的解决方案,可在多台网关之间进行自动故障倒换,可同时使用多台可用网关。
GLBP功能:
<1>GLBP AVG(活跃虚拟网关):一个GLBP组中只有一台为AVG,其他的为AVG的备用网关, AVG的作用是为GLBP组中的每个成员分配一个虚拟MAC地址。
<2>GLBP AVF(活跃虚拟转发者):一个GLBP组中的所有路由器都为AVF,负责转发到该虚拟MAC地址的数据包。
<3>GLBP 通信: GLBP每3s向组播地址224.0.0.102 UDP 3222端口发送Hello数据包。
GLBP特性:负载分担、多虚拟路由器、抢占、有效的资源利用。
GLBP配置:
14、高级特性
(1)DHCP
DHCP流程:
DHCP配置: Router(config)#ip dhcp pool [pool name]
• Enables a DHCP pool for use by hosts Router(config-dhcp)#default-router [host address]
• Specifies the default router for the pool to use 默认网关 Router(config-dhcp)#network [network address][subnet mask]
• Specifies the network and subnet mask of the pool Router(config-dhcp)#dns-server [DNS address]
• Specifies the DNS Server for the pool to use Router #show ip dhcp binding
Router (config-if)# ip address dhcp
Enables a Cisco IOS device to obtain an IP address dynamically from a DHCP server
IP Helper: Router(config-if)# ip helper-address address
Changes destination address from broadcast to unicast or directed broadcast address Router(config)# ip forward-protocol { udp [ port ] }
DHCP验证: router# show ip dhcp database
• Displays recent activity on the DHCP database router# show ip dhcp server statistics
• Shows count information about statistics and messages sent and received router# debug ip dhcp server {events | packets | linkage}
• Enables debugging on the DHCP server
(2)Syslog
思科设备会产生系统日志或系统记录消息,这些消息能够输出到设备控制台, VTY连接,系统缓冲区,远程日志服务器。如果发送到syslog服务器,消息被发送在UDP端口514。
你可能熟悉syslog消息: %SYS-5-CONFIG_I: Configured from console by console;
系统日志格式: %FACILTY-SUBFACILITY-SEVERITY-MNEMONIC: message text
%SYS-5-CONFIG_I: Configured from console by console;
说明:
- FACILITY-SUBFACILITY:
描述哪个协议、模块或者进程产生的信息, 如SYS—系统进程
- SEVERITY: 设备上的事件级别分为0到7总共8个级别
0 Emergency 紧急 、 1 Alert: 警报 、 2 Critical: 批判 、 3 Error: 错误、
4 Warning: 警告、 5 notifications:通知、 6 Informational:信息 、
7 Debugging:调试
- MNEMONIC: A code that identifies the action reported;
- A plain-text: 描述产生日志信息的事件内容
(3)SNMP 简单网络管理协议
由一组网络管理的标准组成,该协议能够支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。
SNMP定义为应用层协议,因而它依赖于UDP数据报服务。
SNMP管理的网络由下列三个关键组件组成:
<1>网络管理系统(NMS, Network-management systems)
<2>被管理的设备(managed device)
<3>代理者(agent)
网络管理系统从代理收集网络设备信息的方式: 定期轮询、 Trap报文。
MIB: Management Information Base:管理信息库,存储在本地设备的信息
Cisco设备MIB库下载地址:
http://tools.cisco.com/ITDIT/MIBS/MainServlet
SNMP版本分为: V1、 V2、 V3
V1和V2版本以明文的形式发送共同体认证,不能验证消息的来源或加密消息,因此只能用于只读访问。SNMPv3增加了三个安全级别: noAuthNoPriv:不验证也不加密,authNoPriv:验证发送方但不加密消息, authPriv:验证发送方和加密消息。
为保证网络管理信息的安全,代理必须对多个管理站进行本地MIB的访问控制。SNMP用 Community 来定义一个Agent和一组Manager间的认证、访问控制和代管关系,提供初步的安全能力。
SNMP 配置:
//Set SNMP administrator contact snmp-server contact [email protected]
//Read-only access with this community string snmp-server community SPOTO RO
//Read-write access with this community string snmp-server community SPOTO RW
//Use IETF standard for SNMP traps snmp-server trap link ietf
//Set SNMP Trap Server IP and community string snmp-server host IP SPOTO
snmp-server enable traps
(4)SPAN
SPAN(交换机端口分析器)技术主要是用来监控交换机上的数据流,利用SPAN技术我们可以把交换机上某些想要被监控端口(受控端口)的数据流COPY或MIRROR一份,发送给连接在监控端口上的流量分析仪,比如CISCO的IDS或是装了Sniffer工具的PC。
SPAN配置
<1>配置本地SPAN: Switch(config)# monitor session 1 source interface f0/10
//设定SPAN的受控端口 Switch(config)# monitor session 1 destination interface f0/20
//设定SPAN的监控端口
<2>监测命令: Switch#show monitor session 1
(5)报文分析
15、交换安全
(1)二层攻击分类:MAC层攻击、VLAN攻击、欺骗攻击和交换机设备上的攻击。
<1>MAC层攻击
MAC层攻击防御措施:端口安全
基于端口建立接入规则,接入规则有:
端口MAC最大个数、端口+MAC、端口+MAC+VLAN、端口+IP、端口+IP+MAC+VLAN
安全违例产生于以下情况:
• 如果一个端口被配置为一个安全端口,当其安全地址的数目已经达到允许的最大个数。
• 如果该端口收到一个源地址不属于端口上的安全地址的包。
当安全违例产生时,你可以选择多种方式来处理违例:
• Protect: 当安全地址个数满后,安全端口将丢弃违规地址的包, 不发SNMP Trap信息。
• Restrict: 当违例产生时,安全端口将丢弃未知名地址,同时发送一个SNMP Trap通知。
• Shutdown: 当违例产生时,将关闭端口,并发送一个SNMP Trap通知。
端口安全配置:
打开端口安全功能 switch(config-if)#switchport port-security
配置最大MAC地址数 switch(config-if)#switchport port-security maximum 3
配置MAC地址静态绑定 switch(config-if)#switchport port-security mac-address 001a.a900.0001
配置MAC地址粘滞,状态接口上所有通过动态学习到的MAC,将被转成sticky mac address,形成安全地址。命令配置后新学习到的MAC地址,也属于sticky。 switch(config-if)# switchport port-security mac-address sticky
配置违例处理方式 Switch(config-if)#switchport port-security violation {protect | restrict | shutdown}
查看端口安全: show port-securtity
show port-securtity interface f0/1
show port-securtity address
<2>VLAN攻击
VLAN攻击防御措施:缓解VLAN跳转攻击
将所有未使用的端口设置为Access端口,使其无法协商链路聚集协议。将所有未使用的端口设置为Shutdown状态,并放入同一个VLAN中。在建立Trunk链路时,将链路聚集协议设置成Nonegotiate。在Trunk链路上配置所需要承载的具体VLAN。Native VLAN与任何数据VLAN都不相同。
配置: switch(config)# mac access-list extended BACKUP-SERVER
switch(config-ext-mac)# permit any host 0000.1111.4444
switch(config)# access-list 100 permit ip 10.1.9.0 0.0.0.255 any
switch(config)# vlan access-map XYZ 10
switch(config-map)# mactch ip address 100
switch(config-map)# action drop
switch(config-map)# vlan access-map XYZ 20
switch(config-map)# match mac address BACKUP-SERVER
switch(config-map)# action drop
switch(config-map)# vlan access-map XYZ 30
switch(config-map)# action forward
switch(config)# vlan filter XYZ vlan-list 10,20
VLAN攻击防御措施:PVLAN
Private VLAN(私有VLAN, PVLAN) 是能够为相同VLAN内不同端口提供隔离的VLAN。PVLAN可以将一个VLAN的二层广播域划分成多个子域,每个子域都由一对VLAN组成: Primary VLAN(主VLAN)和Secondary VLAN(辅助VLAN组成)。
主VLAN: 主VLAN是PVLAN的高级VLAN,每个PVLAN中只有一个主VLAN。
辅助VLAN: 辅助VLAN是PVLAN中的子VLAN,并且映射到一个主VLAN。每台接入设备都连接到辅助VLAN。
<1>隔离VLAN(Isolated VLAN):同一个隔离VLAN中的端口互相不能进行二层通信,一个私有VLAN域中只有一个隔离VLAN。
<2>团体VLAN(Community VLAN):同一个团体VLAN中的端口可以进行二层通信,但是不能与其他团体VLAN中的端口进行二层通信,一个私有VLAN中可以有多个团体VLAN。
PVLAN的端口类型:
<1>混杂端口(Promiscuous):混杂端口为主VLAN中的端口,可以与任意端口通信,包括同一个PVLAN中的隔离端口和团体端口。
<2>孤立端口(Isolated):隔离端口为隔离VLAN中的端口,隔离端口只能与混杂
端口进行通信。
<3>团体端口(Community):团体端口为团体VLAN中的端口,同一个团体VLAN中的团体端口之间可以互相通信,并且团体端口可以与混杂端口通信,但是不能与其他团体VLAN的端口进行通信。
配置PVLAN:
<1>将VTP模式设置为透明模式。
<2>创建辅助VLAN。
<3>创建主VLAN。
<4>将辅助VLAN和主VLAN进行关联,其中,主VLAN中只能关联一个孤立VLAN,但是可以关联多个团体VLAN。
<5>将一个接口配置为孤立端口或团体端口。
<6>将这个孤立端口或团体端口关联给主-辅助PVLAN对。
<7>将一个接口配置为杂合端口。
<8>将这个杂合端口映射到主–辅助PVLAN对。
PVLAN示例:
<1>创建Primary VLAN及Secondary VLAN SW(config)#vlan 100
SW(config-vlan)#private-vlan primary
SW(config-vlan)#vlan 201
SW(config-vlan)#private-vlan community
SW(config-vlan)#vlan 202
SW(config-vlan)#private-vlan isolated
<2>关联Primary VLAN及Secondary VLAN SW(config)#vlan 100
SW(config-vlan)#private-vlan association 201-202
<3>将端口f0/5设置为Promiscuous Port并映射Secondary VLAN: SW(config)#int f0/5
SW(config-if)#switchport mode private-vlan promiscuous //设置端口为混杂模式
SW(config-if)#switchport private-vlan mapping 100 201-202
//使用mapping关联主VLAN和能够访问的私有VLAN
<4>将端口f0/1-2设置为Host Port并映射community VLAN: SW(config)#int range f0/1-2
SW(config-if)#switchport mode private-vlan host //设置端口为host模式
SW(config-if)#switchport private-vlan host-association 100 201
//使用host-association关联主VLAN和所属的私有VLAN
<5>将端口f0/3-4设置为Host Port并映射isolated VLAN: SW(config)#int range f0/3-4
SW(config-if)#switchport mode private-vlan host //设置端口为host模式
SW(config-if)#switchport private-vlan host-association 100 202
//使用host-association关联主VLAN和所属的私有VLAN
(3)欺骗攻击
DHCP侦听防御措施:DHCP snooping switch(config) # ip dhcp snooping
switch(config) # ip dhcp snooping vlan 10
switch(config-if) # ip dhcp snooping limit rate 10
// dhcp包的转发速率,超过就接口就shutdown,默认不限制
switch(config-if) # ip dhcp snooping trust
// 将端口变成信任端口,信任端口可以正常接收并转发DHCP Offer报文,默认交换机的端口都是非信任端口,
// 只能够发送DHCP请求
switch# show ip dhcp snooping // 显示DHCP探测状态
ARP欺骗
ARP协议原理
ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。根据TCP/IP层次模型,在以太网中,一个主机要和另一个主机进行直接通信,必须知道目标主机的MAC地址。在现实环境中,一般采用IP地址标示通信的对象,而ARP的功能就是将IP翻译成对应的MAC地址。
该协议是基于广播的,不可靠,ARP响应报文无需请求即可直接发送,这给攻击者留下巨大漏洞。
ARP欺骗防御措施:
如何判断是否存在ARP欺骗?网络突然不稳定,时断时续或网速突然很慢,使用arp –a
,发现网关的MAC地址在变化。利用抓包进行报文分析,可以很快的定位ARP攻击源头。
解决办法:
<1>手工绑定IP、 MAC。
PC上:arp –s ip地址 mac地址
网络设备上:arp ip地址 mac地址 arpa
<2>DAI(Dynamic ARP inspection)
通过DHCP Snooping功能将用户正确的IP与MAC写入交换机的DHCP Snooping表,使用DAI功能校验ARP报文的正确性。
应用场景:用户使用动态IP地址
缺点:DAI功能需通过CPU处理,大量的ARP报文可能导致CPU过高。
DAI 的配置: ip dhcp snooping vlan 10
Ip dhcp snooping
ip arp inspection vlan 10
Interface f0/24
ip dhcp snooping trust
ip arp inspection trust
IP防欺骗和IP源防护
攻击防御配置: switch(config)# ip dhcp snooping
switch(config)# Ip dhcp snooping vlan 1,10
switch(config)# Ip dhcp snooping verify mac-address
switch(config)# Ip source binding 0000.000a.000b vlan 10 10.1.10.11 interface fa2/18
switch(config)# interface range fastethernet 2/1 ,2/18
switch(config-if)# switchport
switch(config-if)# switchport mode access
switch(config-if)# switchport port-security
switch(config-if)#ip verify source vlan dhcp-snooping port-security
(4)交换机设备攻击
DNP邻居发现协议
CDP 默认启用的二层协议, cisco私有
LLDP 默认禁用状态,与厂商无关的二层协议 switch(config)# no cdp run
或 switch(config-if)# no cdp enable
switch#show cdp neighbor
switch(config)# lldp run
或 switch(config-if)# lldp enable
switch# show lldp neighbor
交换机设备攻击防御措施:
SSH switch(config)# enable secret cisco //配置enable密码
switch(config)# username spoto password spoto //配置用户名和密码
switch(config)#ip domain-name spoto.net //配置主机名和域名
switch(config)#crypto key generate rsa general-keys //生成RSA**
switch(config)#line vty 0 15
switch(config-line)#login local
switch(config-line)# transport input ssh //在线路上启用SSH传输