如何在Cisco Switch上配置IP和MAC

02-16

如何在Cisco Switch上配置IP Address和MAC Address的binding

说明:

目前,很多公司的内部网络,都采用了MAC地址与IP地址的绑定技术。下面我们就针对Cisco的交换机介绍一下IP地址和MAC地址绑定的配置方案。

IP地址与MAC地址的关系: IP地址是根据现在的IPv4标准指定的,不受硬件限制长度4个字节。而 MAC地址却是用网卡的物理地址,保存在网卡的EPROM里面,与硬件有关系,长度为6个字节。

在交换式网络中,交换机维护一张MAC地址表,并根据MAC地址,将数据发送至目的计算机。 为什么要绑定MAC与IP 地址:IP地址的修改非常容易,而MAC地址存储在网卡的EEPROM中,而且网卡的MAC地址是唯一确定的。因此,为了防止内部人员进行非法IP盗用 (例如盗用权限更高人员的IP地址,以获得权限外的信息),可以将内部网络的IP地址与MAC地址绑定,盗用者即使修改了IP地址,也因MAC地址不匹配而盗用失败:而且由于网卡MAC地址的唯一确定性,可以根据MAC地址查出使用该MAC地址的网卡,进而查出非法盗用者。

在Cisco中有以下三种方案可供选择,方案1和方案2实现的功能是一样的,即在具体的交换机端口上绑定特定的主机的MAC地址(网卡硬件地址),方案3是在具体的交换机端口上同时绑定特定的主机的MAC地址(网卡硬件地址)和IP地址。

1.方案1——基于端口的MAC地址绑定

思科2950交换机为例,登录进入交换机,输入管理口令进入配置模式,敲入命令:

Switch#config terminal

#进入配置模式

Switch(config)# Interface fastethernet 0/1

#进入具体端口配置模式

Switch(config-if)#Switchport port-secruity

#配置端口安全模式

Switch(config-if )switchport port-security mac-address MAC(主机的MAC地址)

#配置该端口要绑定的主机的MAC地址

Switch(config-if )no switchport port-security mac-address MAC(主机的MAC地址)

#删除绑定主机的MAC地址

注意:

以上命令设置交换机上某个端口绑定一个具体的MAC地址,这样只有这个主机可以使用网络,如果对该主机的网卡进行了更换或者其他PC机想通过这个端口使用网络都不可用,除非删除或修改该端口上绑定的MAC地址,才能正常使用。

注意:

以上功能适用于思科2950、3550、4500、6500系列交换机

2.方案2——基于MAC地址的扩展访问列表

Switch(config)Mac access-list extended MAC10

#定义一个MAC地址访问控制列表并且命名该列表名为MAC10

Switch(config)permit host 0009.6bc4.d4bf any

#定义MAC地址为0009.6bc4.d4bf的主机可以访问任意主机

Switch(config)permit any host 0009.6bc4.d4bf

#定义所有主机可以访问MAC地址为0009.6bc4.d4bf的主机

Switch(config-if )interface Fa0/20

#进入配置具体端口的模式

Switch(config-if )mac access-group MAC10 in

#在该端口上应用名为MAC10的访问列表(即前面我们定义的访问策略)

Switch(config)no mac access-list extended MAC10

#清除名为MAC10的访问列表

此功能与应用一大体相同,但它是基于端口做的MAC地址访问控制列表限制,可以限定特定源MAC地址与目的地址范围。

注意:

以上功能在思科2950、3550、4500、6500系列交换机上可以实现,但是需要注意的是2950、3550需要交换机运行增强的软件镜像(Enhanced Image)。

3.方案3——IP地址的MAC地址绑定

只能将应用1或2与基于IP的访问控制列表组合来使用才能达到IP-MAC 绑定功能。

Switch(config)Mac access-list extended MAC10

#定义一个MAC地址访问控制列表并且命名该列表名为MAC10

Switch(config)permit host 0009.6bc4.d4bf any

#定义MAC地址为0009.6bc4.d4bf的主机可以访问任意主机

Switch(config)permit any host 0009.6bc4.d4bf

#定义所有主机可以访问MAC地址为0009.6bc4.d4bf的主机

Switch(config)Ip access-list extended IP10

#定义一个IP地址访问控制列表并且命名该列表名为IP10

Switch(config)Permit 192.168.0.1 0.0.0.0 any

#定义IP地址为192.168.0.1的主机可以访问任意主机

Permit any 192.168.0.1 0.0.0.0

#定义所有主机可以访问IP地址为192.168.0.1的主机

Switch(config-if )interface Fa0/20

#进入配置具体端口的模式

Switch(config-if )mac access-group MAC10 in

#在该端口上应用名为MAC10的访问列表(即前面我们定义的访问策略)

Switch(config-if )Ip access-group IP10 in

#在该端口上应用名为IP10的访问列表(即前面我们定义的访问策略)

Switch(config)no mac access-list extended MAC10

#清除名为MAC10的访问列表

Switch(config)no Ip access-group IP10 in

#清除名为IP10的访问列表

上述所提到的应用1是基于主机MAC地址与交换机端口的绑定,方案2是基于MAC地址的访问控制列表,前两种方案所能实现的功能大体一样。如果要做到IP与MAC地址的绑定只能按照方案3来实现,可根据需求将方案1或方案2与IP访问控制列表结合起来使用以达到自己想要的效果。

注意:以上功能在思科2950、3550、4500、6500系列交换机上可以实现,但是需要注意的是2950、3550需要交换机运行增强的软件镜像(Enhanced Image)。

后注:从表面上看来,绑定MAC地址和IP地址可以防止内部IP地址被盗用,但实际上由于各层协议以及网卡驱动等实现技术,MAC地址与IP地址的绑定存在很大的缺陷,并不能真正防止内部IP地址被盗用。