一、端口安全
关于端口安全有如下几个操作:
(一)Mac-address
1.在 PC0执行 ipconfig /all 命令 查看 PC0的IP和MAC地址
ipconfig /all
2.配置交换机端口的 MAC 地址绑定
Switch(config)#int f0/1 //进入 f0/1 端口
Switch(config-if)#switchport port-security //开启交换机的端口安全功能
Switch(config-if)#switchport port-security mac-address 0030.a3a5.c48d //端口和 MAC地址的绑定
Switch#show port-security address //查看地址安全绑定配置
(二)Maximum
1.在端口f0/1和 f0/2 设置了端口安全,允许关联的 MAC 地址最多为一个,而且只有第一个关联的 MAC 地址可以通过交换机发送帧。
SW1(config)#int range f0/1-2
SW1(config-if-range)#switchport mode access
SW1(config-if-range)#switchport port-security maximum 1
2.如果具有不同 MAC 地址的另一台设备也试图向交换机发送帧,那么,端口会由于 violation 命令被关闭。
SW1(config-if-range)#switchport port-security violation shutdown
图1 两台主机均未pingPC1之前
图2 第一个关联的MAC地址正常连接
图3 另一台MAC地址无法连接
图4 F0/1接口禁用
(三)Violation
1.#shutdown:端口成为err-disable状态,相当于关闭端口,默认处理方式(见图4)
那么我们应该如何恢复端口启动呢?
SW1(config-if-range)#shutdown
SW1(config-if-range)#no shutdown
为什么要这样做?
计算机不知道你是否知道其违规,所以要先shutdown关闭端口,以便清除任何违规状态或标记。这样做可以确保端口在重新启用时不再处于违规状态,再no shutdown 重启。
2.#restrict:将违规的MAC地址的分组丢弃,但端口处于UP状态。交换机记录违规分组
(此时已经PC0 pingPC1 3次)当再次ping时,SecurityViolation由12变为16.
3.#protect:将违规的MAC地址的分组丢弃,但端口处于UP状态。交换机不记录违规分组
改为protect
SW1(config)#int range f0/1-2
SW1(config-if-range)#switchport mode access
SW1(config-if-range)#switchport port-security
SW1(config-if-range)#switchport port-security violation protect
SW1(config-if-range)#end
当PC0再次ping PC1时,SecurityViolation仍为16.
二、端口快速
为什么不能在生成树的交换机上做?
生成树协议是防止网络中的环路,并确保只有一条活跃路径。在生成树的运行中,端口状态经历了阻塞、侦听、学习和最终的转发状态。这个过程是为了确保在激活端口时不会引入环路。PortFast会跳过这些阶段,可能导致网络环路的形成。
当开启了BPDU防护,即BPDU Guard ,用于检测并关闭接收到 BPDU 报文的端口。如果交换机的端口接收到 BPDU 报文,BPDU Guard 将禁用该端口,以防止潜在的网络环路。
包括:根ID、路径开销、桥ID、端口ID
优先级是:根ID >路径开销>桥ID>端口ID(值越小优先级越先)
SW1(config)#int range f0/1-2
SW1(config-if-range)#spanning-tree portfast //开启端口快速
SW1(config-if-range)#spanning-tree bpduguard enable //开启bpdu防护模式
用PC0 ping PC1 无法连接
C:\>ping 10.1.1.2
Pinging 10.1.1.2 with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Ping statistics for 10.1.1.2:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
同时禁用端口
三、生成树配置
优先级指定
Switch(config)#spanning-tree vlan 10 priority 4096
Switch(config)#spanning-tree vlan 20 priority 8192
此时vlan10 优先级是4096+10即4106, vlan20优先级是8192+20即8212
直接指定
Switch(config)#spanning-tree vlan 10 root primary //主vlan
Switch(config)#spanning-tree vlan 20 root secondary //备vlan
Switch#show spanning-tree //显示生成树
此时vlan10 优先级是24586 vlan20优先级是28672