使用mac-address-table static绑定端口,具体的语句例如:
mac-address-table static 0009.7c85.d579 vlan 1 interface f0/1
mac-address-table static 配置需要在全局配置模式完成,因为CAM表涉及到三方面:VLAN号,接口,MAC。在该模式下无法自动识别VLAN 和接口,所以需要输入VLAN号和接口,如上面的语句。
swithport port-security mac-address配置在接口配置模式完成。因为已经进到具体接口,该接口已经划分到指定VLAN, 所以不需要再输入VLAN和接口,具体的语句例如:
swithport port-security mac-addree 0009.7c85.d579
以上的区别非常细微,但是在具体的网络拓扑环境中,就显现出巨大的差异。我们来做一个实验,实验拓扑图非常简单,这里不予贴出。
假设交换机A,B、C三个口,PC机1、2和3,PC1(0009.7c85.d579)连A口,PC2(000c.cf73.9311)连B口,PC3连C口
1、在A口设置mac-address-table static绑定PC1的MAC地址:
mac-address-table static 0009.7c85.d579 vlan 1 interface f0/1
把PC1接入C口,PC3接入A口,此时PC1不通,PC2和PC3通
2、在A口设置swithport port-security mac-addree 0009.7c85.d579
把PC1接入C口,PC3接入A口,此时PC3不通,PC1和PC2通
所以得出的结论是:
mac-address-table static是对VLAN中的所有端口生效,这个MAC在这个VLAN中只能通过绑定的这个口访问,其它口是不能访问的。
swithport port-security mac-address sticky只对特定的一个端口生效,只要这个端口相连的PC的MAC不是对应的,就禁止访问。而如果接入其它口,则访问正常。
首先必须明白两个概念:
可靠的MAC地址。配置时候有三种类型。
静态可靠的MAC地址:在交 换机接口模式下手动配置,这个配置会被保存在交换机MAC地址表和运行配置文件 中,交换机重新启动后不丢失(当然是在保存配置完成后),具体命令如下:
Switch(config-if)#switchport port-security mac-address Mac地址
动态可靠的MAC地址:这种类型是交换机默认的类型。在这种类型下,交换机会动态学习MAC地址,但是这个配置只会保存在MAC地 址表中,不会保存在运行配置文件中,并且交换机重新启动后,这些MAC地址表中的MAC地址自动会被清除。
黏性可靠的MAC地址:这种类型下,可以手动配置MAC地址和端口的绑定,也可以让交换机自动学习来绑定,这个配置会被保存在MAC地址中和运 行配置文件中,如果保存配置,交换机重起动后不用再自动重新学习MAC地址,虽然 黏性的可靠的MAC地址可以手动配置,但是CISCO官方不推荐这样做。具体命令如下:
Switch(config-if)#switchport port-security mac-address sticky
注:其实粘性可靠的MAC地址可以看做动态可靠与静态可靠的MAC地址的合体,它会自动学习第一次接入的mac地址,然后将这个mac地址绑定为静态可靠的地址。
其实在上面这条命令配置后并且该端口得到MAC地 址后,会自动生成一条配置命令
Switch(config-if)#switchport port-security mac-address sticky Mac地址
这也是为何,在这种类型下CISCO不推荐手动配置MAC地址的原因。其实switchport port-security mac-address sticky 1.1.1这个手动绑定的命令就画蛇添足了。可以说switchport port-security mac-address sticky 1.1.1 和 switchport port-security mac-address 1.1.1 两种端口安全绑定是一样的 ,没有差别!