【实验拓扑】
【实验任务】
1.配置端口安全,避免MAC地址扩散攻击和MAC地址欺骗攻击;
2.配置DHCP监听,保证客户端能够从正确的DHCP服务器获得IP地址,避免DHCP服务器欺骗和DHCP地址耗尽;
3.配置IP源防护,确保客户端不能使用自行指定的IP地址,也不能使用其它客户正在使用的IP地址,防御IP地址欺骗;
4.配置DAI,防范ARP攻击以及ARP欺骗。
【详细实验步骤】
一、配置拓扑设备的基本信息:接口、管理、VLAN等实现全网互通
【配置】
DHCPSer(config)#ip route 0.0.0.0 0.0.0.0 30.30.30.2
DHCPSer(config)#enable secret ywlin
DHCPSer(config)#username ywlin password ywlin
DHCPSer(config)#line vty 0 4
DHCPSer(config-line)#password ywlin
DHCPSer(config-line)#login
DHCPSer(config-line)#int f0/0
DHCPSer(config-if)#ip add 30.30.30.1 255.255.255.0
DHCPSer(config-if)#no shutdown
SW1(config)#ip routing
SW1(config)#enable secret ywlin
SW1(config)#username ywlin password ywlin
SW1(config)#line vty 0 4
SW1(config-line)#password ywlin
SW1(config-line)#login
SW1(config-line)#int f0/3
SW1(config-if)# switchport mode access
SW1(config-if)# switchport access vlan 30
SW1(config-if)#no shutdown
SW1(config-if)#int range f0/1-2
SW1(config-if-range)#no shutdown
SW1(config-if-range)#switchport mode trunk
SW1(config-if-range)#int vlan 10
SW1(config-if)#no shutdown
SW1(config-if)#ip add 10.10.10.254 255.255.255.0
SW1(config-if-range)#int vlan 20
SW1(config-if)#no shutdown
SW1(config-if)#ip add 20.20.20.254 255.255.255.0
SW1(config-if-range)#int vlan 30
SW1(config-if)#no shutdown
SW1(config-if)#ip add 30.30.30.254 255.255.255.0
SW1(config-if)#end
SW1#vlan database
SW1(vlan)#vlan 10
SW1(vlan)#vlan 20
SW1(vlan)#vlan 30
SW2(config)#enable secret ywlin
SW2(config)#username ywlin password ywlin
SW2(config)#line vty 0 4
SW2(config-line)#password ywlin
SW2(config-line)#login
SW2(config-line)#int f0/0
SW2(config-if)#switchport mode trunk
SW2(config-if)#no shutdown
SW2(config-if)#int range f0/1
SW2(config-if)#no shutdown
SW2(config-if)#switchport mode access
SW2(config-if)#switchport access valn 10
SW2(config-if)#int range f0/2
SW2(config-if)#no shutdown
SW2(config-if)#switchport mode access
SW2(config-if)#switchport access valn 20
SW2(config-if)#end
SW2#vlan database
SW2(vlan)#vlan 10
SW2(vlan)#vlan 20
SW3(config)#enable secret ywlin
SW3(config)#username ywlin password ywlin
SW3(config)#line vty 0 4
SW3(config-line)#password ywlin
SW3(config-line)#login
SW3(config-line)#int f0/0
SW3(config-if)#switchport mode trunk
SW3(config-if)#no shutdown
SW3(config-if)#int range f0/1
SW3(config-if)#no shutdown
SW3(config-if)#switchport mode access
SW3(config-if)#switchport access valn 10
SW3(config-if)#end
SW3#vlan database
SW3(vlan)#vlan 10
PC1(config)#ip route 0.0.0.0 0.0.0.0 10.10.10.254
PC1(config-line)#int f0/0
PC1(config-if)#ip add 10.10.10.1 255.255.255.0
PC1(config-if)#no shutdown
PC2(config)#ip route 0.0.0.0 0.0.0.0 20.20.20.254
PC2(config-line)#int f0/0
PC2(config-if)#ip add 20.20.20.1 255.255.255.0
PC2(config-if)#no shutdown
PC3(config)#ip route 0.0.0.0 0.0.0.0 10.10.10.254
PC3(config-line)#int f0/0
PC3(config-if)#ip add 10.10.10.2 255.255.255.0
PC3(config-if)#no shutdown
二、将交换机SW1的F0/0、SW2的F0/1-2、SW3的F0/1端口置为接入模式并设置为速端口,分别属于VLAN30、VLAN10/VLAN20、VLAN10
Switch(config)#int range f0/1-3
Switch(config-if-range)#spanning-tree portfast
三、配置端口安全
1.在交换机SW1的F0/3、SW2的F0/2-3、SW3的F0/2接口启用端口安全,其中SW1的F0/3口配置最大 允许MAC地址数为1,并且绑定DHCPSer的MAC地址000f.907d.a800;SW2的F0/2-/3口配置最大允许的MAC地址数为2,F0/2绑定0030.6744.be53,F0/3绑定一个未知的MAC地址;SW3的F0/2口配置最大允许的MAC地址数为1,不绑定任何MAC地址,配置粘贴功能sticky(粘连)特性。
【配置】
SW1(config)#int range f0/3
SW1(config-if)#switchport port-security
SW1(config-if)#switchport port-security maximum 1
SW1(config-if)# switchport port-security mac-address 000f.907d.a800
SW2(config)#int range f0/2-3
SW2(config-if-range)#switchport port-security
SW2(config-if-range)#int f0/2
SW2(config-if)#switchport port-security maximum 2
SW2(config-if)# switchport port-security mac-address 0030.6744.be53
SW2(config-if)# int f0/3
SW2(config-if)#switchport port-security maximum 2
SW2(config-if)#switchport port-security mac-address ffff.ffff.0000 // 未知MAC
SW3(config)#int f0/2
SW3(config-if-range)#switchport port-security
SW3(config-if)#switchport port-security maximum
SW3(config-if)# switchport port-security mac-address sticky[d1]
2.配置SW1的F0/3和SW3的F0/2口的违规为shutdown; 配置SW2的F0/2-3接口的违规为retrict
【配置】
SW1(config)#int f0/3
SW1(config-if)#switchport port-security violation shutdown[d2]
SW3(config)#int f0/2
SW3(config-if)#switchport port-security violation shutdown
SW2(config)#int rang f0/2 - 3
SW2(config-if-range)#switchport port-security violation restrict
【验证】
SW1的F0/3接口端口安全状态
SW2的F0/2-3接口端口安全状态
SW3的F0/2接口端口安全状态
3.将客户端按拓扑接入交换机,验证客户端是否相互访问,查看当前运行的配置文件,验证粘连特性
4.将PC1和PC2连接端口互换,验证是否还可以通信
可正常通信,因为两个端口都允许有两个MAC地址,此时只是原先的MAC对掉了
将现在的PC1和PC3的接口互换,如下图,验证SW3的F0/2状态为err-disadbled,SW2的F0/2接口正常,但是连接的主机(PC3)无法访问PC3
SW3交换机的F0/2端口违规DOWN掉
SW2交换机的F0/2端口由于允许使用两个MAC地址,所以仍能正常使用
所以PC3可正常通信
5.将PC1和PC2按照如下图所示连接正确的端口,PC3可以正常通信,但是PC1所在的SW3的F0/2接口为err-disable状态。使用errdisable命令设置交换机自动恢err-disable状态的端口为正常状态,恢复时间设置为60秒
【配置】
Switch(config-if)# switchport port-security aging time 60[d3]
Switch(config)# switchport port-security aging type inactivity[d4]
Switch(config)# switchport port-security aging static //删除静态绑定的MAC[d5]
SW2(config)#errdisable recovery cause psecure-violation[d6]
SW2(config)#errdisable recovery interval 60[d7]
SW3(config)#errdisable recovery cause psecure-violation
SW3(config)#errdisable recovery interval 60
【验证】
四、配置DHCP服务器
1.pool vlan10,地址池为:10.10.10.100-10.10.10.200/24;pool vlan20,地址池为:20.20.20.0-20.20.20.99/24;配置DHCP中继
【配置】
DHCPSer(config)#ip dhcp pool vlan10
DHCPSer(dhcp-config)#network 10.10.10.0 255.255.255.0
DHCPSer(dhcp-config)#default-router 10.10.10.254
DHCPSer(dhcp-config)#lease 5
DHCPSer(dhcp-config)#exit
DHCPSer(config)#ip dhcp excluded-address 10.10.10.1 10.10.10.100
DHCPSer(config)#ip dhcp pool vlan20
DHCPSer(dhcp-config)#network 20.20.20.0 255.255.255.0
DHCPSer(dhcp-config)#default-router 20.20.20.254
DHCPSer(dhcp-config)#lease 5
DHCPSer(dhcp-config)#exit
DHCPSer(config)#ip dhcp excluded-address 20.20.20.1 20.20.20.200
SW1(config)#int vlan 10
SW1(config-if)#ip helper-address 30.30.30.1[d8]
SW1(config-if)#int vlan 20
SW1(config-if)#ip helper-address 30.30.30.1
【验证】
五、配置DHCP监听
启用DHCP监听及作用VLAN,SW1的作用VLAN为10、20、30,SW2的作用VLAN为10、20,SW3的作用VLAN为10;
配置SW1的F0/2、SW2的F0/2-3、SW3的F0/2接口为非信任;[d9]
配置SW1的F0/1 F0/3、SW2的F0/1、SW3的F0/1接口为信任;
配置报文中插入选项82信息;
配置预防DCHP耗尽攻击并启用MAC地址核实;
配置端口自动恢复
注:观察配置SW1的F0/2为非信任接口作用
【配置】
SW1(config)#ip dhcp snooping
SW1(config)#ip dhcp snooping vlan 10,20,30[d10]
SW1(config)#ip dhcp snooping information option[d11]
SW1(config)#ip dhcp snooping verify mac-address[d12]
SW1(config)#int range f0/1,f0/3
SW1(config-if-range)#ip dhcp snooping trust[d13]
SW1(config)#int f0/2
SW1(config-if)#ip dhcp snooping limit rate 15[d14]
SW1(config)#ip dhcp snooping information option allow-untrusted[d15]
SW1(config-if-range)#switchport port-security aging time 60[d16]
SW1(config-if-range)#switchport port-security aging type inactivity[r17]
SW1(config)#errdisable recovery cause dhcp-rate-limit[d18]
SW1(config)#errdisable recovery interval 60
SW2(config)#ip dhcp snooping
SW2(config)#ip dhcp snooping vlan 10,20
SW2(config)#ip dhcp snooping information option
SW2(config)#int f0/1
SW2(config-if)#ip dhcp snooping trust
SW2(config)#int range f0/2-3
SW2(config-if-range)#switchport port-security aging time 60
SW2(config-if-range)#switchport port-security aging type inactivity
SW2(config-if-range)#ip dhcp snooping limit rate 15
SW2(config)#errdisable recovery cause dhcp-rate-limit
SW2(config)#errdisable recovery interval 60
SW3(config)#ip dhcp snooping
SW3(config)#ip dhcp snooping vlan 10
SW3(config)#ip dhcp snooping information option
SW3(config)#int f0/1
SW3(config-if)#ip dhcp snooping trust
SW3(config)#int f0/2
SW3(config-if)#switchport port-security aging time 60
SW3(config-if)#switchport port-security aging type inactivity
SW3(config-if)#ip dhcp snooping limit rate 15
SW3(config)#errdisable recovery cause dhcp-rate-limit
SW3(config)#errdisable recovery interval 60
【验证】
Show ip dhcp snooping //查看当前DHCP监听状态以及各端口情况
Show ip dhcp snooping binding //查看当前DHCP监听绑定表
Switch#clear ip dhcp snooping binding //清除DHCP监听绑定表
PC1 PC2 PC3重新请求DHCP
Show ip dhcp snooping binding 查看当前DHCP监听绑定表
SW2有两条记录,动态学习到的
SW3有一条记录,动态学习到的
而SW1却只有一条记录,学习类型也不同
原因是F0/2端口为非信任,且配置了
ip dhcp snooping information option allow-untrusted[d19]
六、配置IP源防护、DAI(由于学校设备有限,脱离实验,仅靠理论完成)
【配置】
DHCPSer(config-if)#ip dhcp relay information trusted[r20]//在这个环境中有必要配置吗?
SW1(config)#ip arp inspection vlan 10,20,30[d21]
SW1(config)#int range f0/1-2
SW1(config-if- range)#ip arp inspection trust[d22]
SW1(config)#int f0/1
SW1(config-if)#no ip dhcp snooping trust[d23]只能用清除端口配置的命令完成 待补
SW1(config-if)#ip dhcp snooping limit rate 15[d24]
SW1(config-if)#int f0/3
SW1(config-if)#spanning-tree portfast
SW1(config-if)#ip verify source port-security[r25]
SW1(config-if)#ip arp inspection limit rate 15[r26]
SW1(config)#ip source binding 000F.907D.A800 vlan 30 30.30.30.1 int f0/3[r27]
SW1(config)#errdisable recovery cause dhcp-rate-limit[d28]
SW1(config)#errdisable recovery cause psecure-violation[d29]
SW1(config)#errdisable recovery interval 60[d30]
SW2(config)#ip arp inspection vlan 10,20
SW2(config)#int f0/1
SW2(config-if)#ip arp inspection trust
SW2(config-if)#int range f0/2-3
SW2(config-if-range)#spanning-tree portfast
SW2(config-if-range)#ip verify source port-security
SW2(config-if-range)#ip arp inspection limit rate 15
SW2(config)#errdisable recovery cause dhcp-rate-limit
SW2(config)#errdisable recovery cause psecure-violation
SW2(config)#errdisable recovery interval 60
SW3(config)#ip arp inspection vlan 10
SW3(config)#int f0/1
SW3(config-if)#ip arp inspection trust
SW3(config-if)#int f0/2
SW3(config-if)#spanning-tree portfast
SW3(config-if)#ip verify source port-security
SW3(config-if)#ip arp inspection limit rate 15
SW3(config)#errdisable recovery cause dhcp-rate-limit
SW3(config)#errdisable recovery cause psecure-violation
SW3(config)#errdisable recovery interval 60
[d1]配置粘连特性
可在全局或接口模式下配置
[d2]违规策略:protect、restrict、shutdown
[d3]配置老化时间
默认为0,表示不删除
[d4]老化时间到期后如何删除动态获悉的MAC地址规,有两种方式:
Absolute:直接删除重新学习
Inactivity:到期后,看端口是否有流量,没有就删除;静态绑定不受老化时间影响。
[d5]删除静态绑定的MAC地址
[d6]配置商端口在err-disabled状态时自动恢复
[d7]设置计时器
Time:30~86400s
[d8]DHCP中继
[d9]默认都为非信任
[d10]DHCP监听的作用VLAN,可一次多设
[d11]将DPCP报文插入选项82信息
[d12]启用核实MAC地址功能,避免DHCP耗尽攻击,全局模式下
[d13]配置为信任接口
[d14]配置预防DHCP耗尽攻击:通过限制非信任端口DHCP报文速递,减缓DHCP耗尽攻击,Cisco2960范围为1~2048
[d15]SW1的F0/2接口配置为非信任,是为了使DCHP报文通过此接口重新插入选项82信息来在此交换机中生成监听绑定表,为后续动态服务.如DAI
这条命令是为非信任接口接收信息而不丢弃。
[d16]配置老化时间
默认为0,表示不删除
[r17]老化时间到期后如何删除动态获悉的MAC地址规,有两种方式:
Absolute:直接删除重新学习
Inactivity:到期后,看端口是否有流量,没有就删除;静态绑定不受老化时间影响。
[d18]当非信任端口违规时,端口进入err-disable
配置端口进入err-disable状态的原因,然后配置计时器
[d19]SW1的F0/2接口配置为非信任,是为了使DCHP报文通过此接口重新插入选项82信息来在此交换机中生成监听绑定表,为后续动态服务.如DAI
这条命令是为非信任接口接收信息而不丢弃。
[r20]允许被插入选项82信息但无中继信息的DHCP报文通过
[d21]指定VLAN上启用DAI
[d22]【DAI】将端口设置为信任
[d23]【DHCP】将前面配置为信任的端口恢复为非信任,这样SW1才能记录DHCP绑定表,DAI需要用到
[d24]配置预防DHCP耗尽攻击:通过限制非信任端口DHCP报文速递,减缓DHCP耗尽攻击,Cisco2960范围为1~2048
[r25]启用基于源IP和源MAC地址的IP源防护
[r26]限制入站ARP报文速率
0~2048个/s,默认为15个/s。当超出允许速率时,端口进入err-disable
[r27]DHCP服务器配置静态IP源绑定
[d28]当非信任端口违规时,端口进入err-disable
配置端口进入err-disable状态的原因,然后配置计时器
[d29]配置商端口在err-disabled状态时自动恢复
[d30]设置计时器
Time:30~86400s
注:由于没事间整理,完整报告请查看附件,若有误处请指正为谢!