IP地址与MAC地址的关系: IP地址是根据现在的IPv4标准指定的,不受硬件限制比较容易记忆的地址,长度4个字节。而 MAC地址却是用网卡的物理地址,保存在网卡的EPROM里面,与硬件有关系,比较难于记忆,长度为6个字节。
虽然在TCP/IP网络中,计算机往往需要设置IP地址后才能通讯,然而,实际上计算机之间的通讯并不是通过IP地址,而是借助于网卡的MAC地址。IP地址只是被用于查询欲通讯的目的计算机的MAC地址。
ARP协议是用来向对方的计算机、网络设备通知自己IP对应的MAC地址的。在计算机的
ARJ缓存中包含一个或多个表,用于存储IP地址及其经过解析的以太网MAC地址。一台计算机与另一台IP地址的计算机通讯后,在ARP缓存中会保留相应的MAC地址。所以,下次和同一个IP地址的计算机通讯,将不再查询MAC地址,而是直接引用缓存中的MAC地址。
在交换式网络中,交换机也维护一张MAC地址表,并根据MAC地址,将数据发送至目的计算机。
为什么要绑定MAC与IP 地址:IP地址的修改非常容易,而MAC地址存储在网卡的EEPROM中,而且网卡的MAC地址是唯一确定的。因此,为了防止内部人员进行非法IP盗用(例如盗用权限更高人员的IP地址,以获得权限外的信息),可以将内部网络的IP地址与MAC地址绑定,盗用者即使修改了IP地址,也因MAC地址不匹配而盗用失败:而且由于网卡MAC地址的唯一确定性,可以根据MAC地址查出使用该MAC地址的网卡,进而查出非法盗用者。
目前,很多单位的内部网络,都采用了MAC地址与IP地址的绑定技术。下面我们就针对Cisco的交换机介绍一下IP和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地址被盗用。