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

 方法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——基于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——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)。华为交换机的配置:


 假设IP地址10.1.1.2,MAC地址0000-0000-0001


1、IP+MAC+端口绑定流程

 三层交换机中目前只有S3526系列支持使用AM命令来进行IP地址和端口的绑定。并且如果S3526系列交换机要采用AM命令来实现绑定功能,则交换机必须是做三层转发(即用户的网关应该在该交换机上)。

2、采用DHCP-SECURITY来实现

 1.配置端口的静态MAC地址

 [SwitchA]mac-address static 0000-0000-0001 interface e0/1 vlan 1

 2.配置IP和MAC对应表

 [SwitchA]dhcp-security 10.1.1.2 0000-0000-0001 static

 3.配置dhcp-server组号(否则不允许执行下一步,此dhcp-server组不用在交换机上创建也可)

 [SwitchA-Vlan-interface1]dhcp-server 1

 4. 使能三层地址检测

 [SwitchA-Vlan-interface1]address-check enable

3、采用AM命令来实现

 1.使能AM功能

 [SwitchA]am enable

 2.进入端口视图

 [SwitchA]vlan 10

 3. 将E0/1加入到vlan10

 [SwitchA-vlan10]port Ethernet 0/1

 4.创建(进入)vlan10的虚接口

 [SwitchA]interface Vlan-interface 10

 5.给vlan10的虚接口配置IP地址

 [SwitchA-Vlan-interface10]ip add 10.1.1.1 255.255.255.0

 6.进入E0/1端口

 [SwitchA]interface Ethernet 0/1

 7. 该端口只允许起始IP地址为10.1.1.2的10个IP地址上网

 [SwitchA-Ethernet0/1]am ip-pool 10.1.1.2 10