一、原理
1、首先必须明白两个概念: 可靠的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地址后,会自动生成一条设置命令
Switch(config-if)#switchport port-security mac-address sticky Mac地址 这也是为何在这种类型下CISCO不推荐手动设置MAC地址的原因。
2、违反MAC安全采取的措施: 当超过设定MAC地址数量的最大值,
或访问该端口的
备MAC地址不是这个MAC地址表中该端口的MAC地址,或同一个VLAN中一个MA
地址被设置在几个端口上时,就会引发违反MAC地址安全,这个时候采取的措施有三种: 保护模式(protect):丢弃数据包,不发警告。 .
限制模式(restrict):丢弃数据包发警告,发出SNMP trap,同时被记录在syslog日志里。
关闭模式(shutdown):这交换机 默认模式,在这种情况下端口即时变为err-disable状态,并且关掉端口灯,发出SNMPtrap,同时被记录在syslog日志里,除非管理员手工激活,否则该端口失效。 具体命令下:
Switch(config-if)#switchport port-security violation {protect | restrict | shutdown }
下面这个表一就是具体的对比 Violation Mode Traffic is forwarded Sends SNMP trap Sends syslog message Displays error message Shuts down port protect No No No No No restrict No Yes Yes No No shutdown No Yes Yes No Yes 表一 bitscn.com 设置端口安全时还要注意以下几个问题:
端口安全仅仅设置在静态Access端口;在trunk端口、SPAN端口、快速以太通道、吉比特以太通道端口组或被动态划给一个VLAN的端口上不能设置端口安全功能;不能基于每VLAN设置端口安全;交换机不支持黏性可靠的MAC地址老化时间。protect和restrict模式不能同时设
置在同一端口上。
下面寻修网把上面的知识点连接起来谈谈实现设置步骤的全部命令。
1. 静态可靠的MAC地址的命令步骤: Switch#config terminal Switch(config)#interface interface-id 进入需要设置的端口 Switch(config-if)#switchport mode Access 设置为交换模式 Switch(config-if)#switchport port-security 打开端口安全模式 Switch(config-if)#switchport port-security violation {protect |
restrict | shutdown } 上面这一条命令是可选的,也就是能不用设置,默认的是shutdown模式,不过在实际设置中寻修网
推荐用restrict。 Switch(config-if)#switchport port-security maximum value 上面这一条命令也是可选的,也就是能不用设置,默认的maximum是个MAC地址,2950和3550交换机的这个最大值是132。 其实上面这几条命令在静态、黏性下都是相同的, Switch(config-if)#switchport port-security mac-address MAC地址 上面这一条命令就说明是设置为静态可靠的MAC地址
2.动态可靠的MAC地址设置,因为是交换机默认的设置。
3.黏性可靠的MAC地址设置的命令步骤: Switch#config terminal Switch(config)#interface interface-id Switch(config-if)#switchport mode Access Switch(config-if)#switchport port-security
Switch(config-if)#switchport port-security violation {protect | restrict | shutdown } Switch(config-if)#switchport port-security maximum value 上面这几天命令解释和前面静态讲到原因相同,不再说明。 Switch(config-if)#switchport port-security mac-address sticky 上面这一条命令就说明是设置为黏性可靠的MAC地址。 最后,说说企业中怎么快速MAC地址和交换机端口绑定。在实际的运用中常用黏性可靠的MAC地址绑定,目前我们在一台2950EMI上绑定。 方法1:在CLI方式下设置 2950 (config)#int rang fa0/1 - 48 2950 (config-if-range)#switchport mode Access 2950
(config-if-range)#switchport port-security 2950
(config-if-range)#switchport port-security mac-address violation restrict 2950 (config-if-range)#switchport port-security mac-address sticky 这样交换机的48个端口都绑定了,寻修网提示大家注意:在实际运用中需求把连在交换机上的PC机都打开,这样才能学到MAC地址,并且要在学到MAC地址后保存设置文件,这样下次就不用再学习MAC地址了,然后用show port-security address查看绑定的端口,确认设置正确。
方法2:在WEB界面下设置,也就是CMS(集群管理单元) 我
们通过在IE浏览器中输入交换机IP地址,就能进入,然后在port?port security下能选定交换机端口,在Status和Sticky MAC Address中选Enable或Disabled,Violation Action能选Shutdown、Restrict、Protect中的一种,Maximum Address Count(1-132)能填写这个范围的数值。 当然更有需求绑定IP地址和MAC地址的,这个就需要三层或以上的交换了,因为我们知道普通的交换机都是工作在第二层,也就是使数据链路层,是不可能绑定IP的。如果企业是星型的网络,中心交换机是带三层或以上功能的。我们就能在上绑定,
Switch(config)#arp Ip地址 Mac地址 arpa
二 交换机与端口进行绑定的方法
1、端口+MACa)AM命令
使用特殊的AM User-bind命令,来完成MAC地址与端口之间的绑定。例如:
[SwitchA]am user-bind mac-address 00e0-fc22-f8d3 interface Ethernet 0/1
配置说明:由于使用了端口参数,则会以端口为参照物,即此时端口E0/1只允许PC1上网,而使用其他未绑定的MAC地址的PC机则无法上网。但是PC1使用该MAC地址可以在其他端口上网。
b)mac-address命令
使用mac-address static命令,来完成MAC地址与端口之间的绑定。例如:
[SwitchA]mac-address static 00e0-fc22-f8d3 interface Ethernet 0/1 vlan 1
[SwitchA]mac-address max-mac-count 0
配置说明:由于使用了端口学习功能,故静态绑定mac后,需再设置该端口mac学习数为0,使其他PC接入此端口后其mac地址无法被学习。
2、IP+MAC
a)AM命令
使用特殊的AM User-bind命令,来完成IP地址与MAC地址之间的绑定。例如:
[SwitchA]am user-bind ip-address 10.1.1.2 mac-address 00e0-fc22-f8d3
配置说明:以上配置完成对PC机的IP地址和MAC地址的全局绑定,即与绑定的IP地址或者MAC地址不同的PC机,在任何端口都无法上网。
支持型号:S3026E/EF/C/G/T、S3026C-PWR、E026/E026T、S3050C、E050、S3526E/C/EF、S5012T/G、S5024G
b)arp命令
使用特殊的arp static命令,来完成IP地址与MAC地址之间的绑定。例如:
[SwitchA]arp static 10.1.1.2 00e0-fc22-f8d3
配置说明:以上配置完成对PC机的IP地址和MAC地址的全局绑定。
3、端口+IP+MAC
使用特殊的AM User-bind命令,来完成IP、MAC地址与端口之间的绑定。例如:
[SwitchA]am user-bind ip-address 10.1.1.2 mac-address 00e0-fc22-f8d3 interface Ethernet 0/1
配置说明:可以完成将PC1的IP地址、MAC地址与端口E0/1之间的绑定功能。由于使用了端口参数,则会以端口为参照物,即此时端口E0/1只允许PC1上网,而使用其他未绑定的IP地址、MAC地址的PC机则无法上网。但是PC1使用该IP地址和MAC地址可以在其他端口上网。
支持型号:S3026E/S3026E-FM/S3026-FS;S3026G;S3026C;
S3026C-PWR;E3026;E050;S3526E/C;S3526E-FM/FS; S5012T/G、S5024G、S3900、S5600、S6500(3代引擎)
第二篇:交换机端口与MAC绑定
交换机端口与MAC绑定
一、 实验目的
1、 了解什么是交换机的MAC绑定功能;
2、 熟练掌握MAC与端口绑定的静态、动态方式。
二、 应用环境
1、 当网络中某机器由于中毒进而引发大量的广播数据包在网络中洪泛时,网络管理员的唯一想法就是尽快地找到根源主机并把它从网络中暂时隔离开。当网络的布置很随意时,任何用户只要插上网线,在任何位置都能够上网,这虽然使正常情况下的大多数用户很满意,但一旦发生网络故障,网管人员却很难快速准确定位根源主机,就更谈不上将它隔离了。端口与地址绑定技术使主机必须与某一端口进行绑定,也就是说,特定主机只有在某个特定端口下发出数据帧,才能被交换机接收并传输到网络上,如果这台主机移动到其他位置,则无法实现正常的连网。这样做看起来似乎对用户苛刻了一些,而且对于有大量使用便携机的员工的园区网并不适用,但基于安全管理的角度考虑,它却起到了至关重要的作用。
2、 为了安全和便于管理,需要将MAC地址与端口进行绑定,即,MAC地址与端口绑定后,该MAC地址的数据流只能从绑定端口进入,不能从其他端口进入。该端口可以允许其他MAC地址的数据流通过。但是如果绑定方式采用动态lock的方式会使该端口的地址学习功能关闭,因此在取消lock之前,其他MAC的主机也不能从这个端口进入。
三、 实验设备
1、 DCS-3926S交换机1台
2、 PC机2台
3、 Console线1根
4、 直通网线2根
四、 实验拓扑
五、 实验要求
1、 交换机IP地址为192.168.1.11/24,PC1的地址为192.168.1.101/24;PC2的地址为192.168.1.102/24。
2、 在交换机上作MAC与端口绑定;
3、 PC1在不同的端口上ping 交换机的IP,检验理论是否和实验一致。
4、 PC2在不同的端口上ping 交换机的IP,检验理论是否和实验一致。
六、 实验步骤
第一步:得到PC1主机的mac地址
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.
C:\>ipconfig/all
Windows IP Configuration
Host Name . . . . . . . . . . . . : xuxp
Primary Dns Suffix . . . . . . . : digitalchina.com
Node Type . . . . . . . . . . . . : Broadcast
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
Ethernet adapter 本地连接:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Intel(R) PRO/100 VE Network Connecti on
Physical Address. . . . . . . . . : 00-A0-D1-D1-07-FF
Dhcp Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
Autoconfiguration IP Address. . . : 169.254.27.232
Subnet Mask . . . . . . . . . . . : 255.255.0.0
Default Gateway . . . . . . . . . :
C:\>
我们得到了PC1主机的mac地址为:00-A0-D1-D1-07-FF。
第二步:交换机全部恢复出厂设置,配置交换机的IP地址
switch(Config)#interface vlan 1
switch(Config-If-Vlan1)#ip address 192.168.1.11 255.255.255.0
switch(Config-If-Vlan1)#no shut
switch(Config-If-Vlan1)#exit
switch(Config)#
第三步:使能端口的MAC地址绑定功能
switch(Config)#interface ethernet 0/0/1
switch(Config-Ethernet0/0/1)#switchport port-security
switch(Config-Ethernet0/0/1)#
第四步:添加端口静态安全MAC地址,缺省端口最大安全MAC地址数为1
switch(Config-Ethernet0/0/1)#switchport port-security mac-address 00-a0-d1-d1-07-ff
验证配置:
switch#show port-security
Security Port MaxSecurityAddr CurrentAddr Security Action (count) (count)
--------------------------------------------------------------------------- Ethernet0/0/1 1 1 Protect --------------------------------------------------------------------------- Max Addresses limit per port :128
Total Addresses in System :1
switch#
switch#show port-security address
Security Mac Address Table
--------------------------------------------------------------------------- Vlan Mac Address Type Ports
1 00-a0-d1-d1-07-ff SecurityConfigured Ethernet0/0/1 --------------------------------------------------------------------------- Total Addresses in System :1
Max Addresses limit in System :128
switch#
第六步:在一个以太口上静态捆绑多个MAC
Switch(Config-Ethernet0/0/1)#switchport port-security maximum 4
Switch(Config-Ethernet0/0/1)#switchport port-security mac-address aa-aa-aa-aa-aa-aa
Switch(Config-Ethernet0/0/1)#switchport port-security mac-address aa-aa-aa-bb-bb-bb
Switch(Config-Ethernet0/0/1)#switchport port-security mac-address aa-aa-aa-cc-cc-cc
验证配置:
switch#show port-security
Security Port MaxSecurityAddr CurrentAddr Security Action (count) (count)
--------------------------------------------------------------------------- Ethernet0/0/1 4 4 Protect --------------------------------------------------------------------------- Max Addresses limit per port :128
Total Addresses in System :4
switch#show port-security address
Security Mac Address Table
--------------------------------------------------------------------------- Vlan Mac Address Type Ports
1 00-a0-d1-d1-07-ff SecurityConfigured Ethernet0/0/1 1 aa-aa-aa-aa-aa-aa SecurityConfigured Ethernet0/0/1 1 aa-aa-aa-bb-bb-bb SecurityConfigured Ethernet0/0/1 1 aa-aa-aa-cc-cc-cc SecurityConfigured Ethernet0/0/1 --------------------------------------------------------------------------- Total Addresses in System :4
Max Addresses limit in System :128
switch#
上面使用的都是静态捆绑MAC的方法,下面介绍动态mac地址绑定的基本方法,首先清
空刚才做过的捆绑。
第七步:清空端口与MAC绑定
switch(Config)#
switch(Config)#int ethernet 0/0/1
switch(Config-Ethernet0/0/1)#no switchport port-security
switch(Config-Ethernet0/0/1)#exit
switch(Config)#exit
验证配置:
switch#show port-security
Security Port MaxSecurityAddr CurrentAddr Security Action (count) (count)
--------------------------------------------------------------------------- --------------------------------------------------------------------------- Max Addresses limit per port :128
Total Addresses in System :0
第八步:使能端口的MAC地址绑定功能,动态学习MAC并转换
switch(Config)#interface ethernet 0/0/1
switch(Config-Ethernet0/0/1)#switchport port-security
switch(Config-Ethernet0/0/1)#switchport port-security lock
switch(Config-Ethernet0/0/1)#switchport port-security convert
switch(Config-Ethernet0/0/1)#exit
验证配置:
switch#show port-security address
Security Mac Address Table
--------------------------------------------------------------------------- Vlan Mac Address Type Ports
1 00-a0-d1-d1-07-ff SecurityConfigured Ethernet0/0/1 --------------------------------------------------------------------------- Total Addresses in System :1
Max Addresses limit in System :128
switch#
七、 注意事项和排错
1、 如果出现端口无法配置MAC地址绑定功能的情况,请检查交换机的端口是否运行
了Spanning-tree,802.1x,端口汇聚或者端口已经配置为Trunk端口。MAC绑定在端口上与这些配置是互斥的,如果该端口要打开MAC地址绑定功能,就必须首先确认端口下的上述功能已经被关闭。
2、 当动态学习MAC时,无法执行“convert”命令时,请检查PC机网卡是否和该端口
正确连接。
3、 端口Lock之后,该端口MAC地址学习功能被关闭,不允许其他的MAC进入该端口。
八、 配置序列
略
九、 课后练习
1、 使用三台PC测试端口与MAC绑定功能。
2、 实现多个端口统一绑定。
十、 相关配置命令详解
switchport port-security
命令:switchport port-security
no switchport port-security
功能:使能端口MAC地址绑定功能;本命令的no操作为关闭端口MAC地址绑定功能。 命令模式:端口配置模式
缺省情况:交换机端口不打开MAC地址绑定功能。
使用指南:MAC地址绑定功能与802.1x、Spanning Tree、端口汇聚功能存在互斥关系,因此如果要打开端口的MAC地址绑定功能,就必须关闭端口上的802.1x、Spanning Tree、端口汇聚功能,且打开MAC地址绑定功能的端口不能是Trunk口。
举例:使能端口1的MAC地址绑定功能。
Switch(Config)#interface Ethernet 0/0/1
Switch(Config-Ethernet0/0/1)#switchport port-security
switchport port-security convert
命令:switchport port-security convert
功能:将端口学习到的动态MAC地址转化为静态安全MAC地址。
命令模式:端口配置模式
使用指南:必须在安全端口锁定之后才能执行端口动态MAC地址转化命令。执行此命令之后,端口学习到的动态MAC地址将转化为静态安全MAC地址。该命令没有配置保留。 举例:将端口1的MAC地址转化为静态安全MAC地址。
Switch(Config)#interface Ethernet 0/0/1
Switch(Config-Ethernet0/0/1)#switchport port-security convert
switchport port-security lock
命令:switchport port-security lock
no switchport port-security lock
功能:锁定端口。端口被锁定之后,端口的MAC地址学习功能将被关闭;本命令的no操作为恢复端口的MAC地址学习功能。
命令模式:端口配置模式
缺省情况:端口未锁定
使用指南:端口必须使能MAC地址绑定功能之后才能执行端口锁定命令。执行端口锁定命令之后,端口将关闭动态MAC学习功能。
举例:锁定端口1。
Switch(Config)#interface Ethernet 0/0/1
Switch(Config-Ethernet0/0/1)#switchport port-security lock
switchport port-security timeout
命令:switchport port-security timeout <value>
no switchport port-security timeout
功能:设置端口锁定的定时器;本命令的no操作为恢复缺省值。
参数:<value> 锁定时器时间间隔,取值范围为0~300s。
命令模式:端口配置模式
缺省情况:端口未打开端口锁定的定时器。
使用指南:端口锁定定时器功能是一种动态MAC地址锁定功能,锁定定时器超时就执行MAC地址锁定操作及将动态MAC转换为安全MAC地址的操作。端口必须先开启MAC地址绑定功能后才能使用此命令。
举例:设置端口1的锁定时器为30秒。
Switch(Config)#interface Ethernet 0/0/1
Switch(Config-Ethernet0/0/1)# switchport port-security timeout 30
switchport port-security mac-address
命令:switchport port-security mac-address <mac-address>
no switchport port-security mac-address <mac-address>
功能:添加静态安全MAC地址;本命令的no操作为删除静态安全MAC地址。 命令模式:端口配置模式
参数:<mac-address>为添加/删除的MAC地址。
使用指南:端口必须使能MAC地址绑定功能之后才能添加端口静态安全MAC地址。 举例:添加MAC 00-03-0F-FE-2E-D3到端口1。
Switch(Config)#interface Ethernet 0/0/1
Switch(Config-Ethernet0/0/1)#switchport port-security mac-address 00-03-0F-FE-2E-D3
clear port-security dynamic
命令:clear port-security dynamic [address <mac-addr> | interface <interface-id> ] 功能:清除指定端口的动态MAC地址。
命令模式:特权配置模式
参数:<mac-addr>为MAC地址;<interface-id>为指定的端口号。
使用指南:必须在安全端口锁定之后之后才能执行指定端口的动态MAC清除操作。如果不指定端口、MAC地址,则清除所有锁定的安全端口的动态MAC;如果仅指定端口,不指定MAC地址,则清除指定端口的所有动态MAC地址。
举例:删除端口1动态MAC。
Switch#clear port-security dynamic interface Ethernet 0/0/1
switchport port-security maximum
命令:switchport port-security maximum <value>
no switchport port-security maximum
功能:设置端口最大安全MAC地址数;本命令的no操作为恢复最大安全地址数为1。 命令模式:端口配置模式
参数:<value> 端口静态安全MAC地址上限,取值范围1~128。
缺省情况:端口最大安全MAC地址数为1。
使用指南:端口必须使能MAC地址绑定功能之后才能设置端口安全MAC地址上限。如果端口静态安全MAC地址数大于设置的最大安全MAC地址数,则设置失败;必须删除端口的静态安全MAC地址,直到端口静态安全MAC地址数不大于设置的最大安全MAC地址数,设置才会成功。
举例:设置端口1安全MAC地址上限为4。
Switch(Config)#interface Ethernet 0/0/1
Switch(Config-Ethernet0/0/1)#switchport port-security maximum 4
switchport port-security violation
命令:switchport port-security violation {protect | shutdown}
no switchport port-security violation
功能:设置端口违背模式;本命令的no操作为恢复违背模式为protect。
命令模式:端口配置模式
参数:protect为保护模式;shutdown为关闭模式。
缺省情况:端口违背模式为缺省为protect。
使用指南:端口必须使能MAC地址绑定功能之后才能设置端口违背模式。如果端口违背模式设置为protect,那么当端口安全MAC地址超过设置的端口安全MAC上限的时候,端口仅仅关闭动态MAC地址学习功能;如果端口违背模式设置为shutdown,那么当端口安全MAC地址超过设置的端口安全MAC上限的时候,端口将被关闭,用户可以通过no shutdown命令手工打开该端口。
举例:设置端口1的违背模式为shutdown。
Switch(Config)#interface Ethernet 0/0/1
Switch(Config-Ethernet0/0/1)#switchport port-security violation shutdown
show port-security
命令:show port-security
功能:显示全局安全端口配置情况。
命令模式:特权配置模式
缺省情况:交换机不显示安全端口配置情况。
使用指南:本命令显示交换机当前已经配置为安全端口的端口信息 。
举例:
Switch#show port-security
Security Port MaxSecurityAddr CurrentAddr Security Action
(count) (count)
-----------------------------------------------------------------
Ethernet0/0/3 1 1 Protect
Ethernet0/0/4 10 1 Protect
Ethernet0/0/5 1 0 Protect
-----------------------------------------------------------------
Total Addresses in System :2
Max Addresses limit in System :128
show port-security interface
命令:show port-security interface <interface-id>
功能:显示安全端口配置情况。
命令模式:特权配置模式
参数:<interface-id> 指定的显示端口。
缺省情况:交换机不显示安全端口配置情况。
使用指南:本命令显示交换机安全端口的详细配置信息。
举例:
Switch#show port-security interface ethernet 0/0/1 Port Security :Enabled Port status :Security Up Violation mode :Protect
Maximum MAC Addresses :1 Total MAC Addresses :1
Configured MAC Addresses :1 Lock Timer is ShutDown
show port-security address
命令:show port-security address [interface <interface-id>] 功能:显示端口安全MAC地址。 命令模式:特权配置模式
参数:<interface-id> 指定的显示端口。 使用指南:本命令显示端口安全MAC地址信息,如果不指定端口则显示所有端口安全MAC地址。显示内容举例如下:
Switch#show port-security address interface ethernet 0/0/1 Security Mac Address Table
------------------------------------------------------------------------
Vlan Mac Address Type
Ports
1 0000.0000.1111 SecureConfigured Ethernet0/0/3 ------------------------------------------------------------------------ Total Addresses :1